Potential support for Web Components?

317 views
Skip to first unread message

Larry Gordon

unread,
Nov 22, 2013, 4:26:04 AM11/22/13
to duran...@googlegroups.com
Just wondering if there was any thoughts in the future roadmap for supporting Web Components? Recently there were a few announcements regarding Ember, Angular and Polymer.
Durandal 2.x has great support for Widgets which is not too dissimilar from the concept around Web Components in the fact that it offers a modular way to do MDV. The only big missing piece lies around the use of custom html elements and how everything currently happens within a data-bind attribute or a virtual directive. This could potentially be a limitation of Knockout since the compose functionality relies on it for dom insertion and data binding. Are there any thoughts around supporting any of the polyfils like X-Tags and Polymer? I know that with 2.x there was a decision to roll all of the micro library features into custom Durandal as features and plugins, thus removing the need to rely on 3rd parties.

At my company we've pushed Durandal 2.x to a pretty decent point to get a first release of our product out the door. Right now we are doing some architectural discussions about reusability, future upgrade path to Web Components, and maintainability. It would be great to understand what the thoughts are around supporting Web Components in the near future for Durandal and potentially Knockout.

Thanks,
Larry

A little background info to grease the conversation:

Rob Eisenberg

unread,
Nov 22, 2013, 8:18:31 AM11/22/13
to Larry Gordon, duran...@googlegroups.com
What you are describing is the plan for Durandal 3.0.0 which will move away from Knockout/jQuery/RequireJS and towards object.observe, web components, MDV and es6 modules. It's about a year away I would imagine because it's another major version change with lots of breaking changes....not to mention a lot of work to get there. Believe it or not though, I'm already working on a prototype. It will be for es5 browsers only, so IE9 and above.


--
You received this message because you are subscribed to the Google Groups "DurandalJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email to durandaljs+...@googlegroups.com.
Visit this group at http://groups.google.com/group/durandaljs.
To view this discussion on the web visit https://groups.google.com/d/msgid/durandaljs/a18b87bb-5d3a-4a43-8953-3b1abb2b3db6%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.



--
Rob Eisenberg,
President - Blue Spire
www.durandaljs.com

Ω Alisson

unread,
Nov 22, 2013, 8:41:51 AM11/22/13
to Rob Eisenberg, Larry Gordon, duran...@googlegroups.com
Really? I hope you keep a version compatible with IE8 :(


Rob Eisenberg

unread,
Nov 22, 2013, 8:47:18 AM11/22/13
to Ω Alisson, Larry Gordon, duran...@googlegroups.com
Most likely, there will be no support for non-ES5 browsers in 3.0. But that's a good way off. It's not coming until at least end of 2014...maybe 2015. Also, we will probably keep servicing the 2.x branch for people who can't update. But, eventually we have to move forward. This is all very preliminary and subject to change a whole bunch. It's only in an experimental stage right now.

Ω Alisson

unread,
Nov 22, 2013, 9:00:48 AM11/22/13
to Rob Eisenberg, Larry Gordon, duran...@googlegroups.com
Call me pessimist, but I really don't think IE8 will drop something like 15% of its global audience by the start of 2015.

Rob Eisenberg

unread,
Nov 22, 2013, 9:08:12 AM11/22/13
to Ω Alisson, Larry Gordon, duran...@googlegroups.com
With 3.0 I'm going to be working on the ideal version of Durandal for the future of the web. Once I get it where I like it, I'll then see how hard IE8 support is to be to get working. I'm pretty far off from that now...I only started messing with it yesterday...and it can't even display anything yet....so this is all very speculative.

Ω Alisson

unread,
Nov 22, 2013, 9:10:43 AM11/22/13
to Rob Eisenberg, Larry Gordon, duran...@googlegroups.com
What I really would like to see is Durandal taking the responsibility of database manipulation too. Jaydata and BreezeJS are not the answer in my opinion :(

Rob Eisenberg

unread,
Nov 22, 2013, 9:24:50 AM11/22/13
to Ω Alisson, Larry Gordon, duran...@googlegroups.com
That's not coming any time soon. Sorry. You can always write it yourself and if it's cool we can link to it from our site like we do those other libraries. It's just not really within our scope at the moment. If we do it, it will be after 3.0.

Larry Gordon

unread,
Nov 23, 2013, 3:54:32 AM11/23/13
to r...@bluespire.com, Ω Alisson, duran...@googlegroups.com
Hi Rob this is all really great news with 3.0! I'd be very curious to chat or collaborate on your prototype. I personally don't really see a way to strongly continue support for IE 8 past mid year of 2014 after MS does an official drop. Eventually it'll be a forced upgrade towards ES5 compatible browsers and my hope is that IE8 users will just update to IE11 and never look back. I'm glad to see MS integrate auto updates like chrome and Firefox because it's going to help the web move forward more quickly.

Personally I've been considering how to integrate something like X-Tags with Durandal. I'll have some time to wrap my head around it after our official US product launch in a couple of weeks. We are considering multiple technologies for our next step. I've been happy with what Durandal has given us in 2.x. I love knockout and how it's lightweight and does a simple job well. My only gripe is how natively everything needs to happen in a single data-bind attribute. I've got a small feature prototype that I just finished that is trying to push out the concepts of Durandal widgets to its edge. I'm doing multiple compositions with widgets embedded in other widgets to abstract out simple reusable functionality into smaller pieces similar to how web components are structured. I'm trying to fall somewhere between Durandal, Web Components, and Angular as my model. It feels a bit cleaner to parameterize the changeable aspects of the widget through some type of declarative tagging and custom attributes. My first go puts me in a better place (attributes in a data-bind) than to put all of my logic in the View Model. I've got some transcluded content thanks to data-part, but in the end it still feels messy.

What I would like to do is to find a middle ground between what Durandal 2.x has to offer now and potentially shim the current feature set to support a smoother transition to 3.x, web components, MDV, native observables, setters and getters, and what ever else we can throw at it. 

I know that Angulars approach along with Ember is to abstract those ES5/6 features under the hood and keep their current tooling and API's. So in the end it's still and Angular or Ember app with the same familiar API's and methodologies. 

Are you considering Durandal 3.x to just be a light weight bit of JS glue which interconnects all of the new features necessary to make web components possible? Or are we still looking at a similar API and workflow that Durandal 2.x offers while it switches out its plumbing (jQuery, requirejs,knockout) for native features and shims? Are you considering on creating your own shims or piggy backing on top of something like X-Tags or Polymer?

-- Larry

Rob Eisenberg

unread,
Nov 23, 2013, 9:01:57 AM11/23/13
to Larry Gordon, Ω Alisson, duran...@googlegroups.com
Everything is on the table for vNext. Right now it is highly experimental. I'm willing to break the 2.x API significantly in a future version in order to support the future web. I'm not committing to anything, just experimenting to see what things might be like if there were no constraints. Once I have something up and running, then we'll see about a migration path. Some of the work in the prototype will be able to be back ported to 2.x to just improve it's capabilities. Other parts won't and will have to be part of a future major version. It's very early and nothing is set in stone.
Reply all
Reply to author
Forward
0 new messages