Built by Rob Eisenberg, formerly of the AngularJS team, Aurelia was introduced this week. It is currently in an early preview stage and not feature-complete. Aurelia is being developed by Durandal Inc., with a focus on Web programming.
Eisenberg lauds the framework for its standards compliance and conventions. "Aurelia fully embraces the future and is the first framework designed from the ground up for ES6 and other ES7 technologies like Object.observe," he says in an email. "We also favor simple conventions, which allow you to write code that is very clean. Most code written with Aurelia is plain JavaScript with no dependencies on custom API calls or special base classes."
The open source framework "is highly modular in ways that let developers customize it or even use its component parts to build their own framework," Eisenberg continues. "For example, our adaptive binding engine -- new in its own right -- is completely decoupled from binding syntax or templating. This means that developers can use it on its own to build new things we haven't even thought of yet."
Because Aurelia is modularized and composed of small libraries, developers can use the entire framework to build apps, use traditional libraries to build websites, use libraries on the server with Node.js, or even build custom frameworks. It employs simple conventions to eliminate boilerplate code, the Aurelia website says.
"With many frameworks or libraries, you need to register classes with the framework, inherit from special base classes or provide custom metadata before the framework knows what to do with your code," Eisenberg says. "With Aurelia, you don't need to do that most of the time. Instead you write plain classes and follow various naming and project structural patterns, much like in something like Rails." The framework can infer many items and a lot of work on the developer's behalf, he says.
The platform leverages an extensible HTML compiler for customizing markup and a data-binding engine for binding between vanilla JavaScript and DOM. It also supports development via JavaScript variants such as CoffeeScript.
Up next for Aurelia will be a beta release to add missing features and performance optimizations. At some point, Aurelia will be solid enough for production use, says Eisenberg. While he is the original developer, a core team of 12 people is actively contributing to it.