Web Components @ ING · Web Components @ ING Rik van de Ven Why standard based development matters...

32
Web Components @ ING Rik van de Ven Why standard based development matters so much to us Utrecht, 16-02-2017

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

TODO: very short code based introduction to web components, in case of emergency…

Appendix - TODO

32