Live data from Hacker News

Vite 3.0

vitejs.dev

31–40 of 202 posts

Re: Vite 3.0

#31
> We decided to release a new Vite major at least every year

Isn’t this exhausting?

Is it impossible to design good contracts without having to break compatibility every year?

In most other language ecosystems it would convey incompetence.

Re: Vite 3.0

#32

The landing page of Vite claims "Next Generation Frontend Tooling" but then go on to describe features that already have been existing for a good while (multiple years). What exactly is the "next generation" part here? The composition? That's also not new, so I think I'm either missing something very obvious, or they need to do a better job explaining how Vite is actually different.

Vite bundles your app for prod, but not for dev.

While all previous ones, bundled for both dev and prod. This is what makes vite a different generation. And results in massive performance boost for dev "build" And HMR

Re: Vite 3.0

#33
post #31

> We decided to release a new Vite major at least every year Isn’t this exhausting? Is it impossible to design good contracts without having to break compatibility every year? In most other language ecosystems it would convey incompetence.

why are you assuming that a major release breaks compatibility?

Re: Vite 3.0

#34

I had no idea so many other frameworks are using Vite as their default. Event server-side frameworks are picking it up! Has Webpack really been dethroned as the go-to bundler?

Webpack hasn't been dethroned, but it certainly has a competitor.

Re: Vite 3.0

#35

I tried using ESBuild directly for a small web app and it seems pretty nice. What would using Vite on top of it give me?

In my experience, Vite offers a better onboarding process and has a more straightforward configuration format compared to ESBuild. You also get most of rollup's plugin ecosystem and a large amount of community tools made specifically for Vite (Vitest, ViteBook, vite-plugin-pwa, etc...). Also, I might be wrong about this but I don't think ESBuild has HMR, which really speeds up development.

Overall, ESBuild feels like a much lower-level tool than Vite. It's great for smaller projects or projects that require absolute and complete control over their builds, but it takes more time to setup in most cases and often requires writing your own build scripts.

Re: Vite 3.0

#36

I know that this is all about Vite but if you like Vite, I want to give a shout-out to Parcel[0] as well. Its a very similar philosophy, built on top of SWC[1] and has its own set of great optimizations. I've regularly gotten smaller overall bundle sizes with parcel than with Vite (though that gap is very narrow now) in my experience. I wish Parcel got more mention, especially in the React community (where it shines…

Parcel has been praised on here many times when it originally came out. I was an avid user but the nail in the coffin was the horrid and long release of v2 which took forever, the docs were in disarray, and overall just left a bad taste in my mouth. I also think there was some common issue where v1 didn’t support some version of postcss for quite some time and I and many others jumped ship to vite.

Re: Vite 3.0

#37
post #31

> We decided to release a new Vite major at least every year Isn’t this exhausting? Is it impossible to design good contracts without having to break compatibility every year? In most other language ecosystems it would convey incompetence.

why are you assuming that a major release breaks compatibility?

Because that's the meaning of major version number. Additionally JS/npm modules are supposed to follow semver, and you increment the major version when you break compatibility.

I get it, Linux does its own thing with versions, and so do browsers, so it's hip to just increment major whenever you feel like it apparently.

EDIT: LOL at people downvoting GP because they dared to wonder if the frontend world needs another bundler shipping a non-compatible major version at least once a year. Stockholm Syndrome I guess, who doesn't want to update their configuration and see their plugins break every year?

Re: Vite 3.0

#38
post #16

It just hit me. The web produces bad UI. I saw a demo of Alan Kay showing a smalltalk environment from the 70s. Wow, we haven't even caught up to that yet.

Yep, web UI work is generally worse (more effort for worse results) than other application UI work. Styling is nicer than on most other platforms but with any decent UI toolkit you shouldn't be doing much styling anyway.

The Web's main problem is that to the extent that it has a UI toolkit, it's god-awful. We should have spent all this time since it became clear "web apps" aren't going away strengthening HTML, and especially the various form elements (better tables and some kind of list view like other platforms have would be great, too).

Instead it's largely stuck in place, and we hack in poor-performing custom half-broken elements that are different on every site, wasting absolutely incredible amounts of both developer and user time. Truly, the time-cost to humanity of web UI's inadequacy is huge.

Re: Vite 3.0

#39
post #31

> We decided to release a new Vite major at least every year Isn’t this exhausting? Is it impossible to design good contracts without having to break compatibility every year? In most other language ecosystems it would convey incompetence.

why are you assuming that a major release breaks compatibility?

That’s what semantic versioning is:

https://semver.org/ https://docs.npmjs.com/about-semantic-versioning

Re: Vite 3.0

#40
post #37

Earlier quoted context omitted.

why are you assuming that a major release breaks compatibility?

Because that's the meaning of major version number. Additionally JS/npm modules are supposed to follow semver, and you increment the major version when you break compatibility. I get it, Linux does its own thing with versions, and so do browsers, so it's hip to just increment major whenever you feel like it apparently. EDIT: LOL at people downvoting GP because they dared to wonder if the frontend world needs another…

How do you know they use semver? Major version is just a marketing thing for many frameworks. Node is one of them too.

Even Go, one of the most boring (in the good sense) languages, considered to do the same thing at some point (when included generics).

Post reply on HN