DEV Community

Meteor vs Webpack vs Parcel

Joe Pea on July 05, 2019

Yeah, that's right, I said Meteor! Meteor is often overlooked. It is highly underrated for reasons I can not explain. In fact, this is only the 10...
Collapse
 
thomastraum profile image
Thomas Traum

Meteor is the bomb, totally underrated

Collapse
 
dariozac profile image
Dario Zaccagnini

Absolutely love Meteor and what it can do right out of the box plus it plays nicely with Apollo / graphQL. We should write about it and promote it over MERN/MEAN on projects we join.

Collapse
 
johhansantana profile image
Johhan Santana

I would love to see a tutorial on how to use graphql instead of the default mongo queries in meteor. I think graphql is a much better way to query data instead. How would it work with the real time that meteor offers and stuff like that.

Collapse
 
trusktr profile image
Joe Pea

Hi Johhan, there are some guides here: docs.meteor.com/packages/apollo.html

Collapse
 
johhansantana profile image
Johhan Santana

I gave up on meteor when they did the version upgrade from 1.2 to 1.3 they changed everything with no easy way of upgrading a big project which made me think future upgrades would be this difficult as well.

And if I’m not mistaken, it can only be run with mongodb.

Other than that, it is a good framework.

Collapse
 
arggh profile image
arggh

It seems you misread the stuff around "For some odd reason, people think using Meteor is all or nothing". You don't have to use MongoDB. But you can, and Meteor makes it very easy.

Your claim on upgrading from 1.2 to 1.3 is simply not true. It's actually the other way round. I do not know of another project with as much commitment to backwards compatibility, as Meteor.

There's nothing preventing you from running a Meteor 1.0 project on the latest 1.8.2 beta release. And 1.0 was many years ago.

Collapse
 
johhansantana profile image
Johhan Santana

I guess but then again, you wouldn't be taking advantage of that version upgrade which if I'm not mistaken was when they added code splitting. Before 1.3 I think you loaded the whole SPA in the first payload which wouldn't make sense to upgrade without re-structuring the project to take advantage of this.

Please correct me if I'm wrong as this was some time ago.

Thread Thread
 
arggh profile image
arggh

If you want to take advantage of code splitting and dynamic importing, then yes, you will have to put some time into refactoring your application to do so. But that's not Meteor specific, it's just how life is.

I guess Meteor does so much out of the box, you might forget it can't (not yet, at least) write your app for you!

The main takeaway from this should be: your Meteor 1.0 project from many moons ago will still run on Meteor 1.8.1 (the latest recommended release). There is no need to refactor anything. During the evolution from 1.0to 1.8.1 Meteor has gained all kinds of great new features, fixes and improvements, but they are, at least to my knowledge, 99% non-breaking and/or optional. That's quite something.

Thread Thread
 
trusktr profile image
Joe Pea

That sounds right. Sure, you obviously may need to update structure to use new features, but old features didn't break. The new structure follows the modern standards of the JS community (ES Modules). It was inevitable for this change to happen; it would be detrimental for Meteor to follow the non-standard and not adapt to the change.

Collapse
 
aliogaili profile image
Ali Ogaili

Johhan, I'm not sure what you ran into but the update from 1.2 to 1.3 was surely backward compatible! I've updated projects from 1.1 all the way to 1.8.

Collapse
 
trusktr profile image
Joe Pea

Hi Johhan! The update from 1.2 to 1.3 is backwards compatible. Using non-module JS files still works just like before. Cheers. - Joe

Collapse
 
fen747 profile image
David Panart • Edited

I've been using Meteor since 0.8, from prototyping for startups to delivering high availability, resilient and easy to maintain industrial grade applications with docker and apollo.

There is not a single week of my life when I didn't used Meteor since January 2015 :)

Collapse
 
jsn1nj4 profile image
Elliot Derhay • Edited

It's been ages since I've used Meteor. I was a big fan of it for a while. Just haven't made use of it lately; haven't had a real need for an SPA yet personally (until recently for something tiny, and I'm use Nuxt for that currently).

I do still think it's a neat toolset though. Definitely worth trying out, especially if you work with a lot of SPAs.

Also, if you're familiar with Mongo, Meteor provides MiniMongo for client-side storage.

And Meteor methods were a neat feature I really liked too.

Only complaints I have now are that Vue was a pain to set up last time I tried, and the build process was a lot slower than Webpack's. Do you know if things have improved in these areas?

Collapse
 
arggh profile image
arggh

Vue support is mentioned on the landing page on meteor.com and there are "official" packages for integrating Vue in Meteor, that are created and maintained by one of Vue's core team members. I believe it's safe to say Vue is well supported.

We're using Svelte with Meteor. React is a first-class citizen as well.

Collapse
 
trusktr profile image
Joe Pea

You might find it interesting to note that the author of Vue worked at Meteor before leaving to make Vue. Things are definitely improving. The build process has gotten a lot faster too. Ben Newman has done a wonderful job with the build system (continuing the great work of David Glasser). This week's Meteor Night is going to be a nice one!

By the way! If you prefer Webpack, you can still go that route: just make your bundle with Webpack, and have Webpack output the file into the Meteor folder. Then Meteor merely has to load your single file, which can be fast. In this way, the build is outside of Meteor while still letting you use Meteor's great features.

Collapse
 
jsn1nj4 profile image
Elliot Derhay

Interesting. I may throw together a new Meteor project to see how things have improved then, especially since @arggh mentioned Vue having much better support in Meteor now.

Collapse
 
joelmeiller profile image
Joel Meiller

Thanks! I totally agree: Meteor is awesome! I love it!