Meta Refresh 2014

On the construction of user interface on the web

Mikhail Davydov

@mikhail_davydov

Components now!

Submitted Dec 18, 2013

WebComponents is a great idea! The problem is that WebComponents API is in working draft...

Why we don’t use just Components? Why we are waiting for that Web- prefix? We can use them right now and without havy polyfills! I will show you how to write Components today!

Outline

WebComponents’s Polyfill is havy and slow. We do not need it to write web applications in Components-way. We could create components since HTML4, CSS1 and ECMAScript3 epoch. But this idea became popular only these days.

There are few key ideas in Components:

  • Everything is Component even your app
  • Declarative Custom Elements with CSS, DOM and JavaScript isolation
  • Two way data binding
  • HTML Imports

Each idea can be implemented with help of familiar tools:

  • Everything is Component: NPM, Bower
  • Declarative Custom Elements: BEM & OOCSS
  • JavaScript isolation: CommonJS/Modules compiled by LMD
  • Two-way data binding: AngularJS-style Dirty checking or Accessors (getters and setters)
  • HTML Imports: BEM, Loaders and Transpilers

I will show you how to use reusable components today!

Speaker bio

My name is Mikhail. I am Front-End Еngineer on Yandex a “Russian Google”. Previously I worked on Wikimapia.org. I have participated in creation of front-end part of Yandex.Taxi, Yandex.Mobile, WebChats and helped to develop other Yandex services. As a big fan of web-technologies I wrote many articles about web-application architecture, JavaScript modules and HTML5 APIs.

I spend my free time on advocating web-technologies, answering releted questions, teaching JavaScript, writing LMD (JavaScript module assembler) and mixing www with photography (http://2layer.ru/).

Comments

{{ gettext('Login to leave a comment') }}

{{ gettext('Post a comment…') }}
{{ gettext('New comment') }}
{{ formTitle }}

{{ errorMsg }}

{{ gettext('No comments posted yet') }}

Hosted by

Meta Refresh is an umbrella forum for conversations about different aspects of design and product including: UX and interaction design CMS, content management, publishing and content marketing Information architecture more