Why I'm Going to Use Aurelia

February 3rd, 2016

Aurelia is the new kid on the block with just over a year in the industry. Today, I talk about why I will be using Aurelia on new client-side projects.

If you've been following me for a while, you know that I went to Codemash in 2015 and said I would focus on AngularJs as a way to move forward towards a client-based MVC approach.

With that said, a month after Codemash, I heard about the ruckus about AngularJs 2.0 being backward compatible with version 1.3.

My thinking was I didn't want to dig into a JavaScript framework, learn it, and then realize I would have to go back and rewrite huge pieces of code to make it work with Angular 2.0. I've been burnt before so forgive me if I'm a little slow adopting newer frameworks.

So I decided to "sit on the bench", grab some popcorn, and watch the outcome of what would happen with AngularJs even though I said I would pursue Angular this year. I also didn't have a project that could justify learning a new JS MVC framework.

Enter Aurelia

Around March, I started hearing about another JavaScript MVC framework called Aurelia by Rob Eisenberg (@EisenbergEffect).

He was one of the developers who worked on Angular 1.3/2.0 until there was a...umm....disagreement and he left.

Then he decided to create Aurelia. It was created a little over a year ago and while I said I wouldn't adopt "newer" frameworks, this one seemed to have potential.

Since then, I've been taking notice of what it's capabilities are as a JavaScript MVC framework and I must say I am impressed.

Why Aurelia?

Angular has been around since 2009 and is really a mature MVC framework for the client-side.

So why would I decide to look at this relatively new framework as opposed to hopping onto the Angular bandwagon?

As you can see, there are quite a number of reasons that I've collected while "sitting on the bench." I've tinkered a little bit with Aurelia, but again, I haven't had a need to create an ASP.NET MVC with a JavaScript MVC framework.

However, I may have a need to use Aurelia.

One Reason For Me To Use Aurelia

Again, if you've been following me, you know that I tried to make a mobile web application using just web technologies in my ASP.NET MVC: Optimization Series. I didn't think there was a need to learn a client-side framework and challenged myself to make a fast, responsive, strictly web-based application.

Then I went to Codemash 2016 this year and attended a workshop on Building a Hybrid App.

In the workshop, we created a simple calculator on a single HTML page using Apache Cordova. I asked the presenter how you could create a multi-screen hybrid application.

He replied, "That's where the JavaScript MVC frameworks come into play." Frameworks like Angular, Ember, Meteor, and Aurelia are meant for these types of applications.

Again, while I don't have a need to create one yet, I may convert my existing Codemash app into a hybrid as a demonstration to my readers (if anyone is interested, post a comment).

One. Last. Push.

The final push for me with Aurelia came when I read a recent blog post titled Aurelia Bug Fixes, More Docs, and New Skeletons!

In this post, they released two new skeleton projects for Visual Studio users.

WhaaaaaT?!

Both skeletons use ASP.NET MVC with Aurelia, but one uses Aurelia with ES6 and the other one uses Aurelia with TypeScript.

What better time to start looking into Aurelia!

Now that I have a solution, I need a problem! ;-)

UPDATE: I'm started my journey into Aurelia by converting my mobile web app found here into an Aurelia app. I wrote about my Aurelia journey in a series of posts.

Conclusion

Over the next month or so, I will be writing about my experiences with Aurelia and taking you with me on my journey to find out how easy (or hard) it is to build JavaScript hybrid apps.

Has anyone else used Aurelia yet? Is it good or bad? Post your comments below.