The First Real Webpack Alternative (Written in Rust!)

Поделиться
HTML-код
  • Опубликовано: 11 янв 2025

Комментарии • 273

  • @andrewshorts1198
    @andrewshorts1198 6 месяцев назад +241

    the rust slogan
    "Making Javascript better one step at a time".

    • @diadetediotedio6918
      @diadetediotedio6918 6 месяцев назад +12

      The web slogan:
      "Making javascript better one runtime at a time"

  • @JayStothard11
    @JayStothard11 6 месяцев назад +33

    We moved to Rspack in prod about 6 months ago, purely because we needed the performance improvement but didn't have time to migrate to another solution. The 1:1 mapping from webpack make things really easy. It's not all been perfect, but it's been such a big uptick in performance that it's been completely worth the migration. Glad to see it reach 1.0 now too!

    • @emamazen
      @emamazen 5 месяцев назад

      This is very encouraging, I've been stuck migrating a large legacy app to vite for weeks! Hopefully the journey with rsbuild be smoother

    • @zzzyyyxxx
      @zzzyyyxxx 3 месяца назад

      What parts were imperfect just curious?

  • @benheidemann3836
    @benheidemann3836 6 месяцев назад +88

    Regarding the “rust multi-threading” is bad comment, I would like to address the confusion between async and multi-threading. These are not the same, and you can have async without multi-threading or visa versa. I do agree, async could be better, and there are several efforts to try and improve this for end users in the works. However, the multi-threading support in Rust is extremely good in my experience, and certainly better than JS/TS. Crates like Rayon will take you surprisingly far, and often result in near identical code to the single-threaded version but with X times the performance.

    • @mirsella6204
      @mirsella6204 6 месяцев назад +14

      for real, i don't understand why he's saying multiple time multi threading is hard in rust. Fearless concurrency. async yes, multithreading is really good imo

    • @muhammadmejanulhaque3305
      @muhammadmejanulhaque3305 6 месяцев назад +1

      That's interesting. Thanks for sharing. I am new to rust and used only tokio so far for our backend server. This is something good to know.

    • @LtdJorge
      @LtdJorge 6 месяцев назад +3

      He keeps making the same mistake again and again…

    • @bariqdharmawan6604
      @bariqdharmawan6604 6 месяцев назад +2

      He definitely didn't know the difference between multi tread and async

    • @hfspace
      @hfspace 6 месяцев назад

      I think his comparison of multithreading concepts in different languages is heavily influenced by his experience with elixir (and not js/ts), so i think to criticise him, you should compare it to the model of rust

  • @pedroalonsoms
    @pedroalonsoms 6 месяцев назад +277

    webpack, parcel, rollup, vite, babel, snowpack, turbopack, rspack…
    8 tools to do the same job, that’s how you know we’re on JavaScript

    • @thekwoka4707
      @thekwoka4707 6 месяцев назад +59

      Well, babel isn't a bundler, webpack uses it to transform stuff. Vite uses rollup to bundle.
      But it's not bad that people want to make tools better.

    • @FrankAn-io7bz
      @FrankAn-io7bz 6 месяцев назад +9

      There is too much stuff. Fortunately, I didn't study front-end.

    • @brenoepic6946
      @brenoepic6946 6 месяцев назад +7

      Rolldown for vite soon too

    • @chinesesparrows
      @chinesesparrows 6 месяцев назад +9

      As if backend doesn't have several different options "for the same thing"? As long as standards are kept, constant improvement of multiple options is better for all of us. So much was made from wandering experimentation

    • @binh1298ify
      @binh1298ify 6 месяцев назад +12

      Imagine complaining about innovation

  • @SeanCassiere
    @SeanCassiere 6 месяцев назад +18

    Zack is a legend! Hopped on an hour long call last week helping me figure out the code-splitting story for TanStack Router.

  • @joshuathomasbird
    @joshuathomasbird 6 месяцев назад +51

    re threading in rust; the entire point of rust is to be unopinionated about how threading and event loop works; its not in the standard library *intentionally* in order to enable alternate implementations optimised for eg for embedded systems

    • @autohmae
      @autohmae 6 месяцев назад +1

      That already makes clear that threading probably isn't easy and should just be deferred.

    • @dealloc
      @dealloc 6 месяцев назад +4

      I'm pretty sure the reason there is no async runtime is because there has been no consensus on what the API should look like. Libraries like tokio and async-std were created initially as proof of concepts, and eventually evolved into their own split ecosystems.
      As for threading, there _is_ built-in API in the Rust standard library. But it doesn't support everything you may want out of cases threading outside of spawning, joining and passing data between threads (through a separate API, mpsc). This may be fine in some cases, but for larger scale where you also may also need to run async executions, you'd reach for something else that supports that, but it's often a buy-in (like Tokio).

    • @shadowangel-ou6bg
      @shadowangel-ou6bg 6 месяцев назад +7

      That's async, std does have threading support.

    • @tablettablete186
      @tablettablete186 6 месяцев назад +1

      What? Threads are in the std... I even made (yet another) thread loop implementation only using std.

    • @AfterDarknes
      @AfterDarknes 6 месяцев назад

      @@autohmae It is not like in elixir and its friends you implement threading yourself, but you also defer it.

  • @ricky2629
    @ricky2629 6 месяцев назад +245

    Maybe in a few years Js devs will rewrite their backend in a actually performant language too.

    • @jacobroling2287
      @jacobroling2287 6 месяцев назад +1

      A man can only dream... still, this is useful either way since we need to bundle our frontend code/assets anyway.

    • @wshewm
      @wshewm 6 месяцев назад +13

      Yeah we should honestly all just write assembly code for everything right?
      …….
      The most performant solution does not always mean best solution

    • @_vk03
      @_vk03 6 месяцев назад +2

      And i hope it wont be in javascript..
      Why are people still coding in javascript.
      oh i forgot mean the website makers xoesnt have any altetnative for frontend..

    • @skeleton_craftGaming
      @skeleton_craftGaming 6 месяцев назад +1

      I don't know. Going from JavaScript to C++ is kind of going to be a little bit of Shell shock...

    • @User-83js7vaby
      @User-83js7vaby 6 месяцев назад

      The thing isy they do nowadays. WASM Frontend frameworks are vastly available. ​@@_vk03

  • @moodynoob
    @moodynoob 6 месяцев назад +9

    The reason why I love Rspack/Rsbuild is its practicality - a mostly easy migration story from Webpack, while offering good performance. I really don't give a crap about other more performant solutions when every company I've worked in has miserably complex Webpack config!

  • @infantfrontender6131
    @infantfrontender6131 6 месяцев назад +13

    I think we aren't have bundlers fatigue. In frontend, people usually use Vite and Webpack for production. Why? Because they're trusted
    Webpack (Old but gold)
    Parcel (Not so popular. Author spends more time on LightningCSS)
    Rollup (More often you can see Rollup as a part of something more complex, like Vite)
    Snowpack (Not maintained anymore. Author made Astro)
    ESBuild (More often you can see ESBuild as a part of something more complex, like Vite)
    Vite (That's the way)
    SWC (More often you can see SWC as a part of something more complex, like plugins for Vite or Webpack)
    Turbopack (Still waiting for production)
    Rolldown (Not ready. WIP)
    RSPack (Public alpha)
    Bun (Bun no longer has a dev server and its bundler is largely an ESBuild Zig port)
    Farm (As Vite but in Rust. Not so popular)

  • @thekwoka4707
    @thekwoka4707 6 месяцев назад +23

    teh vite build comparison wasn't quite fair, since it was also doing type checking..

  • @rand0mtv660
    @rand0mtv660 6 месяцев назад +4

    13:40 "it was an attempt..." sounds like Biome isn't being worked on anymore. Biome is active and is the replacement for ESLint and Prettier. It won't be a replacement at the moment if you have lot of custom ESLint rules or rely on some specific typescript-eslint rules for example, but for many projects it is a suitable replacement today and is an awesome tool.
    I would highly recommend checking it out for anyone looking for a way faster ESLint and Prettier alternative.

    • @zayne-sarutobi
      @zayne-sarutobi 6 месяцев назад

      It lacks so many things coming from Eslint and prettier that it's not replacing anything currently, at least for me
      If anything I just use if for import sorting at the very least, since if seems to be pretty fast at that (albeit with some weird bugs)

    • @rand0mtv660
      @rand0mtv660 6 месяцев назад

      @@zayne-sarutobi what exactly are the things you are lacking from Prettier for example? My experience replacing Prettier with Biome has been awesome and I don't even have to use a plugin for import sorting anymore since Biome has that built in.
      But as I've said, it's not a replacement for all projects.

  •  6 месяцев назад +2

    We've switched to Rspack in production for one legacy custom create react app config (with custom aliases, styled components, sass) in my squad. The gains compared to CRA were insane, build times dropped by at least 60%. All of that with a very easy migration (done in a single PR with around 200 lines changed). We've tried to migrate to Vite in the past, but that came with a huge pain due to the needed webpack interop. Rspack is a great alternative to projects where a migration to Vite is hard and Webpack compatibility is needed (e.g.: for module federation usage).

  • @RetoonHD
    @RetoonHD 6 месяцев назад +44

    I don't think rust's multithreading is hard at all... compared to like c/c++. You also don't HAVE to use async or tokio for multithreading, unless you do so much io workload that it makes sense.

    • @krumbergify
      @krumbergify 6 месяцев назад +2

      Agreed. Making all resources have a single owner is a good design in C++ too.

    • @anonymousalexander6005
      @anonymousalexander6005 6 месяцев назад +7

      @@krumbergifyRust’s model has been the best practices of C++ for eons now, I don’t get how people are pretending like Rust isn’t easier than Java or even C# it’s not even close.

    • @lx2222x
      @lx2222x 6 месяцев назад +2

      ​@@anonymousalexander6005 Good luck trying to make a project with many bidirectional dependencies. Rust is the worst language for that

    • @Luxalpa
      @Luxalpa 6 месяцев назад +8

      @@lx2222x What do you mean "bidirectional dependencies"? Rust is like the only language that exists that even fully allows import cycles.

    • @daphenomenalz4100
      @daphenomenalz4100 6 месяцев назад

      ​@@lx2222x??

  • @franciscokloganb
    @franciscokloganb 6 месяцев назад +2

    Been using RSpack for a month now since 0.7, onboarded quite easy and includes some sane defaults (that you can opt out) for some common builds like react. Pretty much what Vite does.

  • @TJChallstrom916-512
    @TJChallstrom916-512 6 месяцев назад +62

    As a Rust dev (and a begrudging FE dev) this is so exciting. I love oxidizing my stack as much as possible.

    • @gebys4559
      @gebys4559 6 месяцев назад +1

      You're a front end rust dev? I've heard there's at least 10 of you out there in the wild.

    • @daphenomenalz4100
      @daphenomenalz4100 6 месяцев назад

      ​@@gebys4559 probably no, currently it's not worth using rust for frontend.

    • @dyto2287
      @dyto2287 6 месяцев назад +6

      @@gebys4559 Most rust devs are just frontend devs who think they are real engineers. It's makes me cringe when you see the code they write and how much they typemasturbate with rust.

    • @theLowestPointInMyLife
      @theLowestPointInMyLife 6 месяцев назад +4

      @@dyto2287 i see the opposite, the worst offenders for type masturbation are actually js devs with no low level background

    • @Seedwreck
      @Seedwreck 6 месяцев назад +2

      Don't let tech tubers convince you front-end sucks! Its just as capable as the back, its just people code larger scale stuff in the back

  • @itsmenewbie03
    @itsmenewbie03 6 месяцев назад +12

    Rust mentioned let's go!!!!!

  • @cod3r1337
    @cod3r1337 6 месяцев назад +8

    Jesus, we are only just in the process of migrating to esbuild from WebPack. Are you telling me we are alread betting on the wrong horse AGAIN?

    • @YoungKupus
      @YoungKupus 6 месяцев назад +2

      Welcome to the world of Javascript where you can never truly master any tool/library/framework/etc. because things constantly shift and move

    • @zackjackson9674
      @zackjackson9674 6 месяцев назад +2

      Yes

    • @marcuss.abildskov7175
      @marcuss.abildskov7175 6 месяцев назад +1

      You should be migrating to Vite lol

  • @dyto2287
    @dyto2287 6 месяцев назад +7

    JS has no compilers so it's never will be faster than Rust compiler. JS only has transpilers and bundlers.

  • @thekwoka4707
    @thekwoka4707 6 месяцев назад +5

    aside from node_modules bloat for binaries, it's also potentially insecure. Especially on something like npm that doesn't verify the package in the registry was built from the listed source code...

    • @husanaaulia4717
      @husanaaulia4717 6 месяцев назад

      So, we need to use cargo to build them🔥

    • @zackjackson9674
      @zackjackson9674 6 месяцев назад +1

      We are enabling package provenance on npm which is designed to safeguard this type of thing

    • @neverland_jait
      @neverland_jait 6 месяцев назад

      @@zackjackson9674 Yeah, @rspack/core has enabled npm provenance and other packages soon

    • @autohmae
      @autohmae 6 месяцев назад

      Also means you get architecture specific builds, maybe this is where WASM fits in ?

  • @Luxalpa
    @Luxalpa 6 месяцев назад +6

    multithreading in Rust is fine. Async is ok, could be better.

  • @tilmanroeder609
    @tilmanroeder609 6 месяцев назад

    If you want nice multi-threading: OCaml is shipping an effect runtime in version 5, with plans to introduces typed algebraic effects; which basically give you the power to build async await etc in user space (but also in a way that avoids the colored function problem because you can be generic over the color of the functions you take)

  • @deAtog
    @deAtog 6 месяцев назад +1

    I'm a big fan of Webpack, but the build process can be quite slow at times. Webpack 5 has improved this a bit, but external plugins and tools can still slow it down. As much as I like Webpack, I absolutely loath configuring it. For that task, I have switched to using the symfony/webpack-encore library provided by the Symfony PHP project. By default it is configured to split scripts based on entrypoints and generate a manifest file that maps assets generated to each individual entrypoint. The manifest file requires special handling on the server side to include the necessary assets for the given entrypoint/page. This of course isn't needed for single page apps as everything is either bundled together or you use Webpack's built-in script loader. Plugins are available for various server-side frameworks that simplify injecting the necessary assets into a page.

  • @autohmae
    @autohmae 6 месяцев назад +1

    5:56 build Docker/OCI containers and just deploy the old container from your registry.

  • @tuna5618
    @tuna5618 6 месяцев назад +12

    The biggest downside of rust is that it keeps making javascript faster which means javascript devs have less reason to switch away from javascript and to rust. Javascript can't keep getting away with this!!!

    • @daphenomenalz4100
      @daphenomenalz4100 6 месяцев назад +1

      Rust becomes the hidden hero one day, making Js shine even more 🤣

    • @Seedwreck
      @Seedwreck 6 месяцев назад

      You will never see JS die in our lifetime.

  • @dealloc
    @dealloc 6 месяцев назад +1

    Whats hilarious about Farm is that they claim to be compatible with Vite... except for the fact that it has an entirely different configuration schema, and missing a ton of actual useful options-have two different properties to define plugins, one for Farm-specific ones and another for Vite-which doesn't work well, either. Most of what makes Vite great is not just the dev environment, but also the use of Rollup for production builds. It's easier to configure than webpack, and often provides as good if not better results with less configurations and plugins. It just works.
    I can see Rspack and Rolldown as actual useful solutions to bundling, if they come to fruition. SWC is a good ESBuild alternative, but honestly I don't see that major benefits other than being a API that provides APIs for dealing with JavaScript source code in Rust. For that you could also just use Biome's crates.

  • @akashkarmakar5798
    @akashkarmakar5798 6 месяцев назад +2

    dude this is insane
    I am working on a internship at a company
    Just for testing i changed the build tool from vite to rsbuild the difference
    vite build time :- real 1m24.612s
    rsbuild build time :- real 0m12.510s
    Laptop specs: Ryzen 3 - 4 cores 25W processor, 16 GB RAM
    To mind you this is a huge code base like very very huge.

  • @TheTmLev
    @TheTmLev 6 месяцев назад +10

    Rust is the only major programming language that won't compile code with data races in it. Rust's threading model is great.

    • @BosonCollider
      @BosonCollider 6 месяцев назад +1

      This. Async await has a bunch of paper cuts, but plain threaded Rust is amazing.
      Also, if you are using tokio, imho the most important pattern to use is to confine async to the parts that do IO only, and then use channels to batch stuff together. Since tokio channels have both a synchronous and an async API the rest of the application can just be a pool of threads running synchronous code that pulls work from the channels.

  • @konrazem
    @konrazem 6 месяцев назад +2

    we just moved to rsbuild and we are very very happy developers now 😁😁❤❤

  • @pedroalonsoms
    @pedroalonsoms 6 месяцев назад +15

    i mean at this point even my mom is getting a rewrite in Rust by some random dude on github

    • @MrJester831
      @MrJester831 6 месяцев назад +7

      I'd rebase that

    • @ark_knight
      @ark_knight 6 месяцев назад +3

      push request? anyone?

    • @MrJester831
      @MrJester831 6 месяцев назад +4

      @@ark_knight forkakke

    • @tuna5618
      @tuna5618 6 месяцев назад +4

      She'll be able to give hugs and bake choc-chip cookies 25x as fast.

    • @ark_knight
      @ark_knight 6 месяцев назад

      @@tuna5618 jet set radio future - birthday cake

  • @Soradark2
    @Soradark2 6 месяцев назад +2

    Please talk about Module Federation, v2.0 was release not too long ago.

  • @wizkid22
    @wizkid22 6 месяцев назад

    I have worked with Zack a while back. He is the guy that wrote module federation in webpack and got it working in Next

  • @theLowestPointInMyLife
    @theLowestPointInMyLife 6 месяцев назад +3

    rsbuild is what you want, its a better DX built on top of rspack

  • @JLarky
    @JLarky 6 месяцев назад +8

    What do you mean webpack doesn't do HMR? That's like the OG HMR implementation? :)

    • @azizsafudin
      @azizsafudin 6 месяцев назад +4

      First time watching a Theo video?

  • @yashsolanki069
    @yashsolanki069 6 месяцев назад +4

    Let's go 300k subs 📈

  • @rafaeldeleon3386
    @rafaeldeleon3386 6 месяцев назад

    Zack is cool. He kick started micro front end via Module Federation in webpack.

  • @cerulean3910
    @cerulean3910 6 месяцев назад +2

    are you only making the rspack video now that farm's out of beta?

  • @GmailNexus
    @GmailNexus 6 месяцев назад +2

    What about makojs?!

  • @dogfrogfog
    @dogfrogfog 6 месяцев назад +1

    know this guys, he is awesome

  • @navanshu
    @navanshu 6 месяцев назад

    Started using rspack when it was just 0.2, it only difficult only when I had to migrate to version 0.4, but everything else is super fast and amazing

  • @shaheershakir
    @shaheershakir 6 месяцев назад +3

    why no peace Nerds Today

  • @tranquangthang8897
    @tranquangthang8897 6 месяцев назад +1

    what is that tmux up time man 😅

  • @dev-akeel
    @dev-akeel 6 месяцев назад +1

    I'll read that (docs whatever) myself.

  • @mrrolandlawrence
    @mrrolandlawrence 6 месяцев назад +1

    i moved to vite long ago. not moving again. 2024 is the year of build tools it seems.

  • @roguealien666
    @roguealien666 6 месяцев назад +1

    I did bundle split in webpack but was way cooler, faster to do it with gulp. I miss gulp and don’t miss it at the same time

  • @yu-wl9zj
    @yu-wl9zj 6 месяцев назад +1

    farm has completed the incremental build feature. You can try it. It is faster.

  • @ashish_prajapati_tr
    @ashish_prajapati_tr 6 месяцев назад

    Hey theo, what's that "time" command that you are prefixing with? I wanna know it too.😮
    Rspack is sure awesome.

  • @moofymoo
    @moofymoo 6 месяцев назад

    as long as we get one new build tool per week javascript is not dead!

  • @ryzzlas
    @ryzzlas 6 месяцев назад +3

    Official TS Server in Rust, when?

  • @HumanityAsCode
    @HumanityAsCode 6 месяцев назад +1

    Theo seems to conflate async and multithreading frequently

  • @autohmae
    @autohmae 6 месяцев назад

    14:23 that's an aside... but also a problem ? Also question: are we shipping lots of Rust that needs to be compiled per architecture or are we also getting WASM ?

    • @zackjackson9674
      @zackjackson9674 6 месяцев назад

      Compiled per architecture because that’s faster than wasm. But rspack can compile to wasm too. I’m busy setting up a cloudflare worker that will let rspack bundle modules on demand

  • @anon_y_mousse
    @anon_y_mousse 6 месяцев назад

    Personally, I never found threads to be all that difficult and most of the time I was using pthreads for my threading purposes. Now that C11 added threads to the standard library and the implementation I'm using, gcc on Linux, basically just thinly wraps pthreads anyway and I have to add -lpthreads to the linker options if I use them. So I'm not sure why so many people complain about threading. However, I do wish that we could replace the entirety of the web infrastructure. Just completely wipe out HTML/CSS/JS and start from scratch. It'd be nice if bundlers weren't a thing and instead a webpage could just be simpler than they are now but provide similar functionality. Something akin to a web browser scripting a UI library instead of attempting to implement an entire OS inside of the already running OS.

  • @xyzzy12345
    @xyzzy12345 6 месяцев назад

    When is Cypress's turn to be rewritten in Rust?

  • @MahirAlamTohan
    @MahirAlamTohan 6 месяцев назад

    what about next js?

  • @wingmann3632
    @wingmann3632 6 месяцев назад

    Why do you use new born tools in production?

  • @Noritoshi-r8m
    @Noritoshi-r8m 6 месяцев назад

    Lmao, Rust is here to fix the web's biggest mistakes. I love it, i want Rust in the Frontend, Backend, everything.

  • @10zDelek
    @10zDelek 6 месяцев назад +1

    Any research thesis topic idea for web development and cloud?

  • @szabolcsveer8134
    @szabolcsveer8134 6 месяцев назад +1

    I thought Vite was a webpack alternative...

  • @rns10
    @rns10 6 месяцев назад +5

    The state of js. Another day another tool.

  • @AaronMendez-z8t
    @AaronMendez-z8t 6 месяцев назад

    Theo, I've been dying for you to talk about Module Fed.
    PLEASE DO.

  • @granitetie
    @granitetie 6 месяцев назад

    Here’s a question: how many years will it be before tech companies have policies that restrict any open source code that has *any* supply chain dependencies on any code or services written by bytedance (or any other company that would be under the influence of Chinas spy services)
    Btw im not making a judgement about whether we should do that, but that would be the natural and logical extension to the latest US policy. Look at the polyfill exploit if you’re thinking this whole idea is crazy.

    • @zackjackson9674
      @zackjackson9674 6 месяцев назад

      If political tensions impact user trust for rspack we will donate it to openjs foundation and just help maintain it. Release ownership to a neutral party. Was one of the first plans I discussed when I joined.

    • @granitetie
      @granitetie 6 месяцев назад

      @@zackjackson9674 Hey thanks for the quick and open response. I wasn’t expecting that. (For other readers, his YT username appears to align with a GitHub account that is one of the main contributors to rspack. So that’s cool.)
      I really hope that we don’t devolve into such a trustless world. But it might end up being the reality. The NSA has been embedding exploits in tech for decades; also influencing US companies to grab data. Why would China do any differently? Let’s say my company has sensitive and regulated data security regulations. How would I be able to defend the decision to my superiors to use a tool that could be under the influence of a foreign adversary? I would need to be able to say that there was at least one person who is not a spy who is reviewing every piece of code that gets included.

  • @Wow-wk7eu
    @Wow-wk7eu 6 месяцев назад

    idk what any of this web stuff is, i just love rust

  • @Jplaysterraria
    @Jplaysterraria 6 месяцев назад +1

    The main problem with rust async is that it needs to integrate with many different runtimes. Which gives you access to really cool/cursed stuff like interrupt based async runtimes for embedded systems. This comes with the issue that Rust can't assume anything about the way an async function will be run (and also the type system was not powerful enough to represent async functions in interfaces (traits)), thus, you are missing a lot of common functionality in the standard library (AsyncIO interfaces, AsyncIterator, etc). Languages like Go and Beam-based languages, have an async executor built in, this allows them to make more assumptions about how an async function may be run, and provide better tools as a consequence.
    Additionally, an early decision was to make all types memcpyable, this seemed like a good idea (why would a type ever not be memcpyable?), but it turns out that async heavily uses self referential types (which are not memcpyable), and thus we get Pin (go read Pin and suffering from fasterthanlime on why this is an issue).
    A lot of people are working on improving this and I'm hopeful the state of things will improve, but it looks to be a 2-5 year endeavor...

  • @thekwoka4707
    @thekwoka4707 6 месяцев назад

    i did those perf compare, and idk what is going on but turbopack was WAY slower

    • @zackjackson9674
      @zackjackson9674 6 месяцев назад

      Turbo startup time fluctuates we have found. Haven’t kept tabs on hmr times in recent history tho.

  • @ristopaasivirta9770
    @ristopaasivirta9770 6 месяцев назад +1

    Given enough time; all code rusts.

  • @YTCrazytieguy
    @YTCrazytieguy 6 месяцев назад

    You keep complaining about threading in Rust but I don't think you know what you're talking about. Although *async* has some issues (arguably not that bad), *threading* can be used without async in Rust and is often super easy to get right.

  • @Seedwreck
    @Seedwreck 6 месяцев назад

    Do you really need this unless you’re Nexting? Personally, I like smaller bundlers that are less weird.

    • @zackjackson9674
      @zackjackson9674 6 месяцев назад +1

      There’s few good picks for enterprise users with complex business needs. Smaller api is good for adoption but struggles to scale for the business

  • @PabloRRomero
    @PabloRRomero 6 месяцев назад

    why does theo's terminal looks like a racecar? me want

  • @maswinkels
    @maswinkels 6 месяцев назад

    Thanks! Another great reminder to stay away from the giant complex spaghetti cauldron that is Javascript.

  • @BarakaAndrew
    @BarakaAndrew 6 месяцев назад +2

    Bytedance has been releasing some good OSS nowadays, loving this direction

  • @havokgames8297
    @havokgames8297 6 месяцев назад +1

    "The channel axioms in go are shit" ... uhhh what?

  • @CatsAndCode
    @CatsAndCode 4 месяца назад

    The tsunami of Rust

  • @QueeeeenZ
    @QueeeeenZ 6 месяцев назад

    Have you heard about Vite?

    • @t3dotgg
      @t3dotgg  6 месяцев назад +1

      Never. What's Vite?

  • @ds_7
    @ds_7 6 месяцев назад

    What happened to Vite!?

  • @shapelessed
    @shapelessed 6 месяцев назад

    I have stuck around with Vite, and since my first framework was actually Svelte, I just sticked with Rollup and so far it's been good enough. I don't see the reason to learn all of these bundler APIs and ecosystems just to bot use them and forget everything in a year...

  • @meryplays8952
    @meryplays8952 6 месяцев назад

    Isn't bun enough? Still not clear why re-write it in Rust? This suggests a major flaw in Javascript and admission of defeat.

    • @zackjackson9674
      @zackjackson9674 6 месяцев назад +3

      Can’t back a business on bun as of yet. Too early for big tech company to consider. Bunbundler is also based off esbuild afik, not enough flexibility in the build architecture. Don’t think bun is enterprise ready right now

    • @meryplays8952
      @meryplays8952 6 месяцев назад

      @@zackjackson9674 Thank you for the clarification.

  • @COCSV01
    @COCSV01 6 месяцев назад +1

    Thoughts about backend ?

  • @ivannaluzhnyi9767
    @ivannaluzhnyi9767 6 месяцев назад

    why doesn't he use BUN? Did I miss something?

  • @sanampakuwal
    @sanampakuwal 6 месяцев назад

    9:03 try C# and you'll know how easy should be!

  • @wlockuz4467
    @wlockuz4467 6 месяцев назад

    And everyone was wondering why did the State of JS survey came out the way it did...

  • @tahafiroz1370
    @tahafiroz1370 6 месяцев назад +3

    Tokio is necessary because that's the design of the language. It's purposeful so you aren't stuck with a bad runtime, Rust doesn't include a runtime for this exact purpose. I'm surprised by how bad your takes can be sometimes. You're literally saying a feature of the language makes the language itself bad.

  • @devpitch
    @devpitch 6 месяцев назад

    Rust is a bit weird looking, but it's only slower to Fortran, it's got WASM, it's not owned by anyone and is backed by AWS, MS and a few others.

  • @Michael-Martell
    @Michael-Martell 6 месяцев назад

    I thought turbo was written in rust?

  • @crowlsyong
    @crowlsyong 6 месяцев назад +1

    16:35 deno :(

  • @jmitchell2464
    @jmitchell2464 6 месяцев назад +3

    Oh, this is a Bytedance product? Im out. I'll stick to my other bundler options

    • @brenoepic6946
      @brenoepic6946 6 месяцев назад +1

      Ya, better to stick on Meta stuff😅

  • @jackzugna5830
    @jackzugna5830 6 месяцев назад +1

    I've never understood why JS has invaded development tools instead of being confined to its area of use: browsers.

  • @fungilation
    @fungilation 6 месяцев назад

    Turbopack works. 100% works in dev mode with Next 15 rc
    Why are you fudding Vercel your sponsor, Theo?

  • @nasso_
    @nasso_ 6 месяцев назад +1

    7:56 i know what u are

  • @Oktokolo
    @Oktokolo 6 месяцев назад

    I'm a bit salty about Rust only supporting monolithic binaries. But I'm still glad they didn't use C++...

    • @zackjackson9674
      @zackjackson9674 6 месяцев назад +2

      There are some ways to create DLL for rust but it’s not very straightforward. I do want to look at this in future tho.

  • @VeaceslavBARBARII
    @VeaceslavBARBARII 6 месяцев назад

    No way. Haven't they abandoned it and started Rolldown which is a re-write of Rollup?

    • @zackjackson9674
      @zackjackson9674 6 месяцев назад

      No. Rolldown was started at ByteDance. The devs paused working on it and changed to the rspack team. Then Evan hired some of the original rolldown engineers from our team and the revived the project to position it as the future for vite.
      Rolldown, farm, rspack all trace their origins back to our infra team. Rspack served the business needs best, that’s what we ended up using and investing resources into.

  • @paci
    @paci 6 месяцев назад

    I think you want to look at FARM

  • @vaggelis_best
    @vaggelis_best 6 месяцев назад

    Rust. Blazingly fast.

  • @AfterDarknes
    @AfterDarknes 6 месяцев назад +1

    hands down nothing, and I mean NOTHING, beats rust LSP. Outside of compilation speed, I seriously haven't seen anything better than rust. This is imo sad, and I hope it changes. Just clone the largest rust project you can find and see how rust-analyzer will just work no configurations needed whatsoever.

  • @gariklaw
    @gariklaw 6 месяцев назад

    pnpm mentioned

  • @mgamer0164
    @mgamer0164 6 месяцев назад +5

    I'm just doubting that everything will be replaced by Rust at this point. Softwares, terminals, tools, languages, websites, IDEs, embedded systems, kernels, operating systems and more are fully being rewrite in Rust. Well that's just me tbf.

    • @tinrab
      @tinrab 6 месяцев назад +1

      One can hope 😂

    • @ViCantWin
      @ViCantWin 6 месяцев назад

      Just wait for the Oxidization, it will come, and it will embrace the whole world.

    • @plaintext7288
      @plaintext7288 6 месяцев назад +2

      Hot take: Rust is as great of a language as it is overhyped.

    • @twelvetican
      @twelvetican 6 месяцев назад +1

      @@plaintext7288 hell yeah people overhyping rust often forgot that rust has more than just safety and performance to offer

    • @daphenomenalz4100
      @daphenomenalz4100 6 месяцев назад

      ​@@plaintext7288 its a new language and I think people are just trying to do everything with it. We don't know whether it will have adverse effects in future like the memory vulnerabilities that are now found in almost every C written stuff, after being used for years. Nothing wrong with trying something new.

  • @skeleton_craftGaming
    @skeleton_craftGaming 6 месяцев назад

    I mean my PHP/html/css/js takes 0 seconds to compile/package ...

  • @Requiem100500
    @Requiem100500 6 месяцев назад

    rust mentioned

  • @rileydavidjesus
    @rileydavidjesus 5 месяцев назад

    Rspack with tailwind and autoprefixer is not that good yet.

  • @Z4KIUS
    @Z4KIUS 6 месяцев назад +1

    when you have 300MB of JS it's not a bundler problem though

    • @zackjackson9674
      @zackjackson9674 6 месяцев назад

      Unavoidable. Look at slack or Google docs or figma. Big systems come with a lot of source

  • @ZwCode
    @ZwCode 6 месяцев назад

    Uhm, you’re still dressed wrong for the occasion, it is black hoodie dress code

  • @zakriyarahman
    @zakriyarahman 6 месяцев назад

    Rsbuild, copyright byte dance