The company behind Meteor is The Meteor Development Group (MDG). If you use a certain technology for your project, you will have to ensure that this technology will be supported in the future. This has become a minor concern now as Meteor has reached the eagerly awaited 1.0 version. I started using Meteor at the end of 2012 when the version number was 0.5.1. Back then I was worried about using it for my software ventures, until I learned that MDG received US$ 11 million in funding. This is certainly an indication that there are some people working hard to make Meteor a success.
With the same code base you can target different platforms with Meteor: Web, iOS, and Android.
When you need to have your application on more than one platform, Meteor can save you real money and headaches,
not only during the first development phase, but throughout the whole lifetime of your application.
One code base means also that your development team will be smaller and more homogeneous.
Meteor uses a concept called database everywhere. This means you can use the same method calls to access your database, regardless of whether your code runs on the client or on the server. This has been achieved by developing a package called minimongo, which implements nearly the complete MongoDB API. The minimongo database runs in your browser's memory.
Heroku has been one of the first companies who made deploying your app really easy, taking away a major pain every development team had. Meteor followed their approach. Deploying a Meteor app can be done with one simple command:
MDG employed some great community managers, who contributed much to Meteor's success in the last couple of years.
This led to a powerful community that is happy to write packages for the missing parts.
One of the most used packages is
In the beginning Meteor used the routing from Backbone.js.
Today nearly every Meteor project uses iron router.
There are many more excellent packages for Meteor.
You can search for packages on Atmosphere.
Meteor claims that you have to write less code compared to other platforms or software stacks.
This is especially true when you have to bring your application to different platforms.
Meteor supports four platforms at the moment: server, browser, ios, and android.
The server and browser platforms are installed with every Meteor installation.
If you want to use the ios and android platforms you can do so by utilizing the
meteor command line tool.
Meteor mentions some principles that have guided them during development. Those also make some convincing arguments as to why it might be good to use Meteor for future projects. The following are quoted from Meteor's documentation:
- Data on the Wire. Meteor doesn't send HTML over the network. The server sends data and lets the client render it.
- Database Everywhere. You can use the same methods to access your database from the client or the server.
- Latency Compensation. On the client, Meteor prefetches data and simulates models to make it look like server method calls return instantly.
- Full Stack Reactivity. In Meteor, real-time is the default. All layers, from database to template, update themselves automatically when necessary.
- Embrace the Ecosystem. Meteor is open source and integrates with existing open source tools and frameworks.
- Simplicity Equals Productivity. The best way to make something seem simple is to have it actually be simple. Meteor's main functionality has clean, classically beautiful APIs.
Meteor is still a pretty new technology. Although the Meteor community is growing fast, the ecosystem is still not as diverse as, for example, Rails' ecosystem. For Ruby on Rails you will find best practices for probably all problems you will face during the development of your application, for example, about how you best structure your project, or how you tackle multi tenancy applications. No doubt, the Meteor community will catch up, but this will take time.
Posted on CuteMachine.