| One difficulty with building large single-page web applications is having a decent component model. Right now, web pages are mostly composed of primitives (divs, etc) which are the building blocks for complex UIs, but there's not a first-class way of bundling these together into richer components such as a tab control, or a data bound listbox. The web components basically standardize a way to encapsulate more complex UI components, so you can do something like: <x-tab-view></x-tab-view>. Even beyond a rich community of pre-built components for you to consume, they make it easier for you to make your applications composable- <my-header></my-header>
<my-paging-content>
... lots of content ...
</my-paging-content>
<my-footer></my-footer> Hopefully this all makes it much easier to build larger single-page apps. |