Angular 2 is an attempt to bridge the gap between the two languages, providing a lightweight, extensible interface to Angular applications.
The main differences between the Neje and AngularJS languages are: The runtime is designed to be as small as possible.
It consists of just a few classes and a handful of functions.
The codebase is built using a new functional programming style called the ES6 standard.
The main goal of the Neja runtime is to provide a new runtime engine that does not rely on external libraries or third-party libraries.
Nejas core functionality is designed around the ES5 and ES6 modules.
ES5 modules provide basic support for modules like Array and Object.prototype.
There are ES6 module modules that can be used to extend ES5 module capabilities and provide more advanced functionality like Object.observe and Object and Date.prototype properties.
ES7 modules provide new capabilities, including functions that are designed to support modules like Object and Promise.
The following is a list of some of the ES7 features.
Array .prototype.map returns a list that contains all of the keys of the array.
Array.prototype._ is a built-in function that converts an array of numbers into a string that can then be converted back to numbers.
Array and Promise .prototype objects are immutable objects.
They can be initialized, and they are read-only.
Array object literes can contain functions and properties.
Function.prototype has the same syntax as Object.getOwnPropertyDescriptor (see ES6 for details).
Promise object literates can be wrapped with a Promise object and returned.
ES.prototype and Promise objects have an ES7.promise property that returns an instance of a Promise.
Promise object that has the properties of the promise object as well as the callback function.
ES4 objects have the same semantics as ES5 objects.
Function object literies are immutable.
They do not have an instance or callback.
ES3 objects have a builtin Promise.prototype function and Promise object literal.
ES2 objects have ES6.promis object literal and Promise class.
Array instances of Array.of() and Array.map() have the values 0 and 1 respectively.
A Promise object can contain any number of values.
The number of elements in an array is the number of arrays in the array, as opposed to the number in the callback.
Array objects can be null-terminated.
A promise object can be non-null-terminating, in which case the element is the empty string.
ES1 and ES2 modules are not compatible.
ES0 modules are incompatible.
ES:1 is a compatibility layer that adds new features to ES0, such as object literas, promises, and the Promise.promises property.
ES10 and ES11 modules are compatible.
The neje-2.0 release of the neje runtime is available today.
The official release notes are available on Neje’s GitHub repository