Reject HTML

short rant by Pavel Filippov (@emdin)

In a nutshell

  • HTML/CSS/DOM are very limiting
  • HTML binding is wrong
  • React is good enough
  • Component reusability is a myth for a complex and innovative products
  • ...And thats why Web components are not that interesting
  • Positive part

HTML

  • Designed for formatting text with hyperlinks
  • Simple hierarchy structure (inherited from SGML)
  • It's markup language

DOM

  • Spawn of HTML, slow and limited by nature
  • Heavily impact browser rendering engines

CSS

  • DSL with tons of conventions and hidden magic
  • Cannot live without post-processors
  • Cannot live without hacks (use line-height to move this icon higher)
  • Calculated properties
  • No proper packaging, not even namespacing
  • CSS3 animations…

Data binding in HTML is wrong

        <td ng-repeat="col in banner">
            {{ col | dynamicFilter : banners.cols[$index].formatter }}
        </td>

        <button ng-click="changeFoo()">{{buttonText}}</button>
      

Component reusability is a myth for the complex interfaces

YouTube, Google Maps, Skype, Hearthstone, iTunes, Shortbook, Sublime, Wunderlist...

Positive part

there is no one.

...atomic components?

Thanks

(@emdin)