TikTok-eier ByteDance klar med Rspack – 10 ganger raskere enn webpack

Nå er versjon 1.0 av Rspack lansert, og den lynraske JavaScript-bundleren lastes ned 100.000 ganger i uken.

Rspack er ute i versjon 1.0 og skal være kompatibelt med webpack. 📸: Kurt Lekanger
Rspack er ute i versjon 1.0 og skal være kompatibelt med webpack. 📸: Kurt Lekanger Vis mer

Det kinesiske IT-selskapet ByteDance er her i Norge mest kjent for å stå bak TikTok-appen, men selskapet lager også programvare basert på åpen kildekode.

Nå har ByteDance lansert Rspack v1.0, som de kaller en "neste-generasjon JavaScript-bundler skrevet i Rust".

Det har vært laget mange andre bundlere i et forsøk på å lage noe raskere og bedre enn webpack, som for eksempel Parcel, Rollup, esbuild og Turbopack.

Fordelen med Rspack skal imidlertid være at den er kompatibel med webpack-APIene.

100.000 ukentlige nedlastinger

Rspack er åpen kildekode (MIT-lisens) og allerede i utstrakt bruk internt i ByteDance. Men bundleren har også blitt tatt i bruk av mange andre etter at versjon 0.1 ble publisert for 18 måneder siden.

– Rspacks antall ukentlige nedlastinger på npm har passert 100.000, skriver Rspack.

Blant selskapene som nå bruker Rspack nevnes Microsoft, Amazon, Alibaba, Bit.dev, Discord, og flere andre – i tillegg til ByteDances egne tjenester.

I tillegg til bundleren Rspack har ByteDance for øvrig også laget et tilhørende byggeverktøyRsbuild, som er en konkurrent til blant annet Vite.

Den anbefalte måten å prøve ut Rspack på er via Rsbuild:

npm create rsbuild@latest

Ti ganger raskere

Siden versjon 0.1 ble sluppet har Rspack fått en masse forbedringer og ny funksjonalitet.

Ettersom bundleren er skrevet i Rust skal den være 10 ganger raskere enn webpack, og i mange tilfeller enda raskere. Den har også fått såkalt lazy compilation som skal gi bedre ytelse i store prosjekter.

Her er Rspacks egen sammenligning av byggetid for Rspack 0.1, 1.0 og webpack:

📸: Rspack
📸: Rspack Vis mer

Og hvis ikke dette er kjapt nok, skal det fortsatt være rom for å optimalisere ytelsen ytterligere.

– Etter 1.0-lanseringen har vi planer om å forbedre ytelsen mange ganger for å bedre støtte storskala-applikasjoner, skriver selskapet.

Bedre webpack-kompatibilitet

Da Rspack 0.1 ble lansert som åpen kildekode for atten måneder siden var ikke veldig mange webpack-API-er og hooks på plass ennå, noe som gjorde at kompatibiliteten med webpack-plugins og loadere var begrenset.

Dette skal imidlertid ha blitt mye bedre nå, og ifølge Rspack er bundleren kompatibel med nesten alle loadere. Og mer enn 80 prosent av de mest nedlastede webpack-pluginene skal kunne brukes i Rspack – eller ha alternative plugins.

Støtten for ulike rammeverk og biblioteker har blitt mer omfattende enn før, og inkluderer blant annet React, Preact, Vue, Solid, Svelte og NestJS.

Ellers nevner vi også at bundlestørrelsen du ender opp med har blitt mindre enn i tidligere versjoner, og nå skal være like liten eller mindre enn webpack. Men, ifølge Rspack, med en bedre utvikleropplevelse (DX).