Re: [w3c/webcomponents] The is="" attribute is confusing? Maybe we should encourage only ES6 class-based extension. (#509)

@prushforth I think @trusktr answered it for me.  If we invest some effort into cleaning up the hierarchies and making sure that extending classes like HTMLButtonElement can be done in a simple way (In other words there's no ambiguity) we will have a cleaner solution.

@rniwa also pointed out that some inheritance cases would lead to violation of the liskov substitution principle.  We could identify these cases and come up with other classes that are more suitable for inheritance / mixins.  For example if inheriting from the HTMLButtonElement leads to a violation, perhaps a AbstractHTMLButtonElement would be a better fit for inheritance in general.

If some browser vendors are deciding to delay jumping onboard because they feel that the above situation should be addressed first in order to have a clean and simple solution, then we will be polyfilling those browsers for a long time.  

My sense is that some people from other vendors are insulted that their views are being disregarded.  If that's the case then they could end up hitting the breaks on supporting implementation of the specs.  That's more collateral damage for all of us.  I do think though that the vendors should voice their opinions and back them up with code and simple examples in open channels like this one.

On the flip side I agree with @WebReflection (God help me :) ) that it's good to push forward and try to get things working even if it's not a 100% perfect, because we will get utility out of it and learn and possibly even discover a few new cool things that are side effects.

However if we get the inheritance hierarchy right and get a simple clean API then that's less refactoring of components that all of us will be doing down the road.  If we all rolled up our sleeves and took one class each, we could probably finish up before midnight and grab a few beers!

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/w3c/webcomponents/issues/509#issuecomment-266172235

Received on Saturday, 10 December 2016 02:23:15 UTC