General questions

What is Aria Templates?

AT consists in a template engine (see questions below) that makes creating user interfaces a breeze, and a set of libraries to help you develop web applications quickly and efficiently.

Yet Another JavaScript Framework?

Back in 2009, at the time AT started, client-side templating was a new and promising concept with no real useable implementation. Aria Templates has been designed from the ground up to be an enterprise grade framework that would shorten development cycles and be sufficiently robust to be used in production environments. You can read more about AT's background in our About section.

What is Atlas?

Atlas is the name of the first template engine that is used today in AT and stands for Aria Templates LAyout System. It has been created in 2009 at the heart of the AT framework.

Is AT open source? What license does it use?

Yes, Aria Templates – template engines and libraries – are all open source and available on Github.

Aria Templates uses the Apache 2.0 License. More information is available on the license page.

Is AT based on <JQuery | AngularJS | FrameworkX>’s code?

No. Aria Templates’ code base does not borrow from other frameworks.

While both Atlas and HashSpace share some concepts with other MVC frameworks such as Angular or React, they don’t share the same internal mechanisms.

What are the supported browsers?

All modern browsers are supported as well as IE down to version 7 when using Atlas and version 8 for HashSpace.

Does AT pass the Turing test?

Sadly no, but our support hopefully does.

HashSpace specifics

Why “HashSpace”?

The name HashSpace is a reference to the characters used at the beginning of a template definition:

# template hello(world)

Is it a new framework? Is it backward compatible?

HashSpace is an alternate engine inside AT, it is not a framework on its own. The syntax it uses is different from the one used in Atlas and each engine is only able to process templates specifically written for it.

However, both may run in parallel, which means that different template kinds can run simultaneously inside the same application. Specific components have also been designed for an even tighter integration to allow inclusion of HashSpace components inside Atlas templates or Atlas widgets inside HashSpace templates.

Will HashSpace replace AT as we know it?

Inside AT, HashSpace can either be used on its own or alongside the current template engine but it does not replace it. Atlas will continue to be maintained and developed as usual.

When will it be available? What is the roadmap?

Aria Templates 1.6 will be delivered mid-June 2014 and will include the new NoderJS dependency manager (read more about Noder here.) This will pave the way for beta release of the HashSpace library, due mid-July 2014.

How do I...?

How do I create my first project?

The simplest way to start a project is to prototype it using our CDN. If you want to plan for a big project right from the start, we recommend you use our Yeoman project generator that creates everything you need to get started in a matter of seconds. Read this post for the details.

How can I use framework/library X in my Aria Templates project?

While there shouldn’t be any technical problem to include a third-party library in your project, you should keep in mind that the template engine handles DOM updates automatically so that you don’t have to. To make sure other libraries play nice with AT, you should either rely on solutions provided by each engine: use embed elements in Atlas or wrap external components with HashSpace.

How do I get syntax highlighting for my templates?

If you are using Atlas and Eclipse, you can already benefit from syntax highlighting and validation from the AT Eclipse plugin. Amadeus users can check this link for the installation procedure. The plugin will make its way to open source in the weeks to come. Notepad++ or SublimeText users can benefit from syntax highlighters available in the editor-tools repository.

If you are using HashSpace, a newer version of the Eclipse plugin is on its way. We also plan to support SublimeText right after that release.

Common issues

(Atlas) Updating the data model does not trigger any refresh

You probably are modifying the data model directly instead of using the appropriate helpers. For example, bindings will not be notified if you type

this.data.score = 42;

For this to work properly you need to write

aria.utils.Json.setValue(this.data, "score", 42);

(Atlas) I added a controller and my app stopped working

Chances are that your controller implements an init() method that doesn't complete properly. Remember that, because init can be implemented asynchronously, the framework has no way to tell when it finishes. To state that you're done, your init method must at one point call back the framework like this:

Reaching us

Can I contribute?

Why, of course! If you want to contribute to AT everything is explained on this page.

How to submit bug reports?

If you’re an open source user, please report bugs or issues directly on Github. If you have a question or a broader code issue, don’t hesitate to leave a post in our forum or to drop us a message!

Amadeus users can open PTRs and assign them to R&D-AQG-DUI-UCF-AFW or UAS. You may also contact one of the guys in support for the current sprint according to the list on this page.

How can we ask for and follow up development of new features?

If you’re an open source user, you can either open an issue or – if you have code to suggest – a Pull Request directly on Github. If you’d prefer to discuss with us beforehand, please head to the forum or drop us a message.

Amadeus users should directly contact one of the product owners (Marc Laval or Olaf Kappes) so that your request can be added to our backlog and its priority defined with us. Check here for details.

Releases

How often do you release a new version of AT?

Aria Templates is developed in SCRUM with 3-week sprints. A new release is delivered at the end of every sprint.

Is there a roadmap?

The content of the current sprint and our backlog is currently available on Jira (Amadeus users only.)

What about old releases and backward compatibility?

A given version of AT is supported for 8 sprints (24 weeks) after its release.

On specific occasions, some features may need to be replaced or simply removed. When this happens, the deprecation is clearly announced in the corresponding release notes and the deprecation period starts. During this period, which lasts from 9 to 15 weeks, deprecated feature will continue to work while issuing warnings in the console. At the end of this period, a non-backward compatible release is delivered.