-
Book Overview & Buying
-
Table Of Contents
-
Feedback & Rating

Building Single-page Web Apps with Meteor
By :

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:
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.
Change the font size
Change margin width
Change background colour