Richard MacManus explaining Daniel Kehoe’s approach to building websites, which he calls “Stackless”:
There are three key web technologies underpinning Kehoe’s approach:
- ES6 Modules: JavaScript ES6 can support import modules, which are also supported by browsers.
- Module CDNs: JavaScript modules can now be downloaded from third-party content delivery networks (CDNs).
- Custom HTML elements: Developers can now create custom HTML tags, via Web Components.
Using a no build process and only features that are built into browser, and yet that still buys you a pretty powerful setup. You can still use stuff off npm. You can still get templating. You can still build with components. You still get isolation where needed.
I’d say today you’re:
- Giving up some DX (hot module reloading, JSX, framework doodads)
- Gaining some DX (can jump into project and just start working)
- Giving up some performance (no tree shaking, loads of network requests)
- Widening your hiring pool (more people know core technologies than specific tools)
But it’s not hard to imagine a tomorrow where we give up less and gain more, making the tools we use today less necessary. I’m quite sure we’ll always still find a way to jam more tools into what we’re doing. Hammer something something nail.
I remain absolutely baffled by the need for hot module reloading. The only reason I’ve seen it needed is when there is a lack of URL architecture and state management that translates into subpar web UX. Yet another DX bait and switch.
Wow! I despise it when I’m working on a website without it as part of the local development experience. Ideally, for me, the preview would update on every keypress (that doesn’t syntax error).
you can use webpack or rollup, solves all problems except jsx, which requires more setup
Polymer is a framework as well even if comes from cdn