Meteor 0.5.3 Released; Improved Performance and Real-Time Reactive Updating
The Meteor Development Group released version 0.5.3 of their full-stack framework on January 7th, balancing a short-list of new features with increased back-end stability.
Meteor aims to reinvent application development around a thick client, dispelling what they call the “dumb terminal” web clients of the late ‘90s and ‘00s. InfoQ caught up with co-founder Matt Debergalis to ask why a developer would consider using Meteor instead of a more mature framework. “Meteor makes it possible to build rich web applications in hours that used to take weeks,” Debergalis said.
Meteor is an opinionated stack that enforces structure atop Node.js much like Rails did to Ruby. Now, seven years since the advent of Rails, Debergalis sees Meteor as “not just a code base, [but] a community of like-minded developers excited about building rich apps. That shift away from the server-centric architectures only started to gain critical mass in the past year or two.” Version 0.5.3 delivers, among other things, the following highlights:
- Better orchestration of runtime settings, especially useful for managing disparate environments (dev, staging, prod). Using the new --settings argument, users can set up environment-specific setting files and use them in either the run or deploy commands:
- meteor --settings dev.env
- meteor deploy --settings dev.env
- Smarter template re-rendering. Spark, presented here by David Greenspan, is defined as a “declarative version of jQuery” by the core developers. Per their announcement: “Spark is declarative. you tell it how you want the page to look, and not only does it make the page look that way, it keeps the page updated as data changes.”
Debergalis says the next iteration of releases are focused almost exclusively on scalability and performance.
Right now, we're working on a series of releases that focus on scaling Meteor-based applications to millions of users. Meteor 0.5.1 was the first of these: it added a more efficient realtime Mongo driver. The next handful of releases will let you scale a Meteor application across multiple application CPUs, separately scale the realtime database load from your custom application code, and give you explicit control over which data updates trigger updates to connected clients.