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 10th post tagged
meteor on dev.to!
Ben Newman -- one of the people who currently maintain Meteor -- worked at Facebook before Meteor Development Group. At Facebook, he wrote Regenerator. Regenerator is a tool that Babel uses under the hood for transpiled
The chances are that you wrote
async functions at some point, and they were handled under the hood by Ben Newman's Regenerator!. Some of you may still transpile
async functions for older browsers and are thus still using Regenerator today.
This guy Ben works on Meteor now, and his code is f***ing clean; something to be inspired by.
You may think of Meteor as an Application Framework.
Well, you would be sort of right.
Meteor is a collection of libraries and tools, that when used together (for example in the default application that the CLI tool scaffolds for you) can be considered an application framework.
But you don't have to use all the pieces all at once.
For some odd reason, people think using Meteor is all or nothing. Maybe this is why it is underrated, and causing people to waste their time re-implementing all the awesome things Meteor can already do for you.
This article could be called "Meteor vs Ember vs Angular", or "Meteor vs MEAN", or "Meteor Blaze vs React vs Vue", or "Meteor vs Express vs Koa.js", or "Meteor vs Passport.js vs Permit", or "Meteor vs Ionic Framework".
You could use Meteor just for the purpose of bundling and shipping your code with possibly the most sophisticated web-based build system and bundler in existence, and save yourself a lot of time.
This fact alone is something you should consider!
Meteor's Build System is, out of the box, similar to Parcel in the sense that you hit the ground running with default settings and no fuss.
Meteor's build system is also highly pluggable like Webpack. It is easy to make Meteor "build plugins" to handle any files types (equivalent to "loaders" in Webpack).
Meteor has a space-age system for building your code for old and new targets, and automatically serving specific bundles to the runtime environment based on what it detects the environment to be, with zero config required!
Meteor allows you to publish your web-based app to iOS or Android. You only need a few simple commands to add build targets:
meteor add-platform android meteor add-platform ios
After installing prerequisites for building mobile apps in your OS (XCode on macOS, or Android Studio on any OS), then you can simply run your app in a mobile emulator or actual device with simple commands:
meteor run ios # runs in an iOS emulator meteor run ios-device # runs on your connected iOS device meteor run android # runs in an Android emulator meteor run android-device # runs in your connected Android device meteor run ios android-device # run on multiple targets
You do not get this from any other bundler! 🚀
Honestly, I encourage you to take a look. All aspects of Meteor (the not-framework collection of tools), including the Build System, are documented.
That's all I'll write here. If you have any questions, I'm happy to try and answer them! :)
To learn more about "Meteor vs Webpack vs Parcel", I recommend reading an article on Webpack vs Parcel (and for that matter looking up "Webpack vs Browserify" and "Webpack vs Rollup" if you don't already know), and checking out Meteor's Build System.
Come to Meteor Night on Tuesday July 9th to hear Ben Newman and others discuss Meteor.