[RFC] Lifecycle Names

Hello Community!

As you know, we’ve been working hard on Aurelia vNext this year. Things are coming along exceedingly well. I’m even more excited about it than I was when we first launched Aurelia.

As we work through the details of vNext, we want to maintain a balance of backwards compatibility (easy upgrade) and making breaking changes that are required to address long-time issues. One of the issues I’ve seen over the years is the common confusion around component and routing lifecycle methods. For example, the difference between attached and activate, which are very similarly named, seems to be a recurring problem. For vNext, we have an opportunity to address this and we really want your feedback and guidance.

To help us work through these questions, please consider contributing to our RFC, which you can find here: https://github.com/aurelia/aurelia/issues/293 When you read and think through these issues, please try to wear a few different hats:

  1. An Existing Aurelia User: What would be an acceptable breaking change to make your current apps clearer? What have you learned while working with Aurelia over the months or years that can provide insight into our decisions?
  2. A Newcomer: If you were coming to Aurelia for the first time today, with no background in Aurelia or Durandal, what would be the clearest API? The easiest to learn and remember? If you have an Angular/React/Vue background, what would help you make mental mappings from your previous experience with other frameworks?
  3. A Contributor: If you were to jump in and start working on or documenting Aurelia itself, what would make sense from an engineering (learnability, architecture, maintenance) perspective?

As we build the next version of Aurelia, something we hope will thrive and be a stable foundation for years to come, it’s critical that we get this particular area exactly right. Please join us at https://github.com/aurelia/aurelia/issues/293 to help us work through these questions.


PS - If you like these kinds of Discourse posts directing you to RFCs and find it motivating or engaging, please like this post and we’ll do more of this in the future. Discussion on the particular RFC should go into our GitHub issue, linked above. If you have feedback on how we’re messaging things like this and how we can improve and engage you more, let’s use this Discourse thread to discuss that. We know there’s always ways we can improve and we want to make sure we’re hearing from you on that just as much as the technical side of things.