DEV Community

Cover image for [COMPARISON] Webpack or Parcel, which one is better?

[COMPARISON] Webpack or Parcel, which one is better?

Adnan Babakan (he/him) on January 16, 2020

Hey, DEV.to community. Almost every modern web developer uses Webpack, either knowingly or without knowing that the framework they use gets help f...
Collapse
 
mesteche profile image
Mesteche • Edited

I would agree on almost every point (except for code splitting because I don't care about bundled code, but that's just my opinion), but you made a small mistake that got carried until the end : 26 + 9 don't make 37.

Collapse
 
adnanbabakan profile image
Adnan Babakan (he/him)

Hi
Thanks for spotting the mistake
I edited the post

Collapse
 
hosseini44444 profile image
Abbas • Edited

Hi everyone!
Just signed up to post this. :D
It's purely my own opinion and it's not biased, Because I'm just a user and not the creator of these tools. ;)

Learning curve: Parcel 10 WP 0
Ease of use: Parcel 10 WP 0
Implementation time: Parcel 10 WP 0
Maintainance: Parcel 10 WP 0
.
.
.
Conclusion: Parcel +Infinity WP -infinity
Totally fair. Not oriented, Not biased

Collapse
 
adnanbabakan profile image
Adnan Babakan (he/him)

Hi there and welcome to DEV.to community!
I see you are a Parcel guy! Nice! Enjoy whatever tool you feel more comfortable with. :)
And thanks for your comment!

Collapse
 
hosseini44444 profile image
Abbas

Hi @adnanbabakan and thank you!
Honestly, I had just read about Parcel for the first time an hour before reading your article, and I was googling for comparisons between Webpack and Parcel that led me here. No offense, but when you give a 2 to Parcel and a 9 to Webpack in regards to code-splitting, I believe it's fair to give a 10 to Parcel and a 2 to Webpack in regards to getting started, Installing dependencies and preprocessors, and things that I mentioned above.

Thread Thread
 
adnanbabakan profile image
Adnan Babakan (he/him)

I see what you mean but I believe code splitting in production in Parcel is literally a mess. And no offence taken brother. Everyone has their own opinion! That's why I always tell people to use the tools they feel the best with! :)

Thread Thread
 
hosseini44444 profile image
Abbas

Hi Adnan.
I know it's been a long time, but I'm here to admit that after messing with parcel v2 a lot, now I see that it's a total mess.
Honestly you need to reconfigure every preconfigured setting and then it works like crap.

Thread Thread
 
adnanbabakan profile image
Adnan Babakan (he/him)

Hi there. Thanks for coming back and telling about your experience. I appreciate it!

Collapse
 
dharmax profile image
avi

Eventually, one build a web-application and want it to run smoothly. i think Parcel creators understood this simple truth and committed to it. Usually, one configures a bundler in order to make it work smoothly. They use "receipts" for that, according to the resource types they have, as well as the entry points. It can all be automated. What Parcel builders did, is do more automation, and smarter automation. That's all. i see zero reasons not to work with it in small nor big projects.
Saying it is not suitable for big projects sounds to me like people who says that for big project, don't use small libraries, such as the amazing Riot JS, but use Angular or React. To be, after more than 30 years in the industry, it sounds like the person is simply don't understand what they are talking about.

Collapse
 
josephlim75 profile image
josephlim75 • Edited

IMHO, at least for me, how the 'dist' is being structured is really not a big deal. Most importantly is the source code structure. I will only care if the 'dist' affects the performance of the application at runtime, if not, it really doesn't matter. Just like nobody cares how code is being compiled into binaries form. Nobody cares how the binaries forms look like. All they care about are the flags and switches that create optimized binaries like smaller file sizes and it won't degrade the application performance at runtime.

Collapse
 
tomekbuszewski profile image
Tomasz Buszewski

Hey,

I've tried Parcel some time ago and it was cool, but the fact it lacks configuration is a flaw in my opinion. What if I want to customize something? If I want to fine-tune emitted file names?

This might be the perfect solution for people who want to start learning and don't really have any knowledge of Webpack. I know it can be scary at the beginning (even though after introducing version 2 it's really simple), so a lot of folks will be looking for alternatives. But for production usage, I think Webpack is a standard for a reason.

Collapse
 
pengeszikra profile image
Peter Vivo

I worked with parcel 1 for a 2 years long, but our really complex SPA startup project reach the point when parcel bundler get much more instabil. So I changed builder to webpack 5, which take a day, but worth. Much stabile and faster. Parecel bundler adavntage is: you can include even glsl shader program - by the way you can edit with syntax highlight, and typescript or rust code without any problem to your js app. But too much pain cause the instability, special when you build your project under linux. Funny but our teams each developer use different operating system for develeopment: ubuntu, windows 10 and I work on mac, so that way important the consistent building system.

Collapse
 
tkdmzq profile image
TKDMzq

My conclusion after reading this:
One thing that parcel lacks is configuration.

Collapse
 
khrome83 profile image
Zane Milakovic

That is actually by design.

I don’t think it’s a fair comparison, webpack vs parcel.

You would not bundle sever files with parcel for example.

I think a better comparison would be webpack vs rollup.

Parcel is really designed to be config free and for smaller projects. The “configuration” of parcel really comes from the fact you directly include the files you need within the entry point as if they worked native. For example linking to a typescript file instead of a js file.

Reading people saying webpack is easier is hilarious. It’s the difference between configuration over convention. The convention needs to be learned, but it’s soooo simple. Where as webpack has a much larger surface area. If you want the control, that is fine.

There should be enough space for either technology. It’s not a winner take all situation.

Collapse
 
adnanbabakan profile image
Adnan Babakan (he/him)

Hi
Thanks for your comment
I appreciate your opinion, though I think the comparison between Webpack and Parcel is pretty fair since they claim the same idea.
But Webpack being easy is kinda a joke.

Thread Thread
 
khrome83 profile image
Zane Milakovic

Yep, they are a bundle, but from a very different perspective.

I mean you can use grunt and gulp to bundle. Bundling isn’t unique or even that modern. It’s been around for a while.

I just mean that in “how” they bundle and the concepts, webpack and rollup are more equivalent.

Parcel was built out of the frustrations of webpack if I am not mistaken to make it simpler for many front end projects.

Collapse
 
adnanbabakan profile image
Adnan Babakan (he/him)

Hahaha
Yes. It can both be a poditive point and a negative one.

Collapse
 
hannesdahlberg profile image
Hannes Dahlberg

If one of Parcel's cons are that the dist folder is "A HUGE MESS!" then I think this comparison is a bit biased.

Or to the folder structure affect performance?

Collapse
 
adnanbabakan profile image
Adnan Babakan (he/him)

It is not biased as I have not created either of these tools XD. It is just that I think folder structure even in a built one is a thing that should be neat. And no it doesn't affect the performance. :)

Collapse
 
waylonwalker profile image
Waylon Walker

I want to try parcel, but webpack is too easy since it lives in nearly every JavaScript framework's project template without needing to configure it yourself.

Collapse
 
adnanbabakan profile image
Adnan Babakan (he/him)

Yes. Almost every framework uses webpack.