The full-stack framework of Meteor
Meteor is not just a JavaScript library such as jQuery or AngularJS. It's a full-stack solution that contain frontend libraries, a Node.js-based server, and a command-line tool. All this together lets us write large-scale web applications in JavaScript, on both the server and client, using a consistent API.
Even with Meteor being quite young, already a few companies such as https://lookback.io, https://respond.ly, and https://madeye.io use Meteor in their production environment.
If you want to see for yourself what's made with Meteor, take a look at http://madewith.meteor.com.
Meteor makes it easy for us to build web applications quickly and takes care of the boring processes such as file linking, minifying, and concatenating of files.
Here are a few highlights of what is possible with Meteor:
- We can build complex web applications amazingly fast using templates that automatically update themselves when data changes
- We can push new code to all clients on the fly while they are using our app
- Meteor core packages come with a complete account solution, allowing a seamless integration of Facebook, Twitter, and more
- Data will automatically be synced across clients, keeping every client in the same state in almost real time
- Latency compensation will make our interface appear super fast while the server response happens in the background.
With Meteor, we never have to link files with the <script>
tags in HTML. Meteor's command-line tool automatically collects JavaScript or CSS files in our application's folder and links them in the index.html
file, which is served to clients on initial page load. This makes structuring our code in separate files as easy as creating them.
Meteor's command-line tool also watches all files inside our application's folder for changes and rebuilds them on the fly when they change.
Additionally, it starts a Meteor server that serves the app's files to the clients. When a file changes, Meteor reloads the site of every client while preserving its state. This is called a hot code reload.
In production, the build process also concatenates and minifies our CSS and JavaScript files.
By simply adding the less
and coffee
core packages, we can even write all styles in LESS and code in CoffeeScript with no extra effort.
The command-line tool is also the tool for deploying and bundling our app so that we can run it on a remote server.
Sounds awesome? Let's take a look at what's needed to use Meteor.