The status of {{unbound}}


#1

With the final release of a project approaching, I’m trying to optimize and improve the project for the production build. So I came across unbound:

My new car is {{unbound color}}

But after some research I found out that the unbound helper is… still there but deprecated in a way.

The unbound helper is mostly a legacy API in Ember, although it is not being removed in 2.0. It was almost exclusively used to manage performance issues which are well addressed in Ember 1.13’s new rendering engine.

But apparently it’s still being used by some big companies, as this lightning talk (from 2:40) suggests.

So does anyone know what the status of unbound is? Will it be deprecated for real in the future? Is there enough optimization to justify spending time on refactoring the project?


#2

I too would be curious about this. At one point, we saw a great performance improvement by using unbound where possible. But in the past year or so I’ve heard a few people say it’s mostly negligible with the introduction of streams and glimmer.


#3

In Glimmer v1 (Ember 1.13 through at least 2.8) {{unbound has much less impact than it did in Ember 1.0 through 1.12, but still does provide some improvement in certain circumstances.

This is still somewhat conjecture on my part (I’m certainly no rendering layer expert), but I believe that in Glimmer v2 (coming to an Ember version near you “soon”) even that small amount of improvement will be gone (since there is essentially no extra observation work setup for each bound property).


#4

@rwjblue That validates what I had suspected. Thank you!


#5

Thank you for the clear answer. For now, I’ll ignore {{unboud}} and spend my time better. :slight_smile:


#6

So we’ve upgraded our app to Glimmer 2. We have a lot of unbound helpers and we’re wondering if we should keep them or just go ahead and remove them. Any idea who might know about this for sure?