Published on: June, 2016
Published on: June, 2016
Creating and developing rich user experiences is one of the top priorities of organizations in 2016. Javascript, despite some criticism, is one of the most popular programming languages for building software. This is because you can find it in any of the layers that compound a software system. Because of its popularity, it is often easier for technology teams to recruit Javascript web developers, than web developers of other languages.
Graphic Javascript is the most common programming language
However, as mentioned, developers have criticized Javascript. Today, developers want to be able to rapidly develop interactive web applications, and it’s here that Javascript frameworks, such as Aurelia, Angular, or React, provide a major boost to standard Javascript. So at this point, let’s turn to examine Aurelia in more detail.
Aurelia is the next generation client-side JavaScript framework created by Rob Eisenberg under the ECMAScript 6 (ECMA 2015) standards to be the successor of Durandal 2.x framework to create your own applications for the browser. It means its core and its collaborative libraries have been written with ES6 completely.
Aurelia applications are designed to be:
You can use the Aurelia framework to build a variety of application-like desktop applications using Electron, mobile apps using Cordova/CrossWalk/Phonegap and modern Browser apps. It can be integrated with any technology easily, it is pluggable, very customizable and has been designed with conventions in order to avoid the developer having to write lot of configuration code.
Different from other frameworks, Aurelia is recognized as an official product by Durandal Inc. It means it is an open source framework with optional commercial support.
Aurelia is currently in an early preview stage which means it is beyond in alpha version. According to Rob Eisenberg, Aurelia is not ready to go into production yet but it will be soon.
Graphic Summary of Aurelia
When using Aurelia you are building a next generation application. The main advantages you will find when using Aurelia as your SPA framework include:
Aurelia uses the MV* pattern, which for those of you not familiar with it, provides separation of concerns and a two-way bind data within views. The view is written with HTML and is rendered into the DOM. The view-model is written with JavaScript and provides data and behavior to the view. Basically Aurelia will find a VM and then find a view to tie together.
Aurelia relies on:
A common Aurelia application structure looks like:
build: Root directory for your build tool configuration.
task: Directory where your automated tasks files are stored.
lib: Where generic non-app specific code lives. Utility classes and functions for doing utility-like tasks
src: Root directory , contains; app.html, app.js and main.js
components: Where common application components like headers, navigation, footer, etc live
services: A folder for singleton service classes to work with API’s calls.
resources: Where our custom elements and value converters live.
styles: Where the stylesheets files live.
Since Aurelia is a new technology, which is still maturing, there are a plenty of ways to contribute to the project.
Belatrix is providing development services using Aurelia as the main single page application framework.
Our goal is to contribute with the community by creating plugins or improving the existing code.
The Belatrix team has also contributed by raising some bugs/questions and we created a skeleton to build a mobile application using Phonegap which is currently being reviewed by the core team. With some migration work it can be used with Crosswalk easily. We take advantage of the Cordova engine to create Single Page Application to the mobile having Aurelia working.
Check out the pull request on Github.
We encourage people to fork some code and make their own contributions.
Aurelia is forward-thinking written with ES2016. It integrates with web components and it does not have external dependencies, except polyfills. It leverages the technology of the future to target today’s mobile desktop and browser environments. It is a real evolution of the Durandal product and has been created based on all the experience taken from that framework and several discussions which Rob Eisenberg had with the Angular team.
For those of you interested in developing next generation javascript applications, Aurelia will sure to be your favourite framework.
Make sure to check out our in-depth review of Aurelia. You can listen to the recording here.
Important Links