- Svelte/Vue/React components need to be compiled
- JavaScript should be minified if the project has a significant size
- File names should have a content hash, so they can be cashed in the browser
- Even with HTTP/2, there’s still a case to be made for bundling hundreds or thousands of JS modules into a single file for better performance
- Bundlers give you a dev server with live reload and hot module replacement for great developer experience
- Setting up Vite is really easy and requires minimal configuration (compared to Webpack, for example)
Comment on Are we ready for javascript without a build step on the front end in 2023?
jeffhykin@lemm.ee 1 year agoThe hardest part of any software class in my experience is the triple combo of:
- installation
- "well it works on my machine" and
- "well this code worked for last semester’s class"
When there’s no build step, all the time is spent coding. None of it is spent configuring or setting up.
When I have students start off editing one html file using pinned URL imports, the reliability is just insane. People might claim “installing typescript is reliable” but doesn’t even come close to the reliability of not having a build step at all. No build step Just Works™, no M1 Mac edgecases, no npm audit, no rm rf node_modules.
aloso@programming.dev 1 year ago
Swiggles@lemmy.blahaj.zone 1 year ago
You always have linter steps, testing etc and a competent developer should be able to deal with all that. Of course you don’t start with all this with new students, but I don’t think that is what this post is about.
jeffhykin@lemm.ee 1 year ago
Sure, all I’m saying is every layer has major cost, and JS development has a lot of layers. It’s a problem when new devs find a YouTube tutorial for a one page To-do app that uses a pipeline as deep as:
I think OP is asking if it’s possible for a good Todo app to work without needing all that.
Swiggles@lemmy.blahaj.zone 1 year ago
And the simple answer is no. You can remove a layer here and there, but this is what the modern dev environment looks like.
I mean sure you can implement all that yourself and carry all the extra cognitive load, but it is not productive to even skip babel or so. There is no point, but the challenge.
Of course it is a bit more complicated to pick the right tools and you don’t have to use everything, but that’s a whole different discussion.
jeffhykin@lemm.ee 1 year ago
I would disagree; we can and I have done it myself.
There’s more to software than big corporate websites or massive FOSS projects. I’ve made tons of little one-html-file sites, like an inflation-adjustrd income calculator, a scheduling app I’ve used every week for 4 years, a chemistry converter/calculator for a class I was in, even my resume site is just a single html file. Not only that but most of my deno modules are nothing more than a main.js, a readme, and a gitignore.
You don’t need tests, and a linter, and babel, and tree shaking, and JSX, and typescript, and souce maps just to make a resume site, or an infographic, or a one-off internal dashboard, or a simple blog, or a restraunt menu.