SlideShare uma empresa Scribd logo
1 de 50
Baixar para ler offline
1
2
3
“Application” redefined: An application is what the user sees, experiences. The front
end consumes the back end services through APIs.
• Design for the customer => deliver a great user experience
• Architecture your application by splitting it in 3
• Front end
• API
• Back end
• 3 kinds of engineers, each with own specialization
• 2 speeds: front end vs systems of record => bimodal IT
4
“Application” redefined: An application is what the user sees, experiences. The front
end consumes the back end services through APIs.
• Design for the customer => deliver a great user experience
• Architecture your application by splitting it in 3
• Front end
• API
• Back end
• 3 kinds of engineers, each with own specialization
• 2 speeds: front end vs systems of record => bimodal IT
5
“Application” redefined: An application is what the user sees, experiences. The front
end consumes the back end services through APIs.
• Design for the customer => deliver a great user experience
• Architecture your application by splitting it in 3
• Front end
• API
• Back end
• 3 kinds of engineers, each with own specialization
• 2 speeds: front end vs systems of record => bimodal IT
6
“Application” redefined: An application is what the user sees, experiences. The front
end consumes the back end services through APIs.
• Design for the customer => deliver a great user experience
• Architecture your application by splitting it in 3
• Front end
• API
• Back end
• 3 kinds of engineers, each with own specialization
• 2 speeds: front end vs systems of record => bimodal IT
7
- World of front end engineering, especially the web, is changing at a fast pace
- Shift to the web: a lot of companies are shifting towards web technology, why?
- State of the web: what is the web capable of?
- The future is bright: what wil the future bring?
- Takeaways: what you should remember after this session
8
9
The way we use services has changed a lot in this digital era
We don’t plan a vacation by visiting a travel agency, checking some magazines and
booking our trip there. Instead we search info online about our destination, about
the accomodation , about how to get there. We compare and buy online
If we want to buy a car we use a car configurator online, check possible colors,
options, prizes
Instead of reading a nwespaper we subscribe to different sources and get
aggregated info which we can share with our friends on social media
=> The internet is more than a source of info, it’s an interactive platform
10
Spotify completely changes the way we get access to our music
- Don’t go to shop, buy cd and listen to it by putting it in cd drive
- Pay for a service, have access to a huge music library, listen everywhere, share,
follow, discover new music
11
Uber causes a lot of stress for traditional taxi companies
- Don’t pick a taxi company, call it and wait for the taxi to arrive
- Use a mobile app to check which drivers are in the neighbourhood
12
But we often have to download a separate application to use the service on our
mobile devices. Why is this?
13
Numbers like these underlign the importance of the mobile web. Ask yourself: how
many apps do you use on a daily base versus how many websites do you visit using
a mobile device? It’s likely you’ll end up
14
It all started with the mobile revolution back in 2009, when the first economically
successful smartphone, the iPhone 1, was launched.
At that time:
- mismatch between mobile and web worlds
- web wasn’t ready for mobile: features such as touch, gestures, access to camera,
screen orientation, geolocation, … not supported)
- mobile wasn’t ready for web: bad browser support, performance)
- only solution: writing native apps
15
Image source: http://drjoanrosenberg.com/wp-content/uploads/2013/08/Fork-in-
Road-Man-with-Hat-Depositphotos_20390925_m.jpg
Now, 6 years later:
- choice isleft unchallenged
- still a lot of native (or hybrid) apps are getting developed
- it might even hurt your product having your customers conquer yet another
hurdle
- AirBnb has updated their website to work responsive on all devices, exactly for
that reason. They still offer a standalone native app, but you no longer need it to
make use of their services.
16
Mark Zuckerberg revealed that Facebook’s mobile strategy relied too much on
HTML5, rather than native applications.
Het said that the biggest mistake was the focus on HTML5 because it wasn’t ready.
Guys from Sencha took a little offense to the comment and they thought to
themselves:
HTML5 can't really be the reason that Facebook's mobile application was slow. We
knew what the browser on modern smart phones was capable of and what kind of
rich capabilities HTML5 offered. We saw the latest generation of mobile devices —
running at least iOS 5 or Android 4.1 — push ever increasing performance and
HTML5 implementation scores. But perhaps most importantly, we'd seen what our
customers were building and the amazing things they were creating using HTML5.
When a team has problems with HTML5, it usually stems from the fact that they
take a “website” development approach to building an app, and often don't use the
right tools and architectures for application development.
The guys from Sencha created an HTML5 app called Fastbook and the video shows a
comparison between the Facebook native app and the Fastbook HTML5 webapp.
You’ll be astonished!
And that was even 2 years ago!
17
That’s why we believe you should move from native apps to offering your services
directly via the web. Native apps will still be useful, for the time being, for more
demanding applications like games.
18
19
That’s why we believe you should move from native developmet to offering your
services directly via the web. Native apps will still be useful, for the time being, for
more demanding applications like games.
20
21
HTML5 standard is defined with web apps in mind.
It doesn’t only cover HTML but also JS
It includes:
- native video and audio support , no need to install plugins like flash or silverlight
- scaled vector graphics, web GL rendering, animations
- drag & drop
- semantic tags
- reusable components
- web sockets
It’s a living standard and browser support is actively developed.
22
Browser types:
- Evergreen
- Google and Mozilla release a new version of Chrome and Firefox every
month
- Pushed versions
- Microsoft and Apple still push browser updates via OS
- Old OS = old version of browser 
Project Spartan: Microsofts browser that will replace IE.
- Includes new rendering engine
- Better developer tools
- And is evergreen!
How to cope with this:
- Stop doing user agent sniffing! Use feature detection or use polyfills
23
1 of the advantages of native apps was the ways to interact with mobile devices
HTML5 spec includes JS API’s for interacting with mobile devices
When asking geolocation, browser will ask user for permission
24
How do we request permissions in a web application?
The disadvantage of the app approach is that we cannot install the app without
granting all of the requested permissions, while the web app on the right will keep
working even if the user denies some features permissions.
25
URI schemes make it possible to call native apps from a web app,
Examples:
- mailto: opens the mail client and already creates a mail to specified recipient
- tel: opens app to make a call to specified nr
- sms: opens app to send sms to specified nr
- skype: opens skype
- spotify: can load a track, album, artist, search or playlist in spotify
- maps: opens mapping application
- market: open google play
26
From within the search results you can immediately call, navigate or go to website
of AE,
When a specific action is chosen, the right app is opened in the correct state
27
A web worker is a JS script running in the background, independently of other UI
scripts.
A web worker can utilize multi-core CPU’s more effectively
Latest browser’s JS engines are blazing fast
Not only technological improvements but more awareness about performance
- JS, CSS, images, HTML can easily be minifed to reduce loading time
- Module loading techniques can boost initial times
- Performance profiling tools in browsers
- Services and browser plugins to give performance ratings (Google PageSpeed,
YSlow, Pingdom,
28
Offline should not be treated as a corner case. In tunnels, in the airplane, in the
train, people want to continue using your web app.
Data can be stored client side:
- WebStorage: key value pairs
- sessionStorage – stored in browser window
- localStorage – stored in browser across windows and tabs (5MB per
storage area)
- IndexedDB (API) / WebSQL
- Structured data
- Transactionality
- Data can be queried
- No size limitations
Data can be synced
- PouchDB
- based on IndexedDB
- Syncs with a CouchDB on the server
Application cache
- Defines which resources to cache
Service worker
- Runs in background
- Controls how network requests are handled (= programmable network proxy)
29
It’s not just about having data offline, it’s about the offline experience
Lanyrd:
- service listing up professional events
- user can search for events, connect with friends, check where they’re going to,
where they’re speaking
- user can track event, check what’s tweeted, what links are hot during event
- user can discover slides and video’s
- Speaker can create portfolio
Offline experience of Lanyrd:
- Users can see information on future conferences they are attending
30
Using HTML5 capabilities, your web site can be configured to be installable on the
homescreen of your users’ devices. This allows you to offer the experience or look
and feel of a native application without having to maintain multiple code bases.
You can also publish your HTML5 web application to web app stores like the one
from Amazon.
31
- Different libraries for responsive design, CSS structuring
- Development frameworks, utility libs, JS superset langs
- Debugging tools + emulators (in the browser) => different devices + network
speed emulators
- Testing frameworks=> multi browser
- Testing cloud services => multidevice => emulated + physical devices
- ALM tools => dependency management, build, package
32
We’re no longer building simple web sites, but web applications.
A web application is more complex and as such a lot of tools, libraries and
frameworks have arisen to tackle this complexity.
This is no different than what we’ve been doing in classic development languages
like Java or .NET. Each project makes a pick out of the available tools, frameworks
and libraries to form its own stack.
33
34
Web standardization is a fact. Offline support, ALM tools, unform design principles,
testing, development frameworks& debugging tools are present.
So there’s not a cloud in the sky?
35
A lot of development frameworks are out there. Based on adoption rate , Angular is
the clear winner, so simply go with Angular and you’ve got nothing to worry about?
Guess again. Angular’s initial goal was to bridge the gap between the browsers at
that time and the HTML5 specification.
But as the HTML5 standard is now complete, features like Object.observe and
WebComponents will become natively available in the browser. As a consequencen
Angular’s purpose will be diminished. To make sure they won’t become obsolete,
they therefore anounced big changes for 2.0. This means that
it won't be an easy upgrade, you'll need to put some effort in it.
36
It’s not that these changes weren’t already a fact, it’s the fact that things are now
changing at a faster rate.
37
This approach is exactly the same as forcing your users to download the mobile
application.
38
39
40
Be agile in this rapidly changing world and embrace the change that’s happing in the
web world
41
Staying up to date incurs a cost. On the other hand, not staying up to date, could
cost even more money. If you lose to your competitors, you risk losing market share
and maybe even your business as a whole .
42
Employees are used to working with modern UI applications at home, they expect
the same experience when they’re at the office
A lot of people have tablets or get one from their employer. Company applications
should work on those devices as well
Some of your employees might be on the road a lot for their daily job, so the
company applications they want to use should work on mobile devices
43
44
“Application” redefined: An application is what the user sees, experiences. The front
end consumes the back end services through APIs.
• Design for the customer => deliver a great user experience
• Architecture your application by splitting it in 3
• Front end
• API
• Back end
• 3 kinds of engineers, each with own specialization
• 2 speeds: front end vs systems of record => bimodal IT
45
Don’t just use technology and be dependant on it.
Think your choices through. Which technologies will you use? How will the
architecture of the front end look like? Think about solid standards such as loosely
coupling, modularity, separation of concerns, …
When a team has problems with HTML5, it usually stems from the fact that they
take a “website” development approach to building an app, and often don't use
the right tools and architectures for application development.
Make sure all parts of your applicarion are easily swappable.
Example: Use facades to hide underlying technological choices (i.e; which library did
you choose for the task at hand). The last thing you want is to rewrite your
application because the technology evolves. It will evolve, so be prepared!
46
47
48
49
50

Mais conteúdo relacionado

Mais procurados

Building real things for real people 2009
Building real things for real people 2009Building real things for real people 2009
Building real things for real people 2009Justin Ferrell
 
Web 2.0 goes to work for business: Enabling the power of participation
Web 2.0 goes to work for business: Enabling the power of participationWeb 2.0 goes to work for business: Enabling the power of participation
Web 2.0 goes to work for business: Enabling the power of participationRoss Dawson
 
Crafting Innovation
Crafting InnovationCrafting Innovation
Crafting InnovationSteve Green
 
[Profile Company] - Green Global IT Solutions Consulting Limited Company
[Profile Company] - Green Global IT Solutions Consulting Limited Company[Profile Company] - Green Global IT Solutions Consulting Limited Company
[Profile Company] - Green Global IT Solutions Consulting Limited CompanyGreen Global IT Solutions Consulting
 
Penn State scales static Drupal to new heights
Penn State scales static Drupal to new heightsPenn State scales static Drupal to new heights
Penn State scales static Drupal to new heightsMediacurrent
 
6 benefits of implementing Enterprise 2.0 collaboration software for businesses
6 benefits of implementing Enterprise 2.0 collaboration software for businesses6 benefits of implementing Enterprise 2.0 collaboration software for businesses
6 benefits of implementing Enterprise 2.0 collaboration software for businessesCynapse
 
Working with Technical Debt
Working with Technical DebtWorking with Technical Debt
Working with Technical DebtSteve Green
 
Staying Productive with Social Streams
Staying Productive with Social StreamsStaying Productive with Social Streams
Staying Productive with Social StreamsLuis Benitez
 
Intergen Smarts 5 (2003)
Intergen Smarts 5 (2003)Intergen Smarts 5 (2003)
Intergen Smarts 5 (2003)Intergen
 
Software estimating
Software estimatingSoftware estimating
Software estimatingAdam Cole
 

Mais procurados (10)

Building real things for real people 2009
Building real things for real people 2009Building real things for real people 2009
Building real things for real people 2009
 
Web 2.0 goes to work for business: Enabling the power of participation
Web 2.0 goes to work for business: Enabling the power of participationWeb 2.0 goes to work for business: Enabling the power of participation
Web 2.0 goes to work for business: Enabling the power of participation
 
Crafting Innovation
Crafting InnovationCrafting Innovation
Crafting Innovation
 
[Profile Company] - Green Global IT Solutions Consulting Limited Company
[Profile Company] - Green Global IT Solutions Consulting Limited Company[Profile Company] - Green Global IT Solutions Consulting Limited Company
[Profile Company] - Green Global IT Solutions Consulting Limited Company
 
Penn State scales static Drupal to new heights
Penn State scales static Drupal to new heightsPenn State scales static Drupal to new heights
Penn State scales static Drupal to new heights
 
6 benefits of implementing Enterprise 2.0 collaboration software for businesses
6 benefits of implementing Enterprise 2.0 collaboration software for businesses6 benefits of implementing Enterprise 2.0 collaboration software for businesses
6 benefits of implementing Enterprise 2.0 collaboration software for businesses
 
Working with Technical Debt
Working with Technical DebtWorking with Technical Debt
Working with Technical Debt
 
Staying Productive with Social Streams
Staying Productive with Social StreamsStaying Productive with Social Streams
Staying Productive with Social Streams
 
Intergen Smarts 5 (2003)
Intergen Smarts 5 (2003)Intergen Smarts 5 (2003)
Intergen Smarts 5 (2003)
 
Software estimating
Software estimatingSoftware estimating
Software estimating
 

Destaque

Economic opportunities from onshore wind in wales
Economic opportunities from onshore wind in walesEconomic opportunities from onshore wind in wales
Economic opportunities from onshore wind in walesrenewableukcymru
 
New base energy news issue 890 dated 21 july 2016
New base energy news issue  890 dated 21 july 2016New base energy news issue  890 dated 21 july 2016
New base energy news issue 890 dated 21 july 2016Khaled Al Awadi
 
Seven quick wins to lower costs and accelerate revenue
Seven quick wins to lower costs and accelerate revenueSeven quick wins to lower costs and accelerate revenue
Seven quick wins to lower costs and accelerate revenueGuy Barlow
 
CRUDE OIL AND ITS IMPACT ON SOIL POLLUTION: ENVIRONMENTAL RISK ASSESSMENT
CRUDE OIL AND ITS IMPACT ON SOIL POLLUTION: ENVIRONMENTAL RISK ASSESSMENT CRUDE OIL AND ITS IMPACT ON SOIL POLLUTION: ENVIRONMENTAL RISK ASSESSMENT
CRUDE OIL AND ITS IMPACT ON SOIL POLLUTION: ENVIRONMENTAL RISK ASSESSMENT IAEME Publication
 
Project Risk Management_intro
Project Risk Management_introProject Risk Management_intro
Project Risk Management_introAlex Iskandar
 
Saha_Sumit_2016_thesis
Saha_Sumit_2016_thesisSaha_Sumit_2016_thesis
Saha_Sumit_2016_thesisSumit Saha
 
Feed report
Feed report Feed report
Feed report jadamsm
 
Oil and Gas production: from exploration wells to the last stage of production.
Oil and Gas production: from exploration wells to the last stage of production.Oil and Gas production: from exploration wells to the last stage of production.
Oil and Gas production: from exploration wells to the last stage of production.Eric HAGENIMANA
 
Front End Engineering Design (FEED) Project Control Training
Front End Engineering Design (FEED) Project Control TrainingFront End Engineering Design (FEED) Project Control Training
Front End Engineering Design (FEED) Project Control TrainingDEVELOP
 
quality analysis of crude oil and drilling fluids
quality analysis of crude oil and drilling fluids quality analysis of crude oil and drilling fluids
quality analysis of crude oil and drilling fluids SHIKHA THAPA
 
Project risk management workshops
Project risk management workshopsProject risk management workshops
Project risk management workshopsshippers1000
 
Study 2: Front-End Engineering Design and Project Definition
Study 2: Front-End Engineering Design and Project DefinitionStudy 2: Front-End Engineering Design and Project Definition
Study 2: Front-End Engineering Design and Project DefinitionGerard B. Hawkins
 
Petroleum production engineering
Petroleum production engineeringPetroleum production engineering
Petroleum production engineeringMaanik Gupta
 

Destaque (16)

Economic opportunities from onshore wind in wales
Economic opportunities from onshore wind in walesEconomic opportunities from onshore wind in wales
Economic opportunities from onshore wind in wales
 
New base energy news issue 890 dated 21 july 2016
New base energy news issue  890 dated 21 july 2016New base energy news issue  890 dated 21 july 2016
New base energy news issue 890 dated 21 july 2016
 
Seven quick wins to lower costs and accelerate revenue
Seven quick wins to lower costs and accelerate revenueSeven quick wins to lower costs and accelerate revenue
Seven quick wins to lower costs and accelerate revenue
 
CRUDE OIL AND ITS IMPACT ON SOIL POLLUTION: ENVIRONMENTAL RISK ASSESSMENT
CRUDE OIL AND ITS IMPACT ON SOIL POLLUTION: ENVIRONMENTAL RISK ASSESSMENT CRUDE OIL AND ITS IMPACT ON SOIL POLLUTION: ENVIRONMENTAL RISK ASSESSMENT
CRUDE OIL AND ITS IMPACT ON SOIL POLLUTION: ENVIRONMENTAL RISK ASSESSMENT
 
Project Risk Management_intro
Project Risk Management_introProject Risk Management_intro
Project Risk Management_intro
 
Saha_Sumit_2016_thesis
Saha_Sumit_2016_thesisSaha_Sumit_2016_thesis
Saha_Sumit_2016_thesis
 
Feed report
Feed report Feed report
Feed report
 
Oil and Gas production: from exploration wells to the last stage of production.
Oil and Gas production: from exploration wells to the last stage of production.Oil and Gas production: from exploration wells to the last stage of production.
Oil and Gas production: from exploration wells to the last stage of production.
 
Project risk management
Project risk managementProject risk management
Project risk management
 
Front End Engineering Design (FEED) Project Control Training
Front End Engineering Design (FEED) Project Control TrainingFront End Engineering Design (FEED) Project Control Training
Front End Engineering Design (FEED) Project Control Training
 
quality analysis of crude oil and drilling fluids
quality analysis of crude oil and drilling fluids quality analysis of crude oil and drilling fluids
quality analysis of crude oil and drilling fluids
 
Oil Drilling
Oil DrillingOil Drilling
Oil Drilling
 
Project risk management workshops
Project risk management workshopsProject risk management workshops
Project risk management workshops
 
Study 2: Front-End Engineering Design and Project Definition
Study 2: Front-End Engineering Design and Project DefinitionStudy 2: Front-End Engineering Design and Project Definition
Study 2: Front-End Engineering Design and Project Definition
 
Petroleum production engineering
Petroleum production engineeringPetroleum production engineering
Petroleum production engineering
 
Risk Management Framework
Risk Management FrameworkRisk Management Framework
Risk Management Framework
 

Semelhante a Trends in front end engineering_handouts

How to be Successful with Responsive Sites (Koombea & NGINX) - English
How to be Successful with Responsive Sites (Koombea & NGINX) - EnglishHow to be Successful with Responsive Sites (Koombea & NGINX) - English
How to be Successful with Responsive Sites (Koombea & NGINX) - EnglishKoombea
 
Go for Progressive Web Apps. Get a Better, Low Cost, Mobile Presence
Go for Progressive Web Apps. Get a Better, Low Cost, Mobile PresenceGo for Progressive Web Apps. Get a Better, Low Cost, Mobile Presence
Go for Progressive Web Apps. Get a Better, Low Cost, Mobile PresenceMagic Software
 
Web application development full & detailed guide for 2022
Web application development  full & detailed guide for 2022Web application development  full & detailed guide for 2022
Web application development full & detailed guide for 2022Metricoid Technology
 
How Much Cost to Build a Mobile App
How Much Cost to Build a Mobile AppHow Much Cost to Build a Mobile App
How Much Cost to Build a Mobile Appqsstechnosoft1
 
How to Build a Nonprofit Mobile App To Engage Supporters
How to Build a Nonprofit Mobile App To Engage SupportersHow to Build a Nonprofit Mobile App To Engage Supporters
How to Build a Nonprofit Mobile App To Engage SupportersTechSoup
 
The Art of Mobile Performance (Mobiconf 2015)
The Art of Mobile Performance (Mobiconf 2015)The Art of Mobile Performance (Mobiconf 2015)
The Art of Mobile Performance (Mobiconf 2015)David Low
 
Technological Strategies & Monetization
Technological Strategies & MonetizationTechnological Strategies & Monetization
Technological Strategies & MonetizationIvano Malavolta
 
The challenges of building mobile HTML5 applications - FEEC Brazil 2012 - Recife
The challenges of building mobile HTML5 applications - FEEC Brazil 2012 - RecifeThe challenges of building mobile HTML5 applications - FEEC Brazil 2012 - Recife
The challenges of building mobile HTML5 applications - FEEC Brazil 2012 - RecifeCaridy Patino
 
Confused about Native vs Hybrid vs Cross-Platform ?
Confused about Native vs Hybrid vs Cross-Platform ?Confused about Native vs Hybrid vs Cross-Platform ?
Confused about Native vs Hybrid vs Cross-Platform ?Rosalie Lauren
 
Creating Mobile Aps without Coding
Creating Mobile Aps without CodingCreating Mobile Aps without Coding
Creating Mobile Aps without CodingJack Molisani
 
App Deep Linking Guide
App Deep Linking GuideApp Deep Linking Guide
App Deep Linking GuideAppindex
 
Mobile Web Overview https://www.edocr.com/v/k52p5vj4/
Mobile Web Overview https://www.edocr.com/v/k52p5vj4/Mobile Web Overview https://www.edocr.com/v/k52p5vj4/
Mobile Web Overview https://www.edocr.com/v/k52p5vj4/Jack Zheng
 
Web Design Service and its Technology.pdf
Web Design Service and its Technology.pdfWeb Design Service and its Technology.pdf
Web Design Service and its Technology.pdfSakshiSrivastava709991
 
What Are Progressive Web Application Development
What Are Progressive Web Application DevelopmentWhat Are Progressive Web Application Development
What Are Progressive Web Application DevelopmentApp Verticals
 
Attract group mobile app development portfolio
Attract group mobile app development portfolio Attract group mobile app development portfolio
Attract group mobile app development portfolio Attract Group
 
3 Types Of Mobile Apps.pptx
3 Types Of Mobile Apps.pptx3 Types Of Mobile Apps.pptx
3 Types Of Mobile Apps.pptxBOSC Tech Labs
 

Semelhante a Trends in front end engineering_handouts (20)

How to be Successful with Responsive Sites (Koombea & NGINX) - English
How to be Successful with Responsive Sites (Koombea & NGINX) - EnglishHow to be Successful with Responsive Sites (Koombea & NGINX) - English
How to be Successful with Responsive Sites (Koombea & NGINX) - English
 
Go for Progressive Web Apps. Get a Better, Low Cost, Mobile Presence
Go for Progressive Web Apps. Get a Better, Low Cost, Mobile PresenceGo for Progressive Web Apps. Get a Better, Low Cost, Mobile Presence
Go for Progressive Web Apps. Get a Better, Low Cost, Mobile Presence
 
Web application development full & detailed guide for 2022
Web application development  full & detailed guide for 2022Web application development  full & detailed guide for 2022
Web application development full & detailed guide for 2022
 
How Much Cost to Build a Mobile App
How Much Cost to Build a Mobile AppHow Much Cost to Build a Mobile App
How Much Cost to Build a Mobile App
 
How to Build a Nonprofit Mobile App To Engage Supporters
How to Build a Nonprofit Mobile App To Engage SupportersHow to Build a Nonprofit Mobile App To Engage Supporters
How to Build a Nonprofit Mobile App To Engage Supporters
 
The Art of Mobile Performance (Mobiconf 2015)
The Art of Mobile Performance (Mobiconf 2015)The Art of Mobile Performance (Mobiconf 2015)
The Art of Mobile Performance (Mobiconf 2015)
 
Technological Strategies & Monetization
Technological Strategies & MonetizationTechnological Strategies & Monetization
Technological Strategies & Monetization
 
The challenges of building mobile HTML5 applications - FEEC Brazil 2012 - Recife
The challenges of building mobile HTML5 applications - FEEC Brazil 2012 - RecifeThe challenges of building mobile HTML5 applications - FEEC Brazil 2012 - Recife
The challenges of building mobile HTML5 applications - FEEC Brazil 2012 - Recife
 
Confused about Native vs Hybrid vs Cross-Platform ?
Confused about Native vs Hybrid vs Cross-Platform ?Confused about Native vs Hybrid vs Cross-Platform ?
Confused about Native vs Hybrid vs Cross-Platform ?
 
Creating Mobile Aps without Coding
Creating Mobile Aps without CodingCreating Mobile Aps without Coding
Creating Mobile Aps without Coding
 
App Deep Linking Guide
App Deep Linking GuideApp Deep Linking Guide
App Deep Linking Guide
 
Sarvesh Upadhyay
Sarvesh UpadhyaySarvesh Upadhyay
Sarvesh Upadhyay
 
Mobile Web Overview https://www.edocr.com/v/k52p5vj4/
Mobile Web Overview https://www.edocr.com/v/k52p5vj4/Mobile Web Overview https://www.edocr.com/v/k52p5vj4/
Mobile Web Overview https://www.edocr.com/v/k52p5vj4/
 
Web Design Service and its Technology.pdf
Web Design Service and its Technology.pdfWeb Design Service and its Technology.pdf
Web Design Service and its Technology.pdf
 
Presentation1
Presentation1Presentation1
Presentation1
 
Presentation1
Presentation1Presentation1
Presentation1
 
What Are Progressive Web Application Development
What Are Progressive Web Application DevelopmentWhat Are Progressive Web Application Development
What Are Progressive Web Application Development
 
Mobile App Testing
Mobile App TestingMobile App Testing
Mobile App Testing
 
Attract group mobile app development portfolio
Attract group mobile app development portfolio Attract group mobile app development portfolio
Attract group mobile app development portfolio
 
3 Types Of Mobile Apps.pptx
3 Types Of Mobile Apps.pptx3 Types Of Mobile Apps.pptx
3 Types Of Mobile Apps.pptx
 

Mais de AE - architects for business and ict

Building the digital enterprise for the age of the customer (part 2)
Building the digital enterprise for the age of the customer (part 2)Building the digital enterprise for the age of the customer (part 2)
Building the digital enterprise for the age of the customer (part 2)AE - architects for business and ict
 
Building the digital enterprise for the age of the customer handouts
Building the digital enterprise for the age of the customer   handoutsBuilding the digital enterprise for the age of the customer   handouts
Building the digital enterprise for the age of the customer handoutsAE - architects for business and ict
 
AE Spot'On - Chris Potts - Enterprise investment: Combining EA and Investment...
AE Spot'On - Chris Potts - Enterprise investment: Combining EA and Investment...AE Spot'On - Chris Potts - Enterprise investment: Combining EA and Investment...
AE Spot'On - Chris Potts - Enterprise investment: Combining EA and Investment...AE - architects for business and ict
 

Mais de AE - architects for business and ict (14)

c-quilibrium R forecasting integration
c-quilibrium R forecasting integrationc-quilibrium R forecasting integration
c-quilibrium R forecasting integration
 
Legal aspects of using R
Legal aspects of using RLegal aspects of using R
Legal aspects of using R
 
AE Foyer - Value Driven Transformation
AE Foyer - Value Driven TransformationAE Foyer - Value Driven Transformation
AE Foyer - Value Driven Transformation
 
AE Foyer: Soa Integration Architecture and Api Management
AE Foyer: Soa Integration Architecture and Api ManagementAE Foyer: Soa Integration Architecture and Api Management
AE Foyer: Soa Integration Architecture and Api Management
 
AE Foyer: Information Management in the Digital Enterprise
AE Foyer: Information Management in the Digital EnterpriseAE Foyer: Information Management in the Digital Enterprise
AE Foyer: Information Management in the Digital Enterprise
 
AE Foyer: Embrace your customer get digital (handouts 18052015)
AE Foyer: Embrace your customer get digital (handouts 18052015)AE Foyer: Embrace your customer get digital (handouts 18052015)
AE Foyer: Embrace your customer get digital (handouts 18052015)
 
Embrace your customer, get digital!
Embrace your customer, get digital!Embrace your customer, get digital!
Embrace your customer, get digital!
 
Building the digital enterprise for the age of the customer (part 2)
Building the digital enterprise for the age of the customer (part 2)Building the digital enterprise for the age of the customer (part 2)
Building the digital enterprise for the age of the customer (part 2)
 
Building the digital enterprise for the age of the customer handouts
Building the digital enterprise for the age of the customer   handoutsBuilding the digital enterprise for the age of the customer   handouts
Building the digital enterprise for the age of the customer handouts
 
AE foyer: From Server Virtualization to Hybrid Cloud
AE foyer: From Server Virtualization to Hybrid CloudAE foyer: From Server Virtualization to Hybrid Cloud
AE foyer: From Server Virtualization to Hybrid Cloud
 
AE foyer on Mobile by Design 19/02/2014
AE foyer on Mobile by Design 19/02/2014AE foyer on Mobile by Design 19/02/2014
AE foyer on Mobile by Design 19/02/2014
 
AE Spot'On - Chris Potts - Enterprise investment: Combining EA and Investment...
AE Spot'On - Chris Potts - Enterprise investment: Combining EA and Investment...AE Spot'On - Chris Potts - Enterprise investment: Combining EA and Investment...
AE Spot'On - Chris Potts - Enterprise investment: Combining EA and Investment...
 
Process Mining in Package Delivery (Logistics) - AE nv
Process Mining in Package Delivery (Logistics) - AE nvProcess Mining in Package Delivery (Logistics) - AE nv
Process Mining in Package Delivery (Logistics) - AE nv
 
AngularJS in large applications - AE NV
AngularJS in large applications - AE NVAngularJS in large applications - AE NV
AngularJS in large applications - AE NV
 

Último

CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual serviceCALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual serviceanilsa9823
 
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCR
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCRFULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCR
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCRnishacall1
 
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun serviceCALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun serviceanilsa9823
 
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost LoverPowerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost LoverPsychicRuben LoveSpells
 
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,Pooja Nehwal
 
9892124323 | Book Call Girls in Juhu and escort services 24x7
9892124323 | Book Call Girls in Juhu and escort services 24x79892124323 | Book Call Girls in Juhu and escort services 24x7
9892124323 | Book Call Girls in Juhu and escort services 24x7Pooja Nehwal
 
BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort ServiceDelhi Call girls
 

Último (7)

CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual serviceCALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
 
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCR
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCRFULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCR
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCR
 
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun serviceCALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
 
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost LoverPowerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
 
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
 
9892124323 | Book Call Girls in Juhu and escort services 24x7
9892124323 | Book Call Girls in Juhu and escort services 24x79892124323 | Book Call Girls in Juhu and escort services 24x7
9892124323 | Book Call Girls in Juhu and escort services 24x7
 
BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort Service
 

Trends in front end engineering_handouts

  • 1. 1
  • 2. 2
  • 3. 3
  • 4. “Application” redefined: An application is what the user sees, experiences. The front end consumes the back end services through APIs. • Design for the customer => deliver a great user experience • Architecture your application by splitting it in 3 • Front end • API • Back end • 3 kinds of engineers, each with own specialization • 2 speeds: front end vs systems of record => bimodal IT 4
  • 5. “Application” redefined: An application is what the user sees, experiences. The front end consumes the back end services through APIs. • Design for the customer => deliver a great user experience • Architecture your application by splitting it in 3 • Front end • API • Back end • 3 kinds of engineers, each with own specialization • 2 speeds: front end vs systems of record => bimodal IT 5
  • 6. “Application” redefined: An application is what the user sees, experiences. The front end consumes the back end services through APIs. • Design for the customer => deliver a great user experience • Architecture your application by splitting it in 3 • Front end • API • Back end • 3 kinds of engineers, each with own specialization • 2 speeds: front end vs systems of record => bimodal IT 6
  • 7. “Application” redefined: An application is what the user sees, experiences. The front end consumes the back end services through APIs. • Design for the customer => deliver a great user experience • Architecture your application by splitting it in 3 • Front end • API • Back end • 3 kinds of engineers, each with own specialization • 2 speeds: front end vs systems of record => bimodal IT 7
  • 8. - World of front end engineering, especially the web, is changing at a fast pace - Shift to the web: a lot of companies are shifting towards web technology, why? - State of the web: what is the web capable of? - The future is bright: what wil the future bring? - Takeaways: what you should remember after this session 8
  • 9. 9
  • 10. The way we use services has changed a lot in this digital era We don’t plan a vacation by visiting a travel agency, checking some magazines and booking our trip there. Instead we search info online about our destination, about the accomodation , about how to get there. We compare and buy online If we want to buy a car we use a car configurator online, check possible colors, options, prizes Instead of reading a nwespaper we subscribe to different sources and get aggregated info which we can share with our friends on social media => The internet is more than a source of info, it’s an interactive platform 10
  • 11. Spotify completely changes the way we get access to our music - Don’t go to shop, buy cd and listen to it by putting it in cd drive - Pay for a service, have access to a huge music library, listen everywhere, share, follow, discover new music 11
  • 12. Uber causes a lot of stress for traditional taxi companies - Don’t pick a taxi company, call it and wait for the taxi to arrive - Use a mobile app to check which drivers are in the neighbourhood 12
  • 13. But we often have to download a separate application to use the service on our mobile devices. Why is this? 13
  • 14. Numbers like these underlign the importance of the mobile web. Ask yourself: how many apps do you use on a daily base versus how many websites do you visit using a mobile device? It’s likely you’ll end up 14
  • 15. It all started with the mobile revolution back in 2009, when the first economically successful smartphone, the iPhone 1, was launched. At that time: - mismatch between mobile and web worlds - web wasn’t ready for mobile: features such as touch, gestures, access to camera, screen orientation, geolocation, … not supported) - mobile wasn’t ready for web: bad browser support, performance) - only solution: writing native apps 15
  • 16. Image source: http://drjoanrosenberg.com/wp-content/uploads/2013/08/Fork-in- Road-Man-with-Hat-Depositphotos_20390925_m.jpg Now, 6 years later: - choice isleft unchallenged - still a lot of native (or hybrid) apps are getting developed - it might even hurt your product having your customers conquer yet another hurdle - AirBnb has updated their website to work responsive on all devices, exactly for that reason. They still offer a standalone native app, but you no longer need it to make use of their services. 16
  • 17. Mark Zuckerberg revealed that Facebook’s mobile strategy relied too much on HTML5, rather than native applications. Het said that the biggest mistake was the focus on HTML5 because it wasn’t ready. Guys from Sencha took a little offense to the comment and they thought to themselves: HTML5 can't really be the reason that Facebook's mobile application was slow. We knew what the browser on modern smart phones was capable of and what kind of rich capabilities HTML5 offered. We saw the latest generation of mobile devices — running at least iOS 5 or Android 4.1 — push ever increasing performance and HTML5 implementation scores. But perhaps most importantly, we'd seen what our customers were building and the amazing things they were creating using HTML5. When a team has problems with HTML5, it usually stems from the fact that they take a “website” development approach to building an app, and often don't use the right tools and architectures for application development. The guys from Sencha created an HTML5 app called Fastbook and the video shows a comparison between the Facebook native app and the Fastbook HTML5 webapp. You’ll be astonished! And that was even 2 years ago! 17
  • 18. That’s why we believe you should move from native apps to offering your services directly via the web. Native apps will still be useful, for the time being, for more demanding applications like games. 18
  • 19. 19
  • 20. That’s why we believe you should move from native developmet to offering your services directly via the web. Native apps will still be useful, for the time being, for more demanding applications like games. 20
  • 21. 21
  • 22. HTML5 standard is defined with web apps in mind. It doesn’t only cover HTML but also JS It includes: - native video and audio support , no need to install plugins like flash or silverlight - scaled vector graphics, web GL rendering, animations - drag & drop - semantic tags - reusable components - web sockets It’s a living standard and browser support is actively developed. 22
  • 23. Browser types: - Evergreen - Google and Mozilla release a new version of Chrome and Firefox every month - Pushed versions - Microsoft and Apple still push browser updates via OS - Old OS = old version of browser  Project Spartan: Microsofts browser that will replace IE. - Includes new rendering engine - Better developer tools - And is evergreen! How to cope with this: - Stop doing user agent sniffing! Use feature detection or use polyfills 23
  • 24. 1 of the advantages of native apps was the ways to interact with mobile devices HTML5 spec includes JS API’s for interacting with mobile devices When asking geolocation, browser will ask user for permission 24
  • 25. How do we request permissions in a web application? The disadvantage of the app approach is that we cannot install the app without granting all of the requested permissions, while the web app on the right will keep working even if the user denies some features permissions. 25
  • 26. URI schemes make it possible to call native apps from a web app, Examples: - mailto: opens the mail client and already creates a mail to specified recipient - tel: opens app to make a call to specified nr - sms: opens app to send sms to specified nr - skype: opens skype - spotify: can load a track, album, artist, search or playlist in spotify - maps: opens mapping application - market: open google play 26
  • 27. From within the search results you can immediately call, navigate or go to website of AE, When a specific action is chosen, the right app is opened in the correct state 27
  • 28. A web worker is a JS script running in the background, independently of other UI scripts. A web worker can utilize multi-core CPU’s more effectively Latest browser’s JS engines are blazing fast Not only technological improvements but more awareness about performance - JS, CSS, images, HTML can easily be minifed to reduce loading time - Module loading techniques can boost initial times - Performance profiling tools in browsers - Services and browser plugins to give performance ratings (Google PageSpeed, YSlow, Pingdom, 28
  • 29. Offline should not be treated as a corner case. In tunnels, in the airplane, in the train, people want to continue using your web app. Data can be stored client side: - WebStorage: key value pairs - sessionStorage – stored in browser window - localStorage – stored in browser across windows and tabs (5MB per storage area) - IndexedDB (API) / WebSQL - Structured data - Transactionality - Data can be queried - No size limitations Data can be synced - PouchDB - based on IndexedDB - Syncs with a CouchDB on the server Application cache - Defines which resources to cache Service worker - Runs in background - Controls how network requests are handled (= programmable network proxy) 29
  • 30. It’s not just about having data offline, it’s about the offline experience Lanyrd: - service listing up professional events - user can search for events, connect with friends, check where they’re going to, where they’re speaking - user can track event, check what’s tweeted, what links are hot during event - user can discover slides and video’s - Speaker can create portfolio Offline experience of Lanyrd: - Users can see information on future conferences they are attending 30
  • 31. Using HTML5 capabilities, your web site can be configured to be installable on the homescreen of your users’ devices. This allows you to offer the experience or look and feel of a native application without having to maintain multiple code bases. You can also publish your HTML5 web application to web app stores like the one from Amazon. 31
  • 32. - Different libraries for responsive design, CSS structuring - Development frameworks, utility libs, JS superset langs - Debugging tools + emulators (in the browser) => different devices + network speed emulators - Testing frameworks=> multi browser - Testing cloud services => multidevice => emulated + physical devices - ALM tools => dependency management, build, package 32
  • 33. We’re no longer building simple web sites, but web applications. A web application is more complex and as such a lot of tools, libraries and frameworks have arisen to tackle this complexity. This is no different than what we’ve been doing in classic development languages like Java or .NET. Each project makes a pick out of the available tools, frameworks and libraries to form its own stack. 33
  • 34. 34
  • 35. Web standardization is a fact. Offline support, ALM tools, unform design principles, testing, development frameworks& debugging tools are present. So there’s not a cloud in the sky? 35
  • 36. A lot of development frameworks are out there. Based on adoption rate , Angular is the clear winner, so simply go with Angular and you’ve got nothing to worry about? Guess again. Angular’s initial goal was to bridge the gap between the browsers at that time and the HTML5 specification. But as the HTML5 standard is now complete, features like Object.observe and WebComponents will become natively available in the browser. As a consequencen Angular’s purpose will be diminished. To make sure they won’t become obsolete, they therefore anounced big changes for 2.0. This means that it won't be an easy upgrade, you'll need to put some effort in it. 36
  • 37. It’s not that these changes weren’t already a fact, it’s the fact that things are now changing at a faster rate. 37
  • 38. This approach is exactly the same as forcing your users to download the mobile application. 38
  • 39. 39
  • 40. 40
  • 41. Be agile in this rapidly changing world and embrace the change that’s happing in the web world 41
  • 42. Staying up to date incurs a cost. On the other hand, not staying up to date, could cost even more money. If you lose to your competitors, you risk losing market share and maybe even your business as a whole . 42
  • 43. Employees are used to working with modern UI applications at home, they expect the same experience when they’re at the office A lot of people have tablets or get one from their employer. Company applications should work on those devices as well Some of your employees might be on the road a lot for their daily job, so the company applications they want to use should work on mobile devices 43
  • 44. 44
  • 45. “Application” redefined: An application is what the user sees, experiences. The front end consumes the back end services through APIs. • Design for the customer => deliver a great user experience • Architecture your application by splitting it in 3 • Front end • API • Back end • 3 kinds of engineers, each with own specialization • 2 speeds: front end vs systems of record => bimodal IT 45
  • 46. Don’t just use technology and be dependant on it. Think your choices through. Which technologies will you use? How will the architecture of the front end look like? Think about solid standards such as loosely coupling, modularity, separation of concerns, … When a team has problems with HTML5, it usually stems from the fact that they take a “website” development approach to building an app, and often don't use the right tools and architectures for application development. Make sure all parts of your applicarion are easily swappable. Example: Use facades to hide underlying technological choices (i.e; which library did you choose for the task at hand). The last thing you want is to rewrite your application because the technology evolves. It will evolve, so be prepared! 46
  • 47. 47
  • 48. 48
  • 49. 49
  • 50. 50