The current health of Aurelia

What you say to someone who says Aurelia is dead and we need to move on to a new framework?

How would you address these points?

  • Aurelia 2 has been very slow in coming
  • Aurelia 1 is not keeping up with industry standards
  • Hiring and onboarding is difficult because of the lack of community and learning resources
3 Likes

I would say that au1 is still better then all other “modern frameworks”.

10 Likes

I don’t speak on behalf of everyone else in the team, so my perspective will differ.

Just like larger companies with larger development teams, everyone has been affected by the lockdowns, restrictions and changing landscape around the COVID-19 pandemic. Despite the perceived slowness, a lot of work has been done in 2021. Work on Aurelia 2 has been done in the middle of the pandemic. We’ve improved our communication and have a tried and tested release process, which has resulted in the alpha being very stable.

As for Aurelia 1, it’s a solid framework many are using in production. I have apps that have been in production since 2016 that never die. I would love to know what people mean when they say “industry standards” because Aurelia is one of the most standards abiding frameworks around. Because Aurelia is just primarily HTML and Javascript, there are very few instances I can think of where Aurelia doesn’t work with emerging standards. The only turbulence with Aurelia 1 was Webpack 5, a tooling situation, not exactly a framework one. I know many projects had the same difficulties with Webpack 5.

I am biased, but I’ve found that Aurelia has had the most effortless onboarding and learning curve of any other framework. The only comparable simplicity is Svelte, and Svelte is a library, not a fully-fledged framework like Aurelia.

Development is also slower because we want to ensure very few differences between Aurelia 1 and 2. We want to avoid a situation like Angular faced where they dumped an entirely new version of Angular and offered no easy migration path. While Aurelia 2 retains many familiar parts, developers love; convention over configuration, intuitive templating, flexible binding system.

13 Likes

I’m writing from the perspective of an Aurelia VSCode Extension contributor.
For me personally, good learning ressources are super important.
This is why we aim to make the extension be a companion on your Aurelia journey, that can give you helpful hints.
While the Extension is nowhere near eg. Vetur, we are lucky, to be able to draw a lot of inspiration from them (eg. “Virtual Typescript file” to support completions in your View files).

Currently, we are in process of preparing a v2.10 release.
I know, that the we are not very transparent around the feature set of the Extension, but in my case, I wanted to focus just on the code (modularize, well-tested, easily extensible, easy to use), before announcing half-baked features.
But to use this opportunity, I’d still like to sneak-peak a little feature (almost-done-baked):

Rename component name.gif

rename-component-name

11 Likes

Aurelia 2 is so cool.

Unfortunately Rob made what I felt was a fundamental mistake when he started Aurelia. He decided to make it completely unopinionated as far as the loaders were concerned, so we had a framework where the first thing a user was confronted with was a choice of six loaders, and most non-core modules (and some core ones) had a nightmare scenario where they supported some loaders but not others.
Angular took a simpler approach, choosing WebPack and standardising on TypeScript, meaning new adopters had a single documented process, so even a complete novice was able to get up and running quickly.

We also had a complete lack of centralised community support. We used Gitter, which was fantastic for “I need help right now!” situations, but had a useless search system and no way of pinning extremely useful and relevant answers to common problems, so while I was banging on about either setting up a forum of some sort to let us assign moderators to flag and collect the hidden gems and FAQs, Angular 2+ shot ahead, as it was years before this discourse forum was created.
As a result of this we missed the peak adoption period, despite having a significantly better framework, fantastic community, and significantly better core modules for real-world tasks such as validation and I8N.

I still like Aurelia most. I’m not doing a lot of web development currently, but every time I have to look at a customer’s Angular or React solution I shudder, and I still see Aurelia as a single shining example of what can be done if you focus on structured convention based solutions instead of Angular’s death-by-attributes or React’s fluffy code-in-html approach.

I do struggle when I talk to clients about options to develop an app. If I push for Aurelia will they look it up and laugh at its lack of presence? If we do adopt it, will we be able to find developers who can switch from Angular to Aurelia quickly enough for our timeline?

So Aurelia isn’t dead, but the product’s focus on geekiness and not on real-world definitely hurt it. Let’s be honest, React.JS is an example of how you can take an awful system and get mass adoption by making the onboarding process simple. I believe that if Aurelia had been targetted at beginners in the same way, it would have had a huge take-up and be far bettter known :slight_smile:

On the plus side, every single popular web framework goes stale within 12-24 months. Angular is losing popularity, so I would say that if you feel you can trust that Aurelia will still be supported, it is as good a choice as most of the others. While the loaders were broken daily in the early days, Aurelia 1’s core and binding concepts remained pretty damn stable, and the main changes have been to add features that make it easier and more convention based, unlike almost all other frameworks where they seem to rewrite their whole model every couple of years.

What you say to someone who says Aurelia is dead and we need to move on to a new framework?

Which framework? Do we randomly choose a ‘flavor of the month’ product and see if it still exists in a recognisable form next year?

  • Aurelia 2 has been very slow in coming

Yep, I suspect because it keeps chasing changing trends and expectations

  • Aurelia 1 is not keeping up with industry standards

Yep, I suspect because it doesn’t bother chasing changing trends and expectations

  • Hiring and onboarding is difficult because of the lack of community and learning resources

The community in here is good, with questions answered very quickly and completely, but this is a small site, and nothing like your typical Angular community.
Learning resources are the real killer. Aurelia has always been plagued with situations where a simple “Hello World” example breaks because Node is the wrong sub-version or a loader needs some weird nuance, meaning potential new users simply delete it and move to React.
@dwaynecharrington wrote an Aurelia book which had lots of real-world examples of how to develop applications for the real world, and we need more ‘Cookbook’ solutions out there to guide people.

Show me a site with a set of up-to-date examples I could give to my son so he could start coding simple applications today. I can find hundreds of React or Angular ones, but I’d love to see some quality Aurelia ones.

7 Likes

I agree with a lot of what @jsobell says. It is hard to justify aurelia based on how other popular frameworks are measured like react, vue, etc. We also have a ton of apps that have been running aurelia for the past 5+ years and have had little to no “aurelia” framework issues. However, I’ve learned not to judge aurelia like other frameworks since it’s not like other frameworks.

I always balk at anyone that says it’s hard to find (or I need) “aurelia devs” as the framework is easy enough you just need a good JS dev and one can be up and running with aurelia (and your own teams code style) in less than 2 weeks (less if they are a good dev). I’ve trained a ton of generalists (full stack) devs on how to use aurelia and everyone of them have been up and running and being productive within the first week. It’s a true testament to how well aurelia was designed (convention over configuration) and keeping it very standards based.

We have no plans to stop using aurelia although we have started working with VueJS for smaller apps that don’t need a full SPA framework; mainly for quick, single view projects. I DO NOT like having to use build tools and specially NPM (always issues, all the time, with everyone) so if I don’t need all the features of a full framework, I tend to opt for a drop in option like Vue.

TBH though, I do worry at times that Rob is full time on another project, FAST, which is a great framework and you can see his hands all over the code. I went with aurelia based on his insight and design for a framework…BUT…I don’t see that changing really with the current aurelia team so I still feel confident in continuing developing with aurelia.

That’s my 2 cents anyways.

6 Likes

Aurelia seems healthy for me.

Nice community support, steady progress of V2, and stable V1. I’m happy with Aurelia.

3 Likes