Skip to content

Latest commit

Β 

History

History
33 lines (21 loc) Β· 2.27 KB

09-comparison.md

File metadata and controls

33 lines (21 loc) Β· 2.27 KB

Comparison

There exist many tools that try and make working with webpack/rspack easier:

  • create-react-app – a great and powerful tool. I personally tend not to use, because I find it slightly big and intimidating with a large codebase, it's overly React specific and brings in opinionated tools such as jest testing framework. But it's a very comprehensive tool with great documentation, so keep using it if it works for you!
  • pwa-cli – very similar to what jetpack is trying to do. Has a neat plugin system for extending its functionality beyond what the core provides. Why jetpack and not pwa-cli? Not sure, you'll have to try both and see what you prefer.

There are also alternatives to webpack/rspack:

  • Parcel is making 🌊. Let's see what version 2.0 brings to the table. It has very similar goals to that of jetpack's – most things should just work and be convenient without configuration.
  • Browserify – probably still has a hard core fan base ;) with dev servers similar to jetpack, e.g. budo and bankai to mention a couple.

There also exist higher level frameworks for certain use cases:

  • Next.js - use this when you need server side rendering. Server side rendering can be tricky to wrap your head around and so when you just want an Single Page Application – jetpack might be a better choice.
  • Gatsby.js - use this when you're building a web app that can be exported to a bunch of html files – it's a great fit for websites. For richer, interactive web applications, jetpack might just be a simpler choice.

Conclusion

In general, where jetpack tries to be different is:

  • make it possible to run globally anywhere on your machine, just like you can run node ~/Desktop/test.js
  • have good workflow for simultaneously developing the client and the server
  • make sure that if no configuration is touched, the application is bundled in the best possible way for production
  • serve the SPA use case well (as opposed to SSR or SSG)

Bonus

Because jetpack avoids anything too fancy, a lot of the time your app might already work with jetpack out of the box. For example, this works:

$ npx create-react-app my-app
$ cd my-app
$ jetpack