# When will routable components land?

**URL:** <https://discuss.emberjs.com/t/when-will-routable-components-land/9448>\
**Category:** Uncategorized\
**Created:** [January 19, 2016, 10:11am UTC](https://discuss.emberjs.com/t/when-will-routable-components-land/9448 "2016-01-19T10:11:06Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![erikrothoff](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/erikrothoff/32/11787_2.png) [@erikrothoff](https://discuss.emberjs.com/u/erikrothoff)\
**Post date:** [January 19, 2016, 10:11am UTC](https://discuss.emberjs.com/t/when-will-routable-components-land/9448/1 "2016-01-19T10:11:06Z")

</div>

Officially controllers are deprecated in favour of routable components. However, using routable components is not possible because it is not implemented in an official release yet. This means we are left with using the deprecated model of controllers, and all documentation is how to use controllers, and all tutorials available utilize controllers. The releases made every 6 weeks don’t mention any progress on the feature, and nowhere (at least what I’ve can seen) is there a roadmap of “when can we expect to be able to use this”. Is it Ember 2.4, 2.5, 2.8 or even 3.0?

I’m currently building a pretty major application using Ember and feel kinda dirty because I’m using controllers. Also because I’ve currently run into some issues because of the fact that controllers are singletons, I’m trying to move away from them. This leaves me with the question of “with what?”. Searching there is no real documentation on what I _should_ be doing, and no idea of when I can expect.

I realise it’s currently in development and it’s hard to put a time on releases in software, but how about just a scale? Short status update? Is it weeks months or years? It’s also a bit frustrating because all up-to-date documentation mentions routable components as the way forward.

---

<div class="post-metadata">

**Author:** ![RGL9032](https://avatars.discourse-cdn.com/v4/letter/r/58956e/32.png) [@RGL9032](https://discuss.emberjs.com/u/RGL9032)\
**Post date:** [January 19, 2016, 1:31pm UTC](https://discuss.emberjs.com/t/when-will-routable-components-land/9448/2 "2016-01-19T13:31:49Z")

</div>

I too am very frustrated by the absence of Routable Components. I had a small rant about it here: [What are right uses of controller - #9 by RGL9032](http://discuss.emberjs.com/t/what-are-right-uses-of-controller/9360/9)

The TL;DR; is that Routable Components will not be worked on until “Enhanced Pods” (or Pods v2) and Angle Brackets (Glimmer Components) have both been completed. Angle brackets is not likely to appear until 2.5. Assuming enhanced pods isn’t worked on in parallel, that put’s it’s earliest at 2.7 or 2.8. Only after both of those things have been completed, will Routable Components be worked on, so likely 2.11 or 2.12.

So if you assume that Routable Components is 9 releases and each release is 6 weeks apart, that puts it about 54 weeks out. Who knows what will really happen.

This makes me really sad and frustrated. It causes a lot of confusion for new users and it results in a lot of undesirable controller code or weird “fake routable components” for those of use trying to practice the proper patterns.

---

<div class="post-metadata">

**Author:** ![locks](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/locks/32/3878_2.png) [@locks](https://discuss.emberjs.com/u/locks)\
**Post date:** [January 19, 2016, 11:27pm UTC](https://discuss.emberjs.com/t/when-will-routable-components-land/9448/3 "2016-01-19T23:27:59Z")

</div>

> [@erikrothoff](#):
>
> Officially controllers are deprecated in favour of routable components.

`Ember.Controller` is not officially deprecated, as features can only be deprecated when the alternative is already in the stable version. The 2.3 release blog post mentions that 2.4 will feature solely performance improvements, so it won’t be before 2.5 at any rate.

There’s nothing wrong with controllers themselves. See @RGL9032’s link for a discussion on the subject and particularly my blog post.

---

<div class="post-metadata">

**Author:** ![robdel12](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/robdel12/32/9337_2.png) [@robdel12](https://discuss.emberjs.com/u/robdel12)\
**Post date:** [January 20, 2016, 12:59am UTC](https://discuss.emberjs.com/t/when-will-routable-components-land/9448/4 "2016-01-20T00:59:43Z")

</div>

> It causes a lot of confusion for new users and it results in a lot of undesirable controller code or weird “fake routable components” for those of use trying to practice the proper patterns.

Here’s how we handle it at The Frontside: if it went into a controller before it still goes there now. That is its proper living space right now. It would probably make it harder to migrate if you start devising your own solutions. I’m sure the core team will have a very sane way to transition from your controllers to routable components.

---

<div class="post-metadata">

**Author:** ![RGL9032](https://avatars.discourse-cdn.com/v4/letter/r/58956e/32.png) [@RGL9032](https://discuss.emberjs.com/u/RGL9032)\
**Post date:** [January 20, 2016, 1:39am UTC](https://discuss.emberjs.com/t/when-will-routable-components-land/9448/5 "2016-01-20T01:39:52Z")

</div>

> [@robdel12](#):
>
> That is its proper living space right now.

So that’s one of my biggest frustrations is it’s not suppose to be at this point. There were several points where it was said, “Routable Components are coming the the next release”, “Routable Components are around the corner.” We were encouraged to adopt these patterns. As an early adopter, I know getting burned is the risk you run. But usually it’s because the APIs changed, not the priorities.

> [@robdel12](#):
>
> I’m sure the core team will have a very sane way to transition from your controllers to routable components.

My second frustration is there really is no status update or acknowledgement that Routable Components is MIA. None of the blog posts since 2.x have mentioned what the status of this project is. We’re all just hanging out in limbo, trying to read between the lines in slack messages or RFC comments.

---

<div class="post-metadata">

**Author:** ![rwjblue](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/rwjblue/32/9411_2.png) [@rwjblue](https://discuss.emberjs.com/u/rwjblue)\
**Post date:** [January 20, 2016, 3:24am UTC](https://discuss.emberjs.com/t/when-will-routable-components-land/9448/6 "2016-01-20T03:24:11Z")

</div>

> [@RGL9032](#):
>
> My second frustration is there really is no status update or acknowledgement that Routable Components is MIA.

You state that a status update is needed, but you very clearly listed in [When will routable components land? - #2 by RGL9032](http://discuss.emberjs.com/t/when-will-routable-components-land/9448/2) the list of blocking features. It seems to me that the status is well known.

> [@RGL9032](#):
>
> There were several points where it was said, “Routable Components are coming the the next release”, “Routable Components are around the corner.” We were encouraged to adopt these patterns.

Neither of the quoted messages indicate that you should do anything but look out for something that is coming later. How can adoption be suggested of something that doesn’t exist? This doesn’t make sense.

> [@robdel12](#):
>
> If it went into a controller before it still goes there now. That is its proper living space right now.

Precisely.

> [@erikrothoff](#):
>
> I’ve currently run into some issues because of the fact that controllers are singletons

If the singleton nature of the controller is impacting you (this generally isn’t an issue, but it definitely can be), you can change your route’s template to invoke a component in its root. This way you tie your state to the component which has a lifespan that is more in tune with what you need.

---

<div class="post-metadata">

**Author:** ![erikrothoff](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/erikrothoff/32/11787_2.png) [@erikrothoff](https://discuss.emberjs.com/u/erikrothoff)\
**Post date:** [January 20, 2016, 9:37am UTC](https://discuss.emberjs.com/t/when-will-routable-components-land/9448/7 "2016-01-20T09:37:30Z")

</div>

Thanks for the reply, the suggested solution is probably the route I’ll go down. That’s also the reason I was looking into routable components, because it seemed to be exactly what I’m doing.

That pods and angle components are being prioritized is completely new to me. I’m also greatly looking forward to those features. My confusion probably arises in that I only follow the development from the official blogs, the official documentation, and sometimes venture into these forums and read RFC’s when I come across one. I really hope I’m not coming across as whiny or demanding but: I think at least a blog post about what the current status looks like would really help a lot. Where is everything now, what is the current plan for the future, and really really really rough guesstimates.

(And I believe a lot of the frustration simply comes from that everybody is so much looking forward to the new awesome features, and the great stuff everybody is doing!)

---

<div class="post-metadata">

**Author:** ![RGL9032](https://avatars.discourse-cdn.com/v4/letter/r/58956e/32.png) [@RGL9032](https://discuss.emberjs.com/u/RGL9032)\
**Post date:** [January 20, 2016, 2:20pm UTC](https://discuss.emberjs.com/t/when-will-routable-components-land/9448/8 "2016-01-20T14:20:40Z")

</div>

> [@rwjblue](#):
>
> You state that a status update is needed, but you very clearly listed in [When will routable components land? - #2 by RGL9032](http://discuss.emberjs.com/t/when-will-routable-components-land/9448/2) the list of blocking features. It seems to me that the status is well known.

The status is well known **to me**. I actively followed dozen of feeds to stay as informed as I can. But there is still confusion amongst many users. This post is just one of many where users are trying to use Ember and stumbling over the concept of routable components or “how to not use controllers”.

Ember could really use an “official update” on the blog about the status of Angle Brackets, Enhanced Pods, Routable Components and what to expect over the next year. I know that you guys have been burned in the past by saying too much, making too many promises and creating unreasonable expectations, but right now nothing being said. It’s not at all clear what’s going on behind the scenes. This is from the latest blog post:

> No new features are slated for Ember 2.4. During the canary cycle leading to this beta, the core team and community have been primarily focused on performance improvements or feature work still behind a feature flag.

Many of use want to know what the work is behind feature flags. Not knowing what to expect is kind of tough when you’re maintaining a product you’re trying to keep up to date. A little information can go a long way.

EDIT: One other thing that would go along way is if there were notes for the core team meetings again. This repo hasn’t been updated since November:

> <https://github.com/emberjs/core-notes/tree/master/ember.js>
>
> //github.com/emberjs/core-notes/tree/master/ember.js

---

<div class="post-metadata">

**Author:** ![emberigniter](https://avatars.discourse-cdn.com/v4/letter/e/aca169/32.png) [@emberigniter](https://discuss.emberjs.com/u/emberigniter)\
**Post date:** [May 23, 2016, 12:51pm UTC](https://discuss.emberjs.com/t/when-will-routable-components-land/9448/9 "2016-05-23T12:51:08Z")

</div>

So, when will routable components land?

Where can we track the status of main upcoming features and their dependencies, etc? I can’t find anything.

---

<div class="post-metadata">

**Author:** ![acorncom](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/acorncom/32/12198_2.png) [@acorncom](https://discuss.emberjs.com/u/acorncom)\
**Post date:** [May 26, 2016, 4:07am UTC](https://discuss.emberjs.com/t/when-will-routable-components-land/9448/10 "2016-05-26T04:07:15Z")

</div>

My understanding is they are still blocked by the Glimmer 2 work which is still on canary. Our goal (learning team) is to long-term build a features dashboard where this type of stuff will be more visible. It’s been a desire of the core team for over a year, just haven’t had enough helping hands pushing 😉

---

<div class="post-metadata">

**Author:** ![emberigniter](https://avatars.discourse-cdn.com/v4/letter/e/aca169/32.png) [@emberigniter](https://discuss.emberjs.com/u/emberigniter)\
**Post date:** [May 26, 2016, 5:34am UTC](https://discuss.emberjs.com/t/when-will-routable-components-land/9448/11 "2016-05-26T05:34:57Z")

</div>

Thanks @acorncom! While building a features dashboard sounds fantastic, how about a plain text document for starters? I can help but have no idea of what’s going on since everything seems buried deep down in github rfcs or issues – that’s why I was asking. Where do we start?

I am very happy about Glimmer 2, it’s making Ember a wonderful framework. The thing though, is I don’t think Ember beginners (and many other devs for that matter) deeply care much about Glimmer 2. They just want their app to render fast. They don’t _really_ care about partials or components – they just want to know their app is architecturally sound. Think “benefits over features”.

My goal is to bring this core-team-speak down to Earth. What features are being worked on and how will that make my Ember developer life easier? Which tradeoffs can I make, risks should I take, by being aware of possible directions of the framework?

Right now, it seems all this information is buried somewhere. I could be COMPLETELY wrong, so please feel free to point me to the right place.

Otherwise where can we talk? I’m not a big fan of Slack but if that’s the place… let me know.

---

<div class="post-metadata">

**Author:** ![acorncom](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/acorncom/32/12198_2.png) [@acorncom](https://discuss.emberjs.com/u/acorncom)\
**Post date:** [May 26, 2016, 7:54pm UTC](https://discuss.emberjs.com/t/when-will-routable-components-land/9448/12 "2016-05-26T19:54:31Z")

</div>

> [@emberigniter](#):
>
> Right now, it seems all this information is buried somewhere. I could be COMPLETELY wrong, so please feel free to point me to the right place.

Nope, don’t think you’re wrong 😉 The closest I know of is [https://github.com/emberjs/ember.js/blob/master/FEATURES.md](https://github.com/emberjs/ember.js/blob/master/FEATURES.md) which (like you mentioned) isn’t exactly normal-dev friendly. The PR I opened at [WIP: Setup a Features dashboard to show upcoming feature flags by acorncom · Pull Request #2393 · emberjs/website · GitHub](https://github.com/emberjs/website/pull/2393) was an initial first stab at getting this going. We closed the PR for now because it’s on our radar, but we don’t have time to get it going just yet.

So yes, I’m fully on-board with your thoughts and would love to see what you are describing built. It’d probably be simplest to discuss on Slack (any reason you’re not a big fan of it?) on the `#-learning` channel. Ping me when you’re around (I’ll be more free tomorrow / Friday MST) and we can fire up a video chat.

There’s another guy who has also expressed an interest in helping that project move along, so we might be able to have the two of you collaborate on it with me asking questions / poking people as we need.

---

<div class="post-metadata">

**Author:** ![averydev](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/averydev/32/11924_2.png) [@averydev](https://discuss.emberjs.com/u/averydev)\
**Post date:** [June 10, 2016, 1:09pm UTC](https://discuss.emberjs.com/t/when-will-routable-components-land/9448/13 "2016-06-10T13:09:47Z")

</div>

Oh man this would be fantastic.

I’m happy to help too! This is a real pain point for me with Ember and I would love to contribute.

---

<div class="post-metadata">

**Author:** ![acorncom](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/acorncom/32/12198_2.png) [@acorncom](https://discuss.emberjs.com/u/acorncom)\
**Post date:** [June 11, 2016, 2:32am UTC](https://discuss.emberjs.com/t/when-will-routable-components-land/9448/14 "2016-06-11T02:32:22Z")

</div>

@averydev not sure if you’re discussing helping with the feature system or something else. If the feature board, look me up on Slack and I can put you to work 😉

---

<div class="post-metadata">

**Author:** ![averydev](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/averydev/32/11924_2.png) [@averydev](https://discuss.emberjs.com/u/averydev)\
**Post date:** [June 13, 2016, 10:02pm UTC](https://discuss.emberjs.com/t/when-will-routable-components-land/9448/15 "2016-06-13T22:02:38Z")

</div>

@acorncom Yes, I’d love to help out on the feature board! I’ll find you on Slack…

Thanks!

---

<div class="post-metadata">

**Author:** ![konrad](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/konrad/32/13521_2.png) [@konrad](https://discuss.emberjs.com/u/konrad)\
**Post date:** [July 5, 2016, 5:45pm UTC](https://discuss.emberjs.com/t/when-will-routable-components-land/9448/16 "2016-07-05T17:45:49Z")

</div>

YES, a feature dashboard would be so, so nice. I’d offer help.

---

<div class="post-metadata">

**Author:** ![mdehoog](https://avatars.discourse-cdn.com/v4/letter/m/90db22/32.png) [@mdehoog](https://discuss.emberjs.com/u/mdehoog)\
**Post date:** [August 8, 2016, 9:23am UTC](https://discuss.emberjs.com/t/when-will-routable-components-land/9448/17 "2016-08-08T09:23:02Z")

</div>

I’ve created an addon that enables routable components for Ember 2.7 and greater. You can find it here: [https://github.com/mdehoog/ember-routable-components-shim](https://github.com/mdehoog/ember-routable-components-shim)

---

<div class="post-metadata">

**Author:** ![aexmachina](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/aexmachina/32/15125_2.png) [@aexmachina](https://discuss.emberjs.com/u/aexmachina)\
**Post date:** [September 5, 2016, 4:00am UTC](https://discuss.emberjs.com/t/when-will-routable-components-land/9448/18 "2016-09-05T04:00:41Z")

</div>

@mdehoog thanks for that! Can I just ask whether you would recommend using that shim in a fairly small production app?

---

<div class="post-metadata">

**Author:** ![mdehoog](https://avatars.discourse-cdn.com/v4/letter/m/90db22/32.png) [@mdehoog](https://discuss.emberjs.com/u/mdehoog)\
**Post date:** [September 5, 2016, 4:16am UTC](https://discuss.emberjs.com/t/when-will-routable-components-land/9448/19 "2016-09-05T04:16:09Z")

</div>

@aexmachina I’m using it in a production application. Any changes to the `outlet` keyword in Ember may break the addon, but I will attempt to keep it up to date until routable components are officially supported.

---

<div class="post-metadata">

**Author:** ![benking](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/benking/32/10616_2.png) [@benking](https://discuss.emberjs.com/u/benking)\
**Post date:** [September 6, 2016, 5:54pm UTC](https://discuss.emberjs.com/t/when-will-routable-components-land/9448/20 "2016-09-06T17:54:56Z")

</div>

Looks good! How does it work with query params?

[Next page](https://discuss.emberjs.com/t/when-will-routable-components-land/9448.md?page=2)
