1. G O I N G W E B N AT I V E
T H E E X C I T I N G F U T U R E O F W E B
@ M A R C U S H E L L B E R G
5
S T O R Y A N D P H I L O S O P H Y
Software is eating the world and what most of us see of it is the user interface. The user
interface has become the key component of how the users experience the business
behind it. Competition is lost or won due to user experience. Simplicity is king and the
users get frustrated by anything ugly, slow or not working on the device they happen to
use at the time. We at Vaadin fight for simplicity and invite everyone to join this fight.
Together we want to build a user interface that puts a smile on the user’s face.
Vaadin is the technology that empowers developers to build the best web-apps for
business purposes. Our priority over everything else is developer productivity because
we believe that by simplifying the developer experience and saving the developer’s
time, they are best able to focus on building great user interfaces.
Our brand is what we want everyone to think about us. When everyone - both us and
the people around us - have a consistent understanding of what Vaadin is and what we
stand for, it enables that image to spread and amplify. This book defines what we want
that image to be. It defines what the Vaadin brand is.
I hope that You are as excited and proud of living and breathing the Vaadin brand as
I am. You are the one who is shaping what everyone thinks about Vaadin - using this
brand as a tool and a guideline every day.
Let’s fight for simplicity for both the users and the developers!
Joonas Lehtinen
Founder & CEO
Vaadin
I N T R O D U C T I O N
57. <collapse-layout>
<h1 slot="title">Custom Element Title</h1>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
elit. Ut erat nisi, placerat eget lorem a, fermentum cong
convallis mi. Mauris neque elit, pretium vitae metus sed,
ac lacinia. Phasellus lobortis vitae mauris ullamcorper p
</p>
</collapse-layout>
58. <collapse-layout>
<h1 slot="title">Custom Element Title</h1>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
elit. Ut erat nisi, placerat eget lorem a, fermentum cong
convallis mi. Mauris neque elit, pretium vitae metus sed,
ac lacinia. Phasellus lobortis vitae mauris ullamcorper p
</p>
</collapse-layout>
59. <collapse-layout open>
<h1 slot="title">Custom Element Title</h1>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
elit. Ut erat nisi, placerat eget lorem a, fermentum cong
convallis mi. Mauris neque elit, pretium vitae metus sed,
ac lacinia. Phasellus lobortis vitae mauris ullamcorper p
</p>
</collapse-layout>
71. •Simplified element creation
•Data binding
•Event handling
•Repeating and conditional templates
•CLI tool for bootstrapping and building projects
•Set of basic UI components
P O L Y M E R I S W E B C O M P O N E N T S +
84. P R P LP r e - c a c h eR e n d e rP u s h L a z y - l o a d
85. C O M P O N E N T S O N T H E W E B
A N O N - E X H A U S T I V E H I S T O R Y
86. C O M P O N E N T S O N T H E W E B2011
Web Components
A N O N - E X H A U S T I V E H I S T O R Y
87. C O M P O N E N T S O N T H E W E B2011
Web Components
2013
Polymer
React
A N O N - E X H A U S T I V E H I S T O R Y
88. C O M P O N E N T S O N T H E W E B2011
Web Components
2013
Polymer
React
2014
Vue
A N O N - E X H A U S T I V E H I S T O R Y
89. C O M P O N E N T S O N T H E W E B2011
Web Components
2013
Polymer
React
2015
Angular2
2014
Vue
A N O N - E X H A U S T I V E H I S T O R Y
90. C O M P O N E N T S O N T H E W E B2011
Web Components
2013
Polymer
React
2015
Angular2
2014
Vue
2016
Polymer 2
A N O N - E X H A U S T I V E H I S T O R Y
91. C O M P O N E N T S O N T H E W E B2011
Web Components
2013
Polymer
React
2015
Angular2
2014
Vue
2016
Polymer 2
2017
Web Components widely supported
A N O N - E X H A U S T I V E H I S T O R Y
93. Mobile now represents almost 2 out of 3
digital media minutes.
comscore.com/Insights/Presentations-and-Whitepapers/2016/The-2016-US-Mobile-App-Report
97. While we haven’t yet reached ‘Peak App’ the market
is definitely tightening, and app publishers need to
rethink how to break through to the consumer’s
screen.
comScore 2016 US Mobile App report
comscore.com/Insights/Presentations-and-Whitepapers/2016/The-2016-US-Mobile-App-Report
99. Despite significant investment and hopes for positive ROI,
mobile applications are not paying off for many
brands.
Compelling alternatives such as progressive web apps
mean the branded app economy is poised for change.
gartner.com/smarterwithgartner/gartner-predicts-2017-marketers-expect-the-unexpected
GARTNER: 20% WILL ABANDON THEIR
MOBILE APPS BY 2019
101. O U T O F 1 0 0 I N T E R E S T E D P E O P L E
102. open the app store80
O U T O F 1 0 0 I N T E R E S T E D P E O P L E
103. open the app store80
find your app in the store64
O U T O F 1 0 0 I N T E R E S T E D P E O P L E
104. open the app store80
find your app in the store64
tap install51
O U T O F 1 0 0 I N T E R E S T E D P E O P L E
105. open the app store80
find your app in the store64
tap install51
accept permission requests41
O U T O F 1 0 0 I N T E R E S T E D P E O P L E
106. open the app store80
find your app in the store64
tap install51
accept permission requests41
find the app on their home screen33
O U T O F 1 0 0 I N T E R E S T E D P E O P L E
107. open the app store80
find your app in the store64
tap install51
accept permission requests41
find the app on their home screen33
26 will open the app
O U T O F 1 0 0 I N T E R E S T E D P E O P L E
108.
109. tap install80
accept permission requests64
find the app on their home screen51
41will open the app
S T I L L , O N L Y . . .
110. C O S T P E R I N S TA L L
$ 1 . 5 0 +
fiksu.com/resources/fiksu-indexes
114. 80 will open the app
O U T O F 1 0 0 I N T E R E S T E D P E O P L E
115. Source: comScore 2016 report
0
3
6
9
12
# Visitors (MM)
Native apps Mobile web
Top 1000 Mobile Apps vs. Top 1000 Mobile Web Properties
116. Source: comScore 2016 report
0
3
6
9
12
# Visitors (MM)
3x
Native apps Mobile web
Top 1000 Mobile Apps vs. Top 1000 Mobile Web Properties
117. Source: comScore 2016 report
0
3
6
9
12
# Visitors (MM)
0
50
100
150
200
Minutes
3x 20x
Native apps Mobile web
Top 1000 Mobile Apps vs. Top 1000 Mobile Web Properties
126. Your t-shirt order has shipped. Track it here.
5
S T O R Y A N D P H I L O S O P H Y
Software is eating the world and what most of us see of it is the user interface. The user
interface has become the key component of how the users experience the business
behind it. Competition is lost or won due to user experience. Simplicity is king and the
users get frustrated by anything ugly, slow or not working on the device they happen to
use at the time. We at Vaadin fight for simplicity and invite everyone to join this fight.
Together we want to build a user interface that puts a smile on the user’s face.
Vaadin is the technology that empowers developers to build the best web-apps for
business purposes. Our priority over everything else is developer productivity because
we believe that by simplifying the developer experience and saving the developer’s
time, they are best able to focus on building great user interfaces.
Our brand is what we want everyone to think about us. When everyone - both us and
the people around us - have a consistent understanding of what Vaadin is and what we
stand for, it enables that image to spread and amplify. This book defines what we want
that image to be. It defines what the Vaadin brand is.
I hope that You are as excited and proud of living and breathing the Vaadin brand as
I am. You are the one who is shaping what everyone thinks about Vaadin - using this
brand as a tool and a guideline every day.
Let’s fight for simplicity for both the users and the developers!
Joonas Lehtinen
Founder & CEO
Vaadin
I N T R O D U C T I O N
Vaadin Store
137. P W A C H E C K L I S T :
Responsive layouts, works on mobile
Site works cross-browser
Page transitions don't feel like they block on network
Each page has a URL
developers.google.com/web/progressive-web-apps/checklist
138. P W A C H E C K L I S T :
Site is served over HTTPS
Responsive layouts, works on mobile
Site works cross-browser
Page transitions don't feel like they block on network
Each page has a URL
developers.google.com/web/progressive-web-apps/checklist
139. P W A C H E C K L I S T :
Site is served over HTTPS
Responsive layouts, works on mobile
Site works cross-browser
Page transitions don't feel like they block on network
Each page has a URL
Metadata is provided for Add to Home screen
developers.google.com/web/progressive-web-apps/checklist
140. P W A C H E C K L I S T :
Site is served over HTTPS
Responsive layouts, works on mobile
First load is fast even on 3G
Site works cross-browser
Page transitions don't feel like they block on network
Each page has a URL
Metadata is provided for Add to Home screen
developers.google.com/web/progressive-web-apps/checklist
141. D O Y O U N E E D T O S TA R T F R O M
S C R AT C H ?
142. D O Y O U N E E D T O S TA R T F R O M
S C R AT C H ?
N O .
144. {
"name": "Todo App",
"icons": [{
"src": "todo.png",
"sizes": "192x192",
"type": "image/png"
}],
"start_url": "/index.html",
"display": "standalone",
"orientation": "portrait"
}
https://developer.mozilla.org/en-US/docs/Web/Manifest
W E B A P P M A N I F E S T
163. You can progressively enhance your existing app
to become a Progressive Web App.
Taking an app designed for desktop and slapping
on a ServiceWorker won't make it a PWA.
177. HARDWARE ACCESS
A SAMPLE OF INTERESTING WEB SPECS
Web Bluetooth
Device motion
Ambient light sensor
Vibration
BROWSER
Background sync
Payment API
Share API
Credentials API
Persistent storage
GAMING
Web Assembly
WebGL
WebVR
183. Reaching the next generation of web users will
require performance and bandwidth consciousness
184. Reaching the next generation of web users will
require performance and bandwidth consciousness
Native Lite
Example:
INDIA
185. Reaching the next generation of web users will
require performance and bandwidth consciousness
216MB/month
Native Lite
Example:
INDIA
186. Reaching the next generation of web users will
require performance and bandwidth consciousness
8.6MB/month216MB/month
Native Lite
Example:
INDIA
187. Reaching the next generation of web users will
require performance and bandwidth consciousness
8.6MB/month216MB/month
= 7.3h work
Native Lite
Example:
INDIA
188. Reaching the next generation of web users will
require performance and bandwidth consciousness
8.6MB/month216MB/month
= 7.3h work = 0.5h work
Native Lite
Example:
INDIA
189. Data sync is the next JS framework war
– Alex Russell”
190. F U R T H E R R E A D I N G
aerotwist.com/blog/the-cost-of-frameworks
aerotwist.com/blog/when-everything-is-important-nothing-is
medium.com/@marcushellberg/simplifying-performance-with-web-components-7d5327314b69
infrequently.org/2015/06/progressive-apps-escaping-tabs-without-losing-our-soul
developers.google.com/web/fundamentals
191. P E O P L E T O F O L L O W
( O N S O C I A L M E D I A , Y O U C R E E P )
@slightlylate
Alex Russell
@aerotwist
Paul Lewis
@nolanlawson
Nolan Lawson
@jaffathecake
Jake Archibald
@owencrm
Owen Campbell-Moore
192. I’ve found it’s been a better long-term
investment for me to learn the Web Platform
than any particular library, framework or tool
– Paul Lewis
”
194. T H A N K Y O U !
@ M A R C U S H E L L B E R G
5
S T O R Y A N D P H I L O S O P H Y
Software is eating the world and what most of us see of it is the user interface. The user
interface has become the key component of how the users experience the business
behind it. Competition is lost or won due to user experience. Simplicity is king and the
users get frustrated by anything ugly, slow or not working on the device they happen to
use at the time. We at Vaadin fight for simplicity and invite everyone to join this fight.
Together we want to build a user interface that puts a smile on the user’s face.
Vaadin is the technology that empowers developers to build the best web-apps for
business purposes. Our priority over everything else is developer productivity because
we believe that by simplifying the developer experience and saving the developer’s
time, they are best able to focus on building great user interfaces.
Our brand is what we want everyone to think about us. When everyone - both us and
the people around us - have a consistent understanding of what Vaadin is and what we
stand for, it enables that image to spread and amplify. This book defines what we want
that image to be. It defines what the Vaadin brand is.
I hope that You are as excited and proud of living and breathing the Vaadin brand as
I am. You are the one who is shaping what everyone thinks about Vaadin - using this
brand as a tool and a guideline every day.
Let’s fight for simplicity for both the users and the developers!
Joonas Lehtinen
Founder & CEO
Vaadin
I N T R O D U C T I O N