Cover photo
Rob Eisenberg
Worked at Blue Spire Consulting, Inc
Attended Florida State University
Lives in Tallahassee, FL
392 followers|151,261 views


Rob Eisenberg

commented on a video on YouTube.
Shared publicly  - 
Unfortunately, we didn't get down to dealing with some of the real issues with the various specs. As you might guess, I don't think web components are ready yet. My personal opinion is that we need to build a truly robust component model and I think there are a few things that could be done to help this succeed, which I'm not sure are actually happening today:

1. Any component spec needs to be based on a wide variety of use cases. Not just simple widgets such as "like" buttons but also more complex, but common scenarios such as data grids, custom selects, calendars, form controls, data viz, etc.
2. Web technologists need to familiarize themselves with prior art. For example, take a look at Xaml, Flash, Unity, iOS, etc How do these platforms handle these same problems? What do they each do well? What do they do poorly? What lessons can be learned? etc. A fascinating example of this is Xaml's Logical Tree and Visual Tree. It's basically the same concept as Light DOM and Shadow DOM...except it was released and has been in production since 2006. It also contains content re-projection, custom elements scoped to views and other important concepts which are needed and some of which are entirely missing from the current WC specs. My point is that some of these problems have been solved before, and have been working successfully with good performance across different platforms for a while (9 years in this case). We should learn from that.
3. Web Components need to be built on a solid foundation. This means we should start with ES6 as a baseline. But it also means we need a stronger baseline DOM. Before we add a bunch of new stuff, lets try to fix some of the longstanding issues. Why not add core accessibility APIs to the DOM? That would help WCs as well as a bunch of other scenarios (think canvas and webgl). Why not deal with certain long standing issues with layout? You can't create truly re-usable components if they don't have a way to adapt to their available space. So, add that core capability...and you not only help web components, but you make a ton of other important scenarios easier. If you look at almost every component system on any other platform, you will see that a key aspect of a component model is metadata. So, why not add metadata to the DOM? It's insanely useful to have meaningful ways to inspect DOM elements and understand what they do, without having to hard-code tons of special case rules. By adding this, you not only pave the way for self describing web components and a more adaptive/evolvable web, but you make the entire existing DOM self describing, thus making it simpler to author all sorts of libraries and frameworks with less code. I could go on. The point is that if we build web components on the shoddy foundation of today's DOM and yesterday's JavaScript, we are going to end up with a shoddy component model too.

In the early days, there was a lot of hype over Web Components. I believe this is because everyone truly loves the concept and sees a need for it. However, over the last year or so developers have started to dig in. I believe that the reality of what they have found underwhelmed them. The proposal just doesn't make it really any easier for many developers to build the things they need to build. There aren't only critical (and often expected) feature missing, but some of the ideas just don't work well in the real world, are too complicated or are tightly coupled.

Let's have a robust component model, one that solves real world problems and one that we can get excited about. One that isn't developed in isolation but that learns from the past decades of UI frameworks across as many platforms as possible. One that is built on a strong foundation, capable of supporting the web components structure built upon it. That's what I'm on board for.

Rob Eisenberg

Shared publicly  - 
Today I'm thrilled to announce the launch of the Durandal 2014 Kickstarter!!! Please consider supporting us in 2014.
New Releases. Tooling. Training. NextGen.
Patrick Robbins's profile photo
Great job rob!
Add a comment...

Rob Eisenberg

Shared publicly  - 
Happy to share some cool news with you all today!
Prasath Sivalingam's profile photoCecil Phillip's profile photo
I doubt anytime soon. I'd just suggest keeping track of it on the angular github page
Add a comment...
  • Blue Spire Consulting, Inc
Map of the places this user has livedMap of the places this user has livedMap of the places this user has lived
Tallahassee, FL
  • Florida State University
    Music, 1998 - 2003
Basic Information