Web Components @ ING · Web Components @ ING Rik van de Ven Why standard based development matters...
Transcript of Web Components @ ING · Web Components @ ING Rik van de Ven Why standard based development matters...
![Page 1: Web Components @ ING · Web Components @ ING Rik van de Ven Why standard based development matters so much to us Utrecht, 16-02-2017](https://reader033.fdocuments.us/reader033/viewer/2022053015/5f13a88ca52ae02b5d160e74/html5/thumbnails/1.jpg)
Web Components @ ING
Rik van de Ven
Why standard based development matters so much to us
Utrecht, 16-02-2017
![Page 2: Web Components @ ING · Web Components @ ING Rik van de Ven Why standard based development matters so much to us Utrecht, 16-02-2017](https://reader033.fdocuments.us/reader033/viewer/2022053015/5f13a88ca52ae02b5d160e74/html5/thumbnails/2.jpg)
Working for ING for around 5 years
Currently:Lead Architect Frontend of Touchpoint Architecture
Past:Engineer, Solution Architect, Technical Product Owner
About me
2
![Page 3: Web Components @ ING · Web Components @ ING Rik van de Ven Why standard based development matters so much to us Utrecht, 16-02-2017](https://reader033.fdocuments.us/reader033/viewer/2022053015/5f13a88ca52ae02b5d160e74/html5/thumbnails/3.jpg)
Optional: introduction to Web Components
3
Custom Elements
lays the foundation for designing and using new types of DOM elements
HTML Template
defines how to declare fragments of markup that go unused at page load, but can be instantiated later on at runtime
Shadow DOM
defines how to use encapsulated style and markup in web components
HTML Imports
defines the inclusion and reuse of HTML documents in other HTML documents
![Page 4: Web Components @ ING · Web Components @ ING Rik van de Ven Why standard based development matters so much to us Utrecht, 16-02-2017](https://reader033.fdocuments.us/reader033/viewer/2022053015/5f13a88ca52ae02b5d160e74/html5/thumbnails/4.jpg)
Market Leaders
Growth Markets
Wholesale Banking activities only
Challengers
ING
4
![Page 5: Web Components @ ING · Web Components @ ING Rik van de Ven Why standard based development matters so much to us Utrecht, 16-02-2017](https://reader033.fdocuments.us/reader033/viewer/2022053015/5f13a88ca52ae02b5d160e74/html5/thumbnails/5.jpg)
ING Direct Australia
5
![Page 6: Web Components @ ING · Web Components @ ING Rik van de Ven Why standard based development matters so much to us Utrecht, 16-02-2017](https://reader033.fdocuments.us/reader033/viewer/2022053015/5f13a88ca52ae02b5d160e74/html5/thumbnails/6.jpg)
ING Direct Spain
6
![Page 7: Web Components @ ING · Web Components @ ING Rik van de Ven Why standard based development matters so much to us Utrecht, 16-02-2017](https://reader033.fdocuments.us/reader033/viewer/2022053015/5f13a88ca52ae02b5d160e74/html5/thumbnails/7.jpg)
ING Bank ŚLĄSKI (Poland)
7
![Page 8: Web Components @ ING · Web Components @ ING Rik van de Ven Why standard based development matters so much to us Utrecht, 16-02-2017](https://reader033.fdocuments.us/reader033/viewer/2022053015/5f13a88ca52ae02b5d160e74/html5/thumbnails/8.jpg)
ING Direct France
8
![Page 9: Web Components @ ING · Web Components @ ING Rik van de Ven Why standard based development matters so much to us Utrecht, 16-02-2017](https://reader033.fdocuments.us/reader033/viewer/2022053015/5f13a88ca52ae02b5d160e74/html5/thumbnails/9.jpg)
ING DirectBank Germany
9
![Page 10: Web Components @ ING · Web Components @ ING Rik van de Ven Why standard based development matters so much to us Utrecht, 16-02-2017](https://reader033.fdocuments.us/reader033/viewer/2022053015/5f13a88ca52ae02b5d160e74/html5/thumbnails/10.jpg)
ING Retail NL
10
![Page 11: Web Components @ ING · Web Components @ ING Rik van de Ven Why standard based development matters so much to us Utrecht, 16-02-2017](https://reader033.fdocuments.us/reader033/viewer/2022053015/5f13a88ca52ae02b5d160e74/html5/thumbnails/11.jpg)
How can we share?
11
![Page 12: Web Components @ ING · Web Components @ ING Rik van de Ven Why standard based development matters so much to us Utrecht, 16-02-2017](https://reader033.fdocuments.us/reader033/viewer/2022053015/5f13a88ca52ae02b5d160e74/html5/thumbnails/12.jpg)
How can we share?
12
![Page 13: Web Components @ ING · Web Components @ ING Rik van de Ven Why standard based development matters so much to us Utrecht, 16-02-2017](https://reader033.fdocuments.us/reader033/viewer/2022053015/5f13a88ca52ae02b5d160e74/html5/thumbnails/13.jpg)
Quoting our chief: ‘RDD’.. Whut?
13
![Page 14: Web Components @ ING · Web Components @ ING Rik van de Ven Why standard based development matters so much to us Utrecht, 16-02-2017](https://reader033.fdocuments.us/reader033/viewer/2022053015/5f13a88ca52ae02b5d160e74/html5/thumbnails/14.jpg)
OK, fine, we will all use the same!
14
![Page 15: Web Components @ ING · Web Components @ ING Rik van de Ven Why standard based development matters so much to us Utrecht, 16-02-2017](https://reader033.fdocuments.us/reader033/viewer/2022053015/5f13a88ca52ae02b5d160e74/html5/thumbnails/15.jpg)
Scale?
15
![Page 16: Web Components @ ING · Web Components @ ING Rik van de Ven Why standard based development matters so much to us Utrecht, 16-02-2017](https://reader033.fdocuments.us/reader033/viewer/2022053015/5f13a88ca52ae02b5d160e74/html5/thumbnails/16.jpg)
16
![Page 17: Web Components @ ING · Web Components @ ING Rik van de Ven Why standard based development matters so much to us Utrecht, 16-02-2017](https://reader033.fdocuments.us/reader033/viewer/2022053015/5f13a88ca52ae02b5d160e74/html5/thumbnails/17.jpg)
Migrating…
17
![Page 18: Web Components @ ING · Web Components @ ING Rik van de Ven Why standard based development matters so much to us Utrecht, 16-02-2017](https://reader033.fdocuments.us/reader033/viewer/2022053015/5f13a88ca52ae02b5d160e74/html5/thumbnails/18.jpg)
Redefine Architecture
![Page 19: Web Components @ ING · Web Components @ ING Rik van de Ven Why standard based development matters so much to us Utrecht, 16-02-2017](https://reader033.fdocuments.us/reader033/viewer/2022053015/5f13a88ca52ae02b5d160e74/html5/thumbnails/19.jpg)
Target Architecture
19
Monoliths Client / Server
![Page 20: Web Components @ ING · Web Components @ ING Rik van de Ven Why standard based development matters so much to us Utrecht, 16-02-2017](https://reader033.fdocuments.us/reader033/viewer/2022053015/5f13a88ca52ae02b5d160e74/html5/thumbnails/20.jpg)
Target Architecture
20
Current
Web FrontendsSOA (APIs)
Mainframe / Database
Monoliths Client / Server
![Page 21: Web Components @ ING · Web Components @ ING Rik van de Ven Why standard based development matters so much to us Utrecht, 16-02-2017](https://reader033.fdocuments.us/reader033/viewer/2022053015/5f13a88ca52ae02b5d160e74/html5/thumbnails/21.jpg)
Target Architecture
21
Current
Web FrontendsMicroservices (APIs)
TargetMonoliths Client / Server
![Page 22: Web Components @ ING · Web Components @ ING Rik van de Ven Why standard based development matters so much to us Utrecht, 16-02-2017](https://reader033.fdocuments.us/reader033/viewer/2022053015/5f13a88ca52ae02b5d160e74/html5/thumbnails/22.jpg)
Target Architecture
22
Current
Web Components / Custom ElementsMicroservices (APIs)
TargetMonoliths Client / Server ING Target
![Page 23: Web Components @ ING · Web Components @ ING Rik van de Ven Why standard based development matters so much to us Utrecht, 16-02-2017](https://reader033.fdocuments.us/reader033/viewer/2022053015/5f13a88ca52ae02b5d160e74/html5/thumbnails/23.jpg)
Standardise on standards, not on frameworks
#usetheplatform
![Page 24: Web Components @ ING · Web Components @ ING Rik van de Ven Why standard based development matters so much to us Utrecht, 16-02-2017](https://reader033.fdocuments.us/reader033/viewer/2022053015/5f13a88ca52ae02b5d160e74/html5/thumbnails/24.jpg)
Components, components, components
24
![Page 25: Web Components @ ING · Web Components @ ING Rik van de Ven Why standard based development matters so much to us Utrecht, 16-02-2017](https://reader033.fdocuments.us/reader033/viewer/2022053015/5f13a88ca52ae02b5d160e74/html5/thumbnails/25.jpg)
25
Inspired by Dan Abramov
Presentational Components Container Components
Concerned with how things look
No dependencies on the rest of the app
Don’t specify how the data is loaded
Receive data via properties
Examples:Page, Sidebar, List
Concerned with how things work
Provide the data and behavior to presentational or other container components
Usually don’t have DOM markup of their own
Examples:UserPage, FollowersSidebar, FriendsList
![Page 26: Web Components @ ING · Web Components @ ING Rik van de Ven Why standard based development matters so much to us Utrecht, 16-02-2017](https://reader033.fdocuments.us/reader033/viewer/2022053015/5f13a88ca52ae02b5d160e74/html5/thumbnails/26.jpg)
Component Communication
26
WebComponent
Property / AttributeIN
EventOUT
![Page 27: Web Components @ ING · Web Components @ ING Rik van de Ven Why standard based development matters so much to us Utrecht, 16-02-2017](https://reader033.fdocuments.us/reader033/viewer/2022053015/5f13a88ca52ae02b5d160e74/html5/thumbnails/27.jpg)
WebComponent
Redux for managing application state
27
WebComponent
Property / Attribute
IN
EventOUT
WebComponent
Property / Attribute
IN
EventOUT
WebComponent
Property / Attribute
IN
EventOUT
Redux
![Page 28: Web Components @ ING · Web Components @ ING Rik van de Ven Why standard based development matters so much to us Utrecht, 16-02-2017](https://reader033.fdocuments.us/reader033/viewer/2022053015/5f13a88ca52ae02b5d160e74/html5/thumbnails/28.jpg)
A component is more than code
28
Component
Repository
I18n
A11Y
Tests
DEMO
API Mocks
Docs
![Page 29: Web Components @ ING · Web Components @ ING Rik van de Ven Why standard based development matters so much to us Utrecht, 16-02-2017](https://reader033.fdocuments.us/reader033/viewer/2022053015/5f13a88ca52ae02b5d160e74/html5/thumbnails/29.jpg)
Demo: The Guide
What about all the sharing?
29
![Page 30: Web Components @ ING · Web Components @ ING Rik van de Ven Why standard based development matters so much to us Utrecht, 16-02-2017](https://reader033.fdocuments.us/reader033/viewer/2022053015/5f13a88ca52ae02b5d160e74/html5/thumbnails/30.jpg)
Thank you
![Page 31: Web Components @ ING · Web Components @ ING Rik van de Ven Why standard based development matters so much to us Utrecht, 16-02-2017](https://reader033.fdocuments.us/reader033/viewer/2022053015/5f13a88ca52ae02b5d160e74/html5/thumbnails/31.jpg)
You know why Facebook won’t be built on Web Components? Because Facebook builds all their leaf
components. It’s all custom. It’s the same reason why Facebook won’t have any use for Material UI
components, probably ever. Same reason why Facebook won’t use your average jQuery plugin.
Does that mean you should not use Material UI nor jQuery plugins nor Web Components? No.
Facebook is not a regular site. A lot of things and technologies and choices that impact Facebook
are completely different to what most web developers have to face in their jobs. This is not science,
but I assume that 90%+ of websites in the world have less than 1% of the amount of active users that
Facebook has. The type of websites we build are different, and the way of building is also different. We
need: quick reusability, ready made components, and just getting it done. Often it doesn’t need to
be ultra fast, it doesn’t need to be ultra tiny. Often we just need to get it done, and neatly.
Web Components are for you and me, the mere mortal web developers. They are useful like Material
UI is. Love them back and you’ll make the web a place with more exchange of reusable code. A place
with more sharing.
Appendix - http://staltz.com/react-could-love-web-components.html
31
![Page 32: Web Components @ ING · Web Components @ ING Rik van de Ven Why standard based development matters so much to us Utrecht, 16-02-2017](https://reader033.fdocuments.us/reader033/viewer/2022053015/5f13a88ca52ae02b5d160e74/html5/thumbnails/32.jpg)
TODO: very short code based introduction to web components, in case of emergency…
Appendix - TODO
32