DEV Community

Dwayne Charrington
Dwayne Charrington

Posted on

I Have Been Exclusively Working With The Aurelia Javascript Framework For 4.5 Years Now, Ask Me Anything!

While many of the more popular Javascript frameworks and libraries hog the spotlight; Angular, React and Vue most notably, I have been working with Aurelia since January 2015 every single day.

In my previous job, I architected a massive two-year rebuild of an existing visualisation heavy product (with the help of a great team who picked Aurelia up fast), and where I currently work, I am architecting form-driven applications at the moment primarily for the insurance industry.

There is a high chance you might not have heard of Aurelia and while this isn't a post advertising another Javascript framework, I encourage you to check it out if you get the chance. It's clean, fast and incredibly easy to be productive once you learn the basics. I wouldn't work with it so much if I didn't believe in it.

In amongst all of this, I have been active in the blockchain space, specifically helping build Steem blockchain applications once again, I have been using Aurelia.

I have had the massive privilege and honour of getting to work with an under the radar Javascript framework I love so much for the last four and a half years (and counting). And when I say exclusively, I mean every project I've touched has been Aurelia, I experimented with Vue on my own time, but have only been working with Aurelia.

Ask me whatever you want, it doesn't have to be specifically Aurelia related or even related to development.

Latest comments (7)

Collapse
 
nndevstudio profile image
Nemanja Novicic

Hi Dwayne, I have been working with Aurelia (SystemJS+TS based skeleton) since September 2015 every single day :-)
Idea was to create a sustainable front-end solution for a long term SaaS product integrated with modern identity providers and ASP.NET website platform.
Also, thanks to TS, engineers from C# world can easily adopt SPA development.

Recently, we have upgraded our configuration to gulp 4 and nodejs 10 version so I hope that Aurelia will survive.

You are right, we should find some time to write about real case studies based on Aurelia.

Collapse
 
spapaseit profile image
Sergi Papaseit Valls

Hi Dwayne, long term Aurelia dev and fan here; been using it for a myriad of client projects since the first beta's, and only recently I decided to take a look to see what Vue was all about.

The more I use Vue, the more I love Aurelia.

Anyway, my main questions are about vNext and the future of Aurelia.

  • When do you think we can expect the much anticipated Aurelia 2.0?
  • What do you think the future upholds for Aurelia?
  • What can we do to spread to love for this amazing framework in order to ensure it's future?

Would love to hear your thoughts.

Collapse
 
beggars profile image
Dwayne Charrington

Hi Sergi, thanks for the questions. That's awesome you've been using Aurelia for so long, it's one those frameworks you start using and then you find it difficult to stop using.

When do you think we can expect the much anticipated Aurelia 2.0?

This is a tricky one. A lot of work has been done and I can't really speak for the rest of the team because my involvement in vNext has been close to nothing in comparison to the other great core members doing some impressive stuff.

I think the intention is to get an alpha out there ASAP. I don't have hard dates, but in terms of core functionality, there has been a lot done and there are a few rough edges to smoothen out, but it's coming along well.

What do you think the future upholds for Aurelia?

I truly believe when vNext launches, people will finally take notice of Aurelia. People seem to forget that prior to Vue 2, that Vue 1 only experience small fanfare, it was not until version 2.0 that Vue really exploded.

Aurelia 1 is great and fantastic, but it arrived at a time when Webpack was still in its infancy and releasing constant breaking updates and changes, browser module standards and syntax were in their infancy. The tooling ecosystem is what really let Aurelia down when it launched in 2015 and the documentation wasn't ideal.

While vNext is going to be backwards compatible with the Aurelia you already know and love, it has been rewritten and architected from the ground up. It's an impressive undertaking and once again, I wouldn't be surprised if it ends up beating Angular, Vue and React in benchmarks once again like it did back in 2015 and still continues to do today.

What can we do to spread to love for this amazing framework in order to ensure it's future?

Talk about it. A few of us in the core team often joke about the fact that there are so many awesome developers and large companies using Aurelia, but they're too busy being productive to stop and take the time to talk about it. That's improving with the case studies coming out and there will be more of those soon.

But as I am sure you're aware, I've been blogging about Aurelia for a long time. Blog posts, videos, hosting meetups and using it for open source work are great ways of getting the name and framework out there.

Collapse
 
ma7eer profile image
Maher Alkendi

Don't want to make a lot of decisions -> angular
You want to decide EVERYTHING -> react
Middle ground -> Vue

Where would Aurelia fall? (Hope this made sense haha)

Collapse
 
beggars profile image
Dwayne Charrington

Totally makes sense. If I am interpreting right, you're saying that Angular gives you everything out-of-the-box (routing, validation, etc). For React you're saying that you need to glue together your own framework and Vue falls in between those two options by giving you enough out-of-the-box, but the power is there if you want it.

Aurelia would sit above React and I think above Angular as well. It's conventions based and Angular (although it has a powerful CLI), requires a lot of configuration and understanding of conventions (providers, services, etc). You can create a new Aurelia app using the CLI and the resulting skeleton structure you get is so basic and easy to understand, even a junior could work it out fairly quickly.

One observation I've made about Angular is although it's great technically, there ends up being a lot of files, apps look massive. You have a module file, a file for your routes, a file for your view-model, a file for your view and if you have styling, a file for your styles as well.

Collapse
 
ma7eer profile image
Maher Alkendi

Thanks for your answer!

One more question please!

Would you say Aurelia is more suited for larger applications then? when compared to others?

when I say large I not only mean monolithic I also mean it has a lot of programmers working on it at the same time.

In my short experience I noticed that Angular works a little bit better for large teams because of the convention (not necessarily true just what i noticed). Just wondering where Aurelia falls?

Thread Thread
 
beggars profile image
Dwayne Charrington

All good, Maher. Ask as many questions as you want.

Aurelia is definitely well suited to large applications. That is not to say you can't build small projects with it, but sometimes you don't even need a framework or much Javascript for some situations.

I can only speak from my own experiences and seeing how other companies have used Aurelia to solve problems, but Aurelia still promotes breaking up your application into separated concerns, but it doesn't force you to adhere to any framework-specific conventions that lock you into working a particular way.

Aurelia is great out-of-the-box because it's convention-based, so you can get away with writing as little code as possible. But, for some situations, you need to override some of those framework defaults and fortunately, it gets out of your way and makes it easy to do that.

The biggest team I have worked on with Aurelia is six or so people working on the one codebase. That project spanned over a two year period, it was quite a large application in the end and the issues we encountered were not framework-specific, more so related to tooling. I think any framework or library can work well in large teams if you make sure you properly structure and break up your application into reusable components.

The biggest advantage Aurelia has in large teams is the learning curve is so small, that I have seen developers with little to no modern SPA experience pick it up in a week, working on new features and code relatively unassisted in a couple of weeks and being productive in another week or two after that.