In the beginning it was just server side rendering.
< 2015
- Jquery + Ajax + Jquery UI
- Backbone, ember, Knockout, bower
- require.js, bower, gulp
- Coffeescript, GWT
- Mustache, server side javascript, streams
- promises, observables
- Less, bootstrap
After 2015
- React, Angular, Ractive
- Websockets
- ES6
- CSS-in-JS, postcss
- Webpack
- NativeJS, React Native, Electron
Now
- Typescript
- Tailwind
- async rendering + hydration
- GraphQL
- svelte, webcomponents
- Web3
- Wasm
- Turbolinks, htmlx, unpoly
- ES6 modules
These days server side rendering seems to far more sane, given that it has great SEO and fast development cycles without webpack. Webcomponents and ES6 modules also seem to make using plain old script tags fun again. If only webcomponents were released 20 years ago!