Meteor.js is a cohesive development platform, a collection of libraries and packages that are bound together in a tidy way to make web development easier. It builds on ideas from previous frameworks and libraries to offer an easy way to start a prototype app, but it gives you the tools and flexibility to build a full fledged production app. There are libraries like Tracker and Blaze that the Meteor Development Group has built specifically for a reactive front-end experience.
Meteor.js is an open-source platform built on Node and MongoDB. It’s not just a framework, it’s more than that.
Is it comparable to Angular? Angular handles just the frontend parts of application. Meteor is more of a platform than Angular. It is both server and client-side code and handles a lot of the parts of applications that we need to create manually in Angular.
In ReactiveX an observer subscribes to an Observable. Then that observer reacts to whatever item or sequence of items the Observable emits. This pattern facilitates concurrent operations because it does not need to block while waiting for the Observable to emit objects, but instead it creates a sentry in the form of an observer that stands ready to react appropriately at whatever future time the Observable does so.
The main purpose of using Observables is to observe the behaviour of a variable. In an imperative way, a variable is only changed when its state is mutated by assigning a new or updated value.
Observables follow the Observer pattern, where a single piece of state (the Observable) is watched by one or more Observers which can react as it changes over time.
You can use placeholders to access dynamic information about the document;
Here's a list of built-in placeholders you can use: PrefixesDescription @win-foo dynamically evaluates window.foo() @el-foo dynamically evaluates $(current-selector).css(foo) @jq-foo dynamically evaluates $(current-selector).foo()
Following CSS will center vertically .header, dynamically changing margin-top as the window is resized:
Promises in AngularJS are provided by the built-in $q service. They provide a way to execute asynchronous functions in series by registering them with a promise object.
A service that helps you run functions asynchronously, and use their return values (or exceptions) when they are done processing.
A new instance of deferred is constructed by calling $q.defer().
A new promise instance is created when a deferred instance is created and can be retrieved by calling deferred.promise.
$q is integrated with the $rootScope.Scope Scope model observation mechanism in angular, which means faster propagation of resolution or rejection into your models and avoiding unnecessary browser repaints, which would result in flickering UI.
var deferred = $q.defer(); var promise = deferred.promise;