Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Next-gen JavaScript Framework "Aurelia" Brings Adaptive Databinding Engine

Next-gen JavaScript Framework "Aurelia" Brings Adaptive Databinding Engine

Rob Eisenberg, formerly of AngularJS, has released Aurelia: a next-generation JavaScript framework with a "a first of its kind 'adaptive' databinding engine."

Eisenberg announced his departure from Angular last November, saying "After almost ten months with the Angular 2.0 team, I've come to the conclusion that it's time to part ways." 

He clarified that he was not saying Angular 2.0 was going to be bad, simply that it was "no longer fundamentally the same thing" he had originally been hired to help build, and that it was not compatible with his vision for the future with Durandal.

Eisenberg's vision for the future with Durandal is already taking shape with early previews of Aurelia.

Answering the fundamental question "What's so spcial about Aurelia?" in the blog post Introducing Aurelia Eisenberg elaborates:

Aurelia has a first of its kind "adaptive" databinding engine allowing rich two-way databinding between vanilla JavaScript and DOM (including Web Components). When binding to an expression, the binding system can select an appropriate observation strategy on a per object, per property basis. It can use Object.observe and Array.observe if present, getters and setters if not and dirty checking as a last result fallback.

The system is pluggable and will let developers teach it new ways of observing properties so you can easily plug in custom model/view-model libraries such as Knockout, Breeze, Backbone, etc. which may have their own mechanism for storing properties and raising change events.

Also notable about Aurelia is that it while is written with vanilla ES6 and ES7 is is transpiled and polyfilled to work on evergreen browsers (Chrome, Firefox, Safari and IE10), as well as having an "adaptive" databinding engine allowing rich two-way databinding between vanilla JavaScript and DOM (including Web Components).

Elaborating further on the vision of Durandal, Esienberg said:

We believe it's critical to start with a completely free, open source application framework. We want to enable anyone to build amazing apps for many years to come and to know that they are building on a platform that isn't just here today and gone tomorrow. We're investing heavily in both building and supporting Aurelia as well as creating additional offerings: open source, free and commerical.

In his post's comments, Eisenberg was quick to help with questions about Aurelia and Durandal.

Commenter Karol Barkowski asked "Does this mean that Durandal NextGen won't be released?", but was reassured by Eisenberg Aurelia was the same as Durandal NextGen.

Responding to questions about mobile hybrid development, Esienberg revealed that Aurelia was already running in Cordova/PhoneGap with RequireJS, and the team was actively investigating getting it up in running with [universal dynamic module loader] SystemJS.

Asked about how it would work for mobile and hybrid forms, in terms of size and performance, Eisenberg said while they hadn't done any performance work yet; they would begin soon, saying "I'm pretty positive about that. There's a known list of stuff we can do to make it nice and slick."

Aurelia is open source and available on an MIT licence.

Rate this Article