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

The pencil is the cost of web development if we get the spec right.  For example if we do this:

```
class FancyButton extends HTMLButtonElement
```
Then that should be all that is necessary in order ensure that that element knows that it `is` a button and that element should have all the features that (Accessibility, etc.) of the native button element.  If we get the DRY part right, then web developers get a predictable, consistent, and symmetric programming paradigm to work with.

If we cut down on the number of concepts we have to understand to deliver the same end result then we cut down on cost.  The list of things we should learn now a days in order to be effective is pretty long.  Just catching up on the latest specs (Shadow DOM, HTML Imports, etc.) for material related to this issue is a fairly large time investment, and hopefully it's a worth while investment because it brings greater simplicity to our products from a prototyping, implementation, and maintenance point of view.

The `is` attribute is the pen.  That's because it places a massive handicap on the options you have for your application's features.  If you are developing anything using the `is` attribute then that means that the corresponding form of PE that it enables is a priority.  Since that's a priority the element that the `is` attribute is on cannot collaborate with any other custom element on the page, since that breaks the solution.  And that is something that developers now need to clearly understand.  Also suppose we are using the `is` attribute and we add other custom elements that your customer or you need.  Well now we just negated the need for the `is` attribute by doing that and all developers should understand this.  Do you need a an element with the `is` attribute and the shadow dom?  That could get complicated ...

The `is` attribute also broadens startup phase for the solution into possibly more than two categories.  That adds more units tests, more integration tests, more documentation, etc.  It also means that more experimentation and tweaking is necessary because we should want the presentation to be decent all all levels of PE and at least to provide a minimal functionality set, if not all the bells and whistles.

So these are just a few things right off the top of my head.  I'm sure if we start looking across a set of simple examples it will become clear that the `is` attribute is the ten billion dollar pen and that it's very easy to find a pencil to replace it.




-- 
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-265641882

Received on Thursday, 8 December 2016 03:13:37 UTC