Aurelia 2 Status

Hello Friends!

I know it’s been a little while since we’ve spoken about Aurelia 2 on the blog, so I thought I would give a brief update here.

The good news is that Aurelia 2 is moving full steam ahead and great progress is being made on many fronts. However, it’s taking a little bit longer than we had hoped for.

Much has happened over the last year. The last few months in particular have taken the world by surprise. We’re all living through a unique time in history, which is having far reaching effects on all our lives. What you may not know is what has been going on in the lives of some of our core team members. Several of our core team members have experienced various challenges either of personal health, family health, or home. I won’t go into detail on the personal lives of other team members but I can share a bit about my own story.

Last May I had a serious back injury resulting in constant pain through November. Then, in November, I re-injured my back, worse than the first, ending me up in the emergency room for an evening and then back at home unable to walk for about three weeks. I’ve been recovering slowly (doctor, chiropractic, physical therapy, massage, injection…), but this month makes about one full year of nearly constant pain for me. That’s not all that my family has dealt with though. My youngest son ended up in the emergency room as well on Christmas day with a strange appendicitis-mimicking condition. Then in January, my wife sustained a serious injury, making it difficult for her to move around. She’s still recovering from that (we are a pair to see :rofl: ). Then along comes COVID-19. While I have no evidence that my family was infected, my youngest son got sick with an odd but mild disease in February. Exactly two weeks later, my wife and I both got sick, but worse. My conditions were worse than my wife’s, including some strange breathing symptoms. This was before much was going on in the US, including testing for the virus. So, we thought it was just a flu-like cold. We stayed away from folks during that time (because that’s what we tend to do when we aren’t well) and we were all recovered in a week or two. No idea what we really had, but we’ll be getting an antibody test when it’s available. Long story short, it’s been a challenging time.

As I mentioned, a couple of other core team members have had various health issues themselves, or in their family, or challenges with living situations or other. A lot of things collided all at once, making the last 6-9 months a bit of a strain on parts of the team.

That said, we’re committed to Aurelia and work has really begun to pick up strong again, helping to put Aurelia 2 back on track. To that end, I’d like to share a few cool things that are going on:

  • The Aurelia 2 kernel is almost stable and has had some great new contributions from the community, especially in the area of dependency injection. The new DI is even better than what Aurelia 1 has.
  • We’ve had a chance to revisit our kernel design and have now factored out some additional packages, making various features available on their own.
  • The runtime and component lifecycle is stabilizing and has some amazing new capabilities, particularly in the area of async lifecycle callbacks. It’s nicely consistent and has powerful ways to plugin and do all sorts of things.
  • The plugins like store, i18n, and validation have been refreshed, including some great documentation, and are improved over their Aurelia 1 equivalents. I’m so proud of the work the team has done on this.
  • The router is looking to be the best router I’ve ever seen, packed with great features both for practical scenarios, but also focusing on developer experience.
  • Our test infrastructure continues to advance as we continue to grow the breadth and depth of test coverage.
  • Documentation technology is progressing well, which will allow us to better document our APIs.
  • Tooling, such as makes, and the new CLI, are advancing and are available today for those that wish to give things a try ahead of release.
  • Integrations with web component libraries, Storybook, Native Script, and others are looking great.
  • And much, much more.

I’d also like to point out that @fkleuver is participating in multiple standards-related groups now, representing Aurelia. Each month he participates in a tc39 Frameworks and Libraries group, where we have a chance to early review new JavaScript language proposals and provide feedback based on Aurelia’s use cases. He’s also deeply involved with a new Decorators group that’s working on getting that language feature designed and through the standards process. It’s great to see these things happening because it means that Aurelia is influencing the future of the language and platform itself. Let me say it even more clearly “the Aurelia team is now helping to design the JavaScript language and other web platform features” :smile:

As for myself, I’m back at Microsoft, but this time more strategically located in the Edge organization. I’m in a unique position that gives me access to a lot of things happening in the platform as well as the standards groups. I’m now a member of several w3c groups focusing around web components, open UI, design tokens, and more. Through these opportunities, Aurelia is also influencing Edge, Chromium, and various web standards.

I hope this provides a bit of an update on where we’re at. We’re excited about Aurelia 2 and continue to move ahead. The whole world has been facing some challenges lately, and our team is not excluded from that. But, we’re committed to our vision and we’re working hard to make Aurelia 2 the best it can be.

Thanks!

68 Likes

Rob, Thanks for the update. Everyone’s health is priority #1.

What tooling have you guys set on to build documentation?

4 Likes

@elitemike

Good question! As I responsible for this let me explain.

One of our problems in Aurelia 1 was API docs. We fixed this issue with a new possibility that we made.

There are 2 goals about documentation in Aurelia 2:

1. API doc generator

This helps us to keep our API docs up to date you can find the source code in here
https://github.com/aurelia/aurelia/tree/api-doc-generator/tools/api-doc-generator

It is ready to merge. It should support 99% of our needs to convert a TS source code (with comments) to a document. Just like the following pictures:




You will access to any information you need about APIs with corresponding comments.

For now, It will be based on GitBook but we have some ideas about our Aurelia static site generator for this purpose (and also the next item).

2. Aurelia project doc generator

The first one was about APIs, As you know it is useful for the core team, but what about our developers?
I have some ideas about a new approach for generating the project’s doc to help the community in this area too.

Something like:
Angular Compodoc
Vue Styleguidist

To achieve this purpose we need some efforts in other areas (AOT, Router and …) but it is possible and inevitable.
I hope I have answered your question. :upside_down_face:

If you have any questions, do not hesitate to ask.

9 Likes

Many a time I wanted to ask about the Aurelia 2 progress and such, as I am eagerly waiting for it and its seems so much better. I did not asked just because not to add to the pressure, etc. And I really appreciate what you guys are doing and your dedication to it. Thank you, and may God bless all. Thanks

PS: I have my own plan to contribute to Aurelia 2 :grinning: by creating some components and open source app.

12 Likes

Hello Rob, hello Aurelia team!
Thank you so much for your efforts! I wish you all the best, especially for your health and that of your family!

5 Likes

I may have questions. My team just rolled out version one of our docs using Sphinx. I can’t say I’m in love with it, but we got the job done. We have a lot of json schemas that we give to other teams. We unfortunately couldn’t get a good tool to utilize the metadata in the schema inside of sphinx.

I like what you posted above, that looks nice. As long as there is actually a good description of what things do :slight_smile:

3 Likes

(sorry for starting a different track of discussion from docs)

Do we have any plans to make Aurelia 2 ESM compatible so that it can be loaded via <script type="module">import { Aurelia } from 'https://aurelia.io/dist/v2.js'</script> for example.

Please see rationale in the link below:

4 Likes

Yes, an ESM distribution is planned.

5 Likes

I’m psyched for Aurelia 2!

My team has been working on a project for about 7 months now and I’m really looking forward to migrating as soon as we can. Improved async support should reduce a lot of the headaches we currently deal with due to the mish-mash of systems we’re aggregating with our site.

Even still, I wouldn’t have chosen anything other than Aurelia if I had to make that choice again.

Keep up the work team! I’m rooting for you!

7 Likes

I’ll echo @elitemike in thanking you for the update and wishing everyone good health.

It’s good to hear that progress continues to be made but it’s hard to gauge which features are complete and of those that aren’t, how much there is left to do. Would it be possible to list on the GitHub readme the high-level features and extent to which each of these is complete?

5 Likes

I think @fkleuver can probably provide a fairly detailed list.

1 Like

There’s any estimation for a 1.0?

1 Like

Here’s hoping you mean 2.0 :joy:

1 Like

yes a 1.0 (release) for aurelia 2.

1 Like

Yeah covid19 plus back issues can be a big problem and can affect many people! Glad you’re getting better.

Anyway glad things are hopefully back on track. I’ve been using AU1, and the thought of having to switch to React or Vue makes me nauseous, so I really do hope for a great AU2 design.

So I coincidentally been playing around with Aurelia 2, I needed to make a quick app, and looking over Vue and React documents just, I don’t like it at all. But even though I had a lot of Aurelia 1 code I still wanted to see what the others were doing (if they had any major improvements). And safe to say, they are still behind too. By behind I mean according to my own expectations of what I expect from a modern framework. It is crystal clear to me, with my experience as a designer of new architectures, that all these frameworks are vulnerable to competition from a newer design. Too much emphasis on convention is not something I like, which is what Vue and React represent to me.

Too much “you have to write it out in this way, memorize it and if you make a mistake it won’t work…” has not been a path to design I agree with, it was the biggest issue back in Angular 1.

Anyway, I made an Aurelia 2 app, and it’s actually really easy to setup. I asked a friend to try it as well to make something simple, and I told him “look if Aurelia 1 makes you more comfortable you can switch to that” and he said actually he found Aurelia 2 faster to setup, more beginner-friendly, rather than Aurelia 1.

It got me thinking of just how important documentation, examples, and UI frameworks were, because I realized that I wasn’t sure I can install many UI frameworks for Aurelia 2 since it’s so new.

Glad things are on track for Aurelia 2. Can’t wait to see the full thing later.

7 Likes

To answer some of the questions with regards to the progress:

The lion’s share of work remaining for v2 alpha release is finishing the router and writing docs (lots of them). Any details on the feature parity between v1 and v2, as well as migration paths, will be included in the docs.

The aim is to get au2 alpha released by the end of June.

As much as I’d love to tell you all about where we’re at, it would be in the best interest of the release schedule to answer all of these questions only once, in the docs, as we’re closing in on the alpha release. This would allow us to keep focusing on getting everything in good order and provide you all with the solid release that you deserve for all your support :slight_smile:

14 Likes

We have a small team of 15 developers who have been using Aurelia for many years now. Just wanted to say thank you for an amazing framework and we are very excited to see Aurelia 2.

20 Likes

If only I could tell my customer what you said in your last paragraph :slight_smile:

2 Likes

Most stuff is already there, it just needs to be documented. Hence, the docs by all means and purposes forms the majority of the barrier for adoption right now.

Throughout the past several weeks, some folks from the community have been asking on Discord about how to use certain API’s that were not yet documented, and we have been answering most of them until we realized that was eating chunks of our time that were probably better spent on wrapping up and writing docs (so that the questions are answered for everyone at once).

10 Likes