The full video from the presentation
My conclusion: look for the following features in the web framework of the future
- DOM abstractions (virtual dom inside a separate web worker)
- Modular design for smaller size (ES6 modules for tree shaking)
- Hydration for quick start ups (via ServiceWorker)
- Offline support (via DB synch or via offline-supporting API)
- Reactive streams to handle multiple async events
- Functional purity (pays off in testability and reuse)
- Real time support (to be compatible with real time backends and Internet of Things devices)
- Simple to try (a framework should be simple to host inside another framework)
Finally, you should pick the framework that makes your entire team productive and happy.
Below are links to the additional information mentioned in the slides.
Comparing web frameworks
- Angular 2 Vs. React
- Angular 2 versus React: There Will Be Blood
- Unidirectional data flow architectures
- Eating popcorn image
- component-check is a great resources. It explores in detail how components can be created in several frameworks.
- Front-end Hyperpolyglot
- Good video comparing Angular 1, Angular 2, Polymer, React, Aurelia and Ember.
Comparing X vs Y performance
- From a React point of Vue...
- A fairer Vue of React
- Angular + React = Speed by Dave Smith
- Angular plus React equals Speed revisited
Comparing performance to native DOM and vanilla JS
Framework user interface speed (Web Workers)
- Car speedometer image
- Web Workers presentation
- Browser database comparison
- Pokedex architecture
- React Custom Renderer using Web Workers
- Using Web Workers for more responsive apps – Jason Teplitz
- Running cheetah image
- Picture of the planet sizes
- Pokedex bundle sizes
- The cost of frameworks
- The Website Obesity Crisis
- Feather app hosted at http://feather.surge.sh/
- Not tested - not included!
- Code coverage proxy was-tested
- Tree-shaking using tool Rollup
- Picture of water splash
- Hydration example source code and demo, hydrate librart code
- Hydration using ServiceWorker
- Signal unavailable image
- CouchDB - database behind NPM registry
- What can PouchDB sync with?
- Hoodie is offline-first, no backend architecture for web apps.
Functional reactive programming
- Plastic tubes image
- MVC to FRP presentation
- RxJs is part of the Reactive extensions
- Example rewriting small page using jQuery as isolated Cycle.js
- Chess image
- Data flow inside simple Cycle.js counter draw-cycle
- Real time backends