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.
ECharts is a state machine-based programming language for event-driven systems derived from the standardized UML Statecharts language.ECharts is a hosted language which means that it is dependent on an underlying programming language such as Java.
ECharts is an awesome tool for manipulating data once it’s charted because it has one unique feature: Drag-Recalculate allows users to drag and drop sections of data from one chart to another and have the charts recalculate in real-time.
ECharts is a most impressive tool for data visualization: it's fully open-source, it's sophisticated-yet-flexible, and it keeps abreast of the era of 'big data'!
ECharts is open, simple and elegant. 1.0 was great, and 2.0 was leapfrogged in just a year with something even more amazing.
ECharts represents a new generation of visualization tools for big data.
ECharts is a comprehensive charting library offering a painless way of adding interactive charts to your commercial products. On the foundation of ZRender-based (a whole new lightweight canvas library) coordinate system, legend, tooltip, toolbox and other basic components, ECharts currently supports line, column, scatter, pie, radar, candlestick, chord, gauge, funnel, map and force-directed chart types, many of these can be combined in one chart.
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;