On the current typescript / anti-typescript internet drama I saw someone mention javascript without a build step.

Do you think we’re already there?

Last time I attempted it:

  • there were too many libraries I couldn’t import
  • JSX (using babel) had a warning saying you shouldn’t do it in the browser for production
  • there was some advice against not using a bundler, because several requests for different .js files is slower and bigger than a bundled package
You are viewing a single thread.
View all comments View context
8 points
*

When there’s no build step, all the time is spent coding. None of it is spent configuring or setting up.

The 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 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.

permalink
report
parent
reply
6 points

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.

permalink
report
parent
reply
3 points
*

Sure, all I’m saying is every layer has major cost, and JS development has a lot of layers. Corporate websites can financially and time-wise afford that complexity cost when the benefits are scaled across millions of users.

But its a problem when the first result of YouTube tutorials for a one page To-do app uses a pipeline as conceptually* deep as:

  • name resolution (node modules and unpinned versions)
  • then compiling uncompiled dependencies
  • then Vue/Sevlte to TS or JS + source maps
  • then TSX to TS
  • then TS + config options + feature flags to JS+source map
  • then JS transpile CommonJS to ES imports
  • then JS through babel for polyfills (and more source maps)
  • then JS through tree shaking
  • then JS through an uglifier (and more source maps)
  • then combine JS into one file of JS (more source maps)
  • then hydration for SSR
  • then start a hot reloading dev server
  • then user can render

I think OP is asking if it’s possible for a good (no jQuery, no global varnames, etc) Todo app to work without needing all that.

permalink
report
parent
reply
-2 points

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.

permalink
report
parent
reply
4 points
  • 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)
permalink
report
parent
reply

Programming

!programming@programming.dev

Create post

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person’s post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you’re posting long videos try to add in some form of tldr for those who don’t want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



Community stats

  • 3.1K

    Monthly active users

  • 1.8K

    Posts

  • 30K

    Comments