It's interesting stuff, but don't jump into it expecting to run at full speed without tripping a few times along the way.
It's sad because the underlying ideas are good. It is in many ways similar to Vue.js, which is very good. To readers considering Aurelia I would suggest trying Vue as well, or wait until Aurelia is more mature.
And if interested in Vue, check out Quasar [0], a UX framework for Vue (recently made compatible with Vue 2.0) that seems to have a lot of the same goals as Aurelia UX.
Calling Component Authors
We know we've got a ton of members within our community who have built and want to build components for Aurelia. We're inviting you to join with our core team to build out the components of the Aurelia UX library.
It definitely seems like they're missing a huge part of what's going to sell this framework without functioning examples online.
Hope this is captured somewhere else, and not just buried in this article...
>> Unfortunately, we won't be able to continue our work on AI (Aurelia Interface). After careful consideration and review, we realized that AI was going in the wrong direction and didn't have the versatility or the proper architecture to handle our vision of a UX Framework. With Aurelia UX, we're rebooting our efforts.
I'm currently looking into what our next client side framework should be and I have a really good feeling about Aurelia. It feels like someone finally got it right. It's the same feeling I had about ServiceStack, which is by far the best web framework I've ever used.
My main criteria is ease of use by backend devs and going by the tutorials I've done so far, that certainly seems to be the case. I am however myself a backend guy and it's quite likely that Aurelia is missing something important or that the niceness breaks down once you cross some complexity threshold, and I can't see that due to my limited experience in that field.
It's been great. Very easy to work with and good performance these days. The best part IMO is that you don't really get sucked into an Aurelia-or-nothing situation. It's not hard to work with other techs right inside your Aurelia app. We often had a dev that was less familiar with the possibilities in Aurelia do stuff using technologies they already knew, and then we'd convert it to use Aurelia methods later after the feature was proven.
Most of the gotchas I've run across are related to observing arrays. By default some array mutations aren't caught. There are ways around this by manually importing the BindingEngine and setting up a subscription, or using @observable on a property, but before you figure that out array observation is a bit vexing. It's not that these other methods are hard, it's that you have an expectation of collection observations and the way it works (largely for performance reasons) doesn't mesh with that.
It does pay to have someone familiar with Aurelia and not all dabblers. We do a good bit of advanced stuff like dynamically generating bindings based on conditions defined in data (e.g. show/hide this form field if these other arbitrary form fields have these arbitrary values, which can be changed by the user, and automatically rebind to the new fields when conditions are changed). Doable if you use some of the more core Aurelia features, but not really something you can do with just the basic surface APIs.
Aurelia or not, all of our architecture is front end + app-agnostic API. Backend devs don't need to give a crap about Aurelia if they don't want. If you mean "is it easy for backend devs to do front end work using this?", I don't know because we don't have any pure backend guys for me to use for reference.
The biggest pain point is the build/deploy step takes some work to perfect, but this is being worked on by the community and is a pain for every front-end SPA framework.
As far as ease of use by backend devs, I'm not sure what you mean as the back end can be anything you want. We use a Node.js API for our back end, but use whatever you want to create a REST service and Aurelia will consume it just fine.
> Forthcoming...
I feel like introducing something without documentation is a little premature. Or maybe its use is abundantly clear to those who've used Aurelia.
https://medium.com/hashnode-insights/rob-eisenberg-on-aureli...
Also includes his comparison to Angular.
You can already use media queries + CSS custom variables today to do pretty powerful script-free responsive layouts: https://github.com/PolymerElements/app-layout/tree/master/ap...