Thursday, August 18, 2016

Why you should use Meteor for your next software project


I’ve been using Meteor for over two years now, and it continues to grow on me.
I'll never bash Rails, other Node/JavaScript stacks, or Python/Django. They’re good choices too. But for me, they’re just not as modern, simple, or fun as Meteor.

Most web/mobile developers are at least intrigued by modern JavaScript development, if they haven't already dove into it.

I'd advise you to really give it a try on your next project, because it exposes a new paradigm in web software development that will inform everything else you do afterwards.

Blend of simplicity and power

Meteor is the simplest possible, yet fully-powered "gateway drug" into modern JavaScript development. Even if you don't end up sticking with Meteor, your mind will be opened to new possibilities after spending some time with it.
Meteor can help you get an MVP built quickly, and the framework has the ambition to allow developers to scale their apps well beyond MVP-stage.
Angular and React are hot now too, but they're not as accessible to a wide range of developers as Meteor is, because of a steeper learning curve, and a bit more abstraction that requires more programming skill to use. And you still need to figure out a backend for your app with those frameworks.

Node.js

Node.js is a mature, solid web server tool. It speaks JavaScript natively, so it fits into the Meteor stack nicely.

MongoDB

MongoDB continues to mature, and speaks JavaScript and JSON as its primary language, so it fits into the Meteor stack very naturally.
There’s a lot of anti-MongoDB content out there on the internet, but much of it is several years old at this point. I’ve not heard of a single Meteor developer leave the platform because of MongoDB. For the Meteor community, it has been rock solid. Most people switch away from MongoDB these days from problems they think could arise from using MongoDB, not for problems that actually arise.

DDP

If you haven’t heard of DDP yet, you’re in for a treat. It's one of Meteor's core innovations. It's like a streaming REST API, and provides a flexible integration point between the front-end and back-end of the app. A DDP server can be built with any server technology, and likewise, any front-end app can consume a Meteor DDP backend (for example, we’ve built Objective C native iOS apps that communicate with Meteor backends via DDP protocol).

Blaze

Another core innovation of Meteor is Blaze. It's a templating system similar to, but simpler than Angular, Backbone, Ember, React, Polymer, and Knockout. Interestingly though, it’s flexible enough to get out of the way in a Meteor app if you want to leverage another front-end framework, though I’d advise giving it a try “straight-up” before mixing in complexity — for many apps it’s all you need.

The core team

Meteor has a wicked smart core team that is focused on building the best platform possible. They work with leaders of other frameworks when it makes sense, sharing ideas and interacting with the community at a world-class monthly meetup in SF. There’s also an official Meteor forum and a community Slack channel.

Atmosphere

Meteor has been built in the open, and has encouraged a growing developer community to contribute to a rich add-on ecosystem. Atmosphere is where you can discover which of the 4,000+ packages you can pull into your project, to speed up your development.

Enterprise scalability

The next frontier for Meteor is the enterprise, and there are a lot of people (and tens of millions dollars) working to ensure scalability at high-load.
I’ve seen startups hire a CTO who decided to abandon Meteor, but only because of preconceptions, not direct issues with the framework. And I’m not aware of any business that has actually outgrown Meteor yet.
Also, Meteor is building a hosting service called Galaxy, which should be groundbreaking and world-class. I say this because the bar is already high with services like Modulus in the market; I’d expect nothing less from the Meteor team.

Easy recruiting

As stated earlier, most good developers building web or mobile apps are at least intrigued by modern JavaScript development. And that's what you need to be looking for: good developers.
Choosing an edgy new framework does reduce the population of “experienced developers” for that technology, but the applicants you do attract will include some real superstars.

Builds to native mobile

Meteor has full Cordova integration, and can be used to build native mobile apps.
The quality of HTML5 mobile apps continues to approach native mobile, and it’s hard to argue the cost benefits of using the same code base to power your desktop web app, mobile web app, native iOS, and native Android apps.
Written by Ry Walker

If you found this post interesting, follow and support us.
Suggest for you:

MongoDB multikey indexes and index intersection

Node.js + Express - Tutorial - Insert and Get Data with MongoDB
Developer/entr

MongoDB 3 - Engineering an Encrypted Storage Engine

How To Create And Insert Data in MongoDB

How to Nodejs, MongoDB and Redis Caching