- Intro to Polymer
- Explain Web components specifications
- Explain Polymer project setup
- Using elements - basics (0,5 day)
- Mediator pattern
[[]]
vs{{}}
- Intro to "property effects"
- dom-repeat and dom-if
- Firing events
- Lab: create todo app (which lab?)
- Advanced scenario with
array-selector
- Filtering and sorting lists
- Lab: todo app ~ create done flag
- Explain
this.set
,this.notifyPath
,this.push
, etc
- Layouts (~1h)
- Install iron-elements (don't show element catalog yet)
- Use style
<style include="iron-flex iron-flex-alignment"></style>
- Create header, flex content, footer with container 100%
- Lab: create layout for todo app
- Use interface elements (back to using elements) (till end of day)
- Pro tip: Faker.js
- Introduce polymer elements catalog
- Demo
iron-pages
,iron-list
(with grid view),iron-icon-set
,iron-icon
,iron-image
, paper-toolbar
,paper-header-panel
,paper-drawer-panel
,paper-button
,paper-icon-button
paper-menu
with mediator pattern (selected prop in menu and iron-pages ~ no code routing)- Lab: use the elements in the todo-app
- Animations (1h ~ 1h15)
- Go to catalog and show neon-elements
- Copy paste examples from slides
- Show demo's (ball animations)
- Lab: animate todo-app
- Forms (~till noon)
- Build-in validations (read docs of iron-input, paper-input wraps iron-input)
- Custom validations
- Demo the custom validation example
- Routing + lazy loading (~1h)
- Go to catalog and show app-elements
- Demo app-location and app-routes
- Including child routes (provide tail of parent route to child route)
- Lazy loading with
this.resolveUrl('./my-element.html')
- Lazy loaded router
- Route the todo-app
- Offline apps (~2h)
- Plain html javascript network detection (
navigator.onLine
) - Network status behavior (on-offline support)
- Service workers in plain javascript
- Introduce platinum elements (cool html5 features like bluetooth, push notifications, service workers etc)
platinum-sw
, includes work with slightly different syntax
- Plain html javascript network detection (
- Choose: storage / testing / localization
- Tooling