Welcome to the future; Short intro to Meteor

May 13, 2015

A few weeks ago I decided to take a look at this new platform called Meteor … WOW I’m glad I did.
What is Meteor you ask?
Well my dear reader, Meteor is a platform that will help you built applications faster than you ever thought possible in a way which is probably a lot different than what you are used to right now!

One language to rule them all

Isomorphic APIs mean that the same code, written in the same language, can run on both client and server.

In Meteor both the server and the client are written in javascript. Two major benefits are:

No more context switching

In the old days you would write the server in PHP, ruby or python.
The client will be a combination of javascript, HTML and CSS. Both the server and the client will follow different patterns and principles.
Whenever you had to switch development between the two, you will have to switch your mindset accordingly.
This is very inconvenient and all in all not very productive.

In Meteor everything is written in javascript which eliminates this problem and lets you write in peace!

An added benefit is that you can share code between the server and the client. Which leads to our second great benefit.

Share code between server and client for maximum efficiency

Every developer should know to not repeat yourself. As easy to understand the benefits of not having to edit multiple locations at once are. It’s hard to actually implement it in the traditional way because of the context barrier.

Meteor solves this in a very clever way and makes it possible to share code between server and client without any effort on your part!

Think back on your old projects and how this could be applied. It truly is amazing!

Hot code push

Data updates live on the screen as it changes. Users can collaborate seamlessly.

One nice feature during development is seeing your pages update when you change some code. Wow, Meteor takes this to an entire new level. Not only does Meteor refresh your browser when you change a file. It refreshes every browser instance that is connected with the server!

During development this boosts productivity because you wont have to constantly abuse the F5 button anymore.

For deployment this means that when you deploy a new version of your application, every connected client will automatically be using the new code.

Easy deployment

Type one command to push your app into production and update all connected browsers and devices. No need to go through the App Store.

meteor deploy DOMAIN

Just execute the above mentioned command and you are good to go. The community has made a more configurable option called meteor up.
Which reminds me of the awesome built-in package system.

Package system

One world of packages that work identically on browsers, servers and mobile devices. (Pull in npm and Cordova packages too!) One build tool that builds all parts of your app.

Meteor provides a rich packaging system that will allow you to write a lot less code by delegating daunting tasks to third party packages.
If you can think of it, there will probably be a package that does just that!

Everyone in the community can make a package and you can find them on atmospherejs.
A few of my favorite packages are:

Conclusion

Meteor has a completely different take on development than other more traditional platforms. I have really grown to love this new way and I highly encourage you to try the tutorial. Thank you for reading and having a look at the future of application development.

Comments