Aurelia in Production
I am into Aurelia for some time now and like it more every day. I wrote a blog post about Aurelia in January after I developed my first demo application and presented it to interested colleagues. Now we will use Aurelia in production for a very large project and I am very excited 😃
Till now we developed single page applications mainly with Angular 1.x and were quite happy with it. Therefore, we though we would just continue with the replacement. We firstly tried Angular 2 (alpha 0.26/0.27) at our camp (some company training days where we are trying stuff and improving skills) and it was quite hard. Strange new concepts and syntax, little to no documentation and the code examples that we found were already old. However Angular 2 was still beta.
So what now?
Now, one year later we won this IoT project and had to decide which framework we want to use. The requirements for the project are quite extensive. We will develop a responsive web application and an app with the same functionality besides that the app will be additional be able to speak over Bluetooth LE with several devices and show some configuration interface.
Because of high intersection of functionality between the applications and also high pricing and timing pressure we choose a hybrid approach with Cordova. We already implemented a Cordova app with BLE integration for another project. So we knew already that using the native API will work pretty well.
To continue with Angular 1.x was not an option and thus we compared Angular 2 and Aurelia. The decision was quite hard regarding that both frameworks are still not released in version 1.x. We tried both and the Angular 2 experience was still not very good, though Angular 2 is already in release candidate. While we had real fun with Aurelia and made great progress.
After exploring @AureliaEffect for three days at #ZCamp16 everyone prefer it due to it's simplicity and great concepts
— Katharina Bähr (@kabaehr) 14. Mai 2016
There is a chance that Ember would have been a proper choice, some would suggest React, but we wanted to use something that is similar to what our developers used to and plays well together with TypeScript.
Why we chose Aurelia
Beside the better development experience we evaluated some more topics including community, performance, stability, backing and status. Though Angular 2 was already in release candidate and Aurelia not, Aurelia seemed way much more stable during beta phase. This could be due to a better design in mind or just because Aurelia is really caring about to produce not too much breaking changes. Therefore, no wonder but even more pleasant that they say that Aurelia can already be used in production.
@httpJunkie We stated it was production ready when we went Beta in November of last year. We've had apps in production for a year now.
— Rob Eisenberg (@EisenbergEffect) 8. April 2016
A strong argument for Angular 2 was that it is backed by Google and has a greater community. But I assume that the Aurelia community will grow very fast and the help you get on Stack Overflow and in the Gitter channel is already awesome. While Google also like to dump projects, Durandal Inc. is promoting Aurelia as their product, want to make business with it and consider developer as their customers.
At the moment Aurelia is preparing the release candidate which will be released soon. This is great because to see Aurelia progressing and their effort to make the update process as smooth as possible confirms our decision even more. I really look forward to use Aurelia in production and to see it performing. I will blog about our experiences and interesting topics we faced in the development process so stay tuned :)
Found some typo, want to give feedback or discuss? Feel free to contact me :)