SlideShare a Scribd company logo
1 of 72
Download to read offline
Desenvolvedor
mobile precisa
aprender Web
jcemer.com
github.com/jcemer
twitter.com/jcemer
speakerdeck.com/jcemer
porto alegre
Desenvolvimento
mobile não é
apenas sobre
aplicações nativas
Web é um conjunto de
tecnologias para acesso a
informações na Internet
A Internet conecta
computadores, a 

Web conecta 

pessoas
http://www.computerhistory.org/revolution/networking/19/314
JavaScript
Web APIs
SVG
WebGL
HTML
CSS
HTTP
TCP/IP
básico
comunicação
scripting
gráficos
A maioria das aplicações
modernas utiliza pelo
menos HTTP e TCP/IP 😎
High-Performance Browser Networking (O'Reilly)
Latência de uma requisição
High-Performance Browser Networking (O'Reilly)
Optimizing the Critical Rendering Path ~ @igrigorik
14kb
https://docs.google.com/presentation/d/
1IRHyU7_crIiCjl0Gvue0WY3eY_eYvFQvSfwQouW9368/present
Por que ir além do
HTTP e aprender
outras tecnologias
Web?
<meta name="apple-itunes-app" 

content="app-id=myAppStoreID, 

affiliate-data=myAffiliateData,
app-argument=myURL">
Há outras razões além de
fazer um website teaser
para divulgar sua App
nativa 😛
Em 2016, 50% das Apps
mobile serão híbridas
(mescla de tecnologias
nativa e Web)
- Predição da Gartner
Mas uma predição
divulgada pela BlackBerry
não vale tanto assim...
A questão inclusive é sobre
desenvolver ou não
aplicações
Deepest engagement for
the longest period of time
happens in apps, so apps
matter, and they matter
desperately for brands who
want to connect to
customers.
http://venturebeat.com/2015/09/25/wait-what-mobile-browser-traffic-
is-2x-bigger-than-app-traffic-and-growing-faster/
no-one is going to install an
app for each company,
service, or site he or she
interacts with, your mobile
web experience has to be
good, and it has to be
strong.
http://venturebeat.com/2015/09/25/wait-what-mobile-browser-traffic-
is-2x-bigger-than-app-traffic-and-growing-faster/
Experiências que dependem
massivamente do hardware
(jogos, câmera e localização)
devem continuar sendo
nativas
As demais experiências
podem ser Web  🙌
A Web é universal
It should be accessible from
any kind of hardware that can
connect to the internet:
stationary or mobile, small
screen or large.
- Sir Tim Berners-Lee
P
Tecnologias para
criação de
interfaces evoluíram
As maiores dores de cabeça
do desenvolvimento Web são
os navegadores antigos
Os navegadores modernos
suportam uma série de novas
tecnologias
HTML Canvas Audio

Video
App 

Cache
Input

types
CSS 2 Transforms Animation Gradient Flexbox Filter
SVG
HTML e CSS
Responsive 

Design
Sistemas de 

escrita de CSS
WAI-ARIAMicroformats
Padrões para
HTML e CSS
A Web é a plataforma
mais completa para
marcação de conteúdo e
definição de layout
JS Object

properties
Array 

manipulation
Arrow 

functions
Block

scoping
Classes Default

parameter

values
Destructuring 

Assignments
Iterators
Generators Modules Rest 

parameters
Spread

operator
Template

strings
ECMAScript 2015+
Uma série de práticas
também foram difundidas
para melhor programar
JavaScript
DHTML jQuery Backbone.js AngularJS
Ember.js D3.jsQUnit React
jQuery

plugins
Twitter

Bootstrap
Zurb

Foundation
jQueryUI
Ferramentas
Seções da App
podem usar
tecnologias Web
Muitas aplicações
desktop já utilizam
tecnologias Web
Aplicações utilizando
Electron
http://electron.atom.io
Mundo mobile tem dado mais
atenção para as webviews
Android 5.0 auto-updates
WebView
http://developer.telerik.com/featured/android-5-0s-auto-updating-
webview-means-mobile-apps
We realized that we had no
control over how the
webview manages
important system
resources
- Building a better Instagram 

app for Android
http://instagram-engineering.tumblr.com/post/97740520316/
betterandroid
Experimentar com
tecnologias Web é mais
barato e nem toda seção
da sua App é o Instagram,
Facebook ou Twitter
1. Native shell +
webviews

2. + native
navigation
⭐⭐⭐⭐ - 4/5
⭐⭐⭐⭐⭐ - 4.5/5
We were able to put out a
fantastic version of
Basecamp for Android by
reusing 95% of the work
- DHH
https://signalvnoise.com/posts/3743-hybrid-sweet-spot-native-
navigation-web-content
Construir Apps híbridas
que mesclam Web e
tecnologias nativas é uma
boa alternativa
Experiências
diferentes 😅
É possível também
desenvolver Apps nativas
com foco em reuso
http://www.appcelerator.com
Appcelerator
Platform
http://www.appcelerator.com
Tecnologias Web
são alicerce de
novas ideias
React Native garantiu 

87% de reuso de código na
escrita de uma aplicação
para iOS e Android
https://www.youtube.com/watch?v=PAA9O4E1IM4
React Native enables you to
build native using a
consistent developer
experience based on
JavaScript. The focus is
learn once, write anywhere.
https://facebook.github.io/react-native
Com React Native é
possível fazer live reload
da aplicação enquanto se
escreve código
Apenas parte da sua
aplicação pode utilizar
React
https://www.youtube.com/watch?v=tFsYCRIDIu8&feature=youtu.be
Cada vez menos é preciso
recorrer a soluções
proprietárias
E as experiências
Web mobile?
As APIs Web
contemplam o
universo mobile
APIs Controle 

por toque
Captura 

de áudio
Comandos 

de voz
Geração

de áudio
Captura de 

imagem
Geolocalização
Controle de

vibração
Emitir

notificações
Condição

da conexão
Condição 

da bateria
Web APIs
<meta name="theme-color"

content="#db5945">
<link rel="icon" 

sizes="192x192"

href="nice-highres.png">
https://developers.google.com/web/updates/2014/11/Support-for-
theme-color-in-Chrome-39-for-Android
https://medium.com/woah-basecamp-3/basecamp-3-work-can-
wait-4adfb285c84b
3. Push
notifications em
um App nativo 

(e Web)
A Web terá suporte a Push
Notifications através dos
Service Workers
https://developers.google.com/web/updates/2015/03/push-
notificatons-on-the-open-web
Os Service Workers
também resolverão o
desafio do suporte
Offline na Web
http://www.html5rocks.com/en/tutorials/service-worker/introduction
Existe bastante
conteúdo relevante
sobre Web mobile
http://www.slideshare.net/caelumdev/serviceworkers-sergio
https://speakerdeck.com/jcemer/construindo-a-web-mobile-
de-amanha
http://www.slideshare.net/caelumdev/alm-do-responsive-
design-a-mudana-de-paradigma-do-design-adaptativo-e-os-
mltiplos-dispositivos
http://www.slideshare.net/caelumdev/tudo-que-voc-precisa-
saber-sobre-ltpicture-e-srcset
Como desenvolvedores,
devemos entregar a solução
que melhor funciona
A Web pode servir melhor
que você imagina
Obrigado e dediquem
esforços para aprender
mais sobre Web
- @jcemer

More Related Content

What's hot

Curso de Desenvolvimento de Aplicativos Híbridos com PhoneGap/Cordova, e Ionic
Curso de Desenvolvimento de Aplicativos Híbridos com PhoneGap/Cordova, e IonicCurso de Desenvolvimento de Aplicativos Híbridos com PhoneGap/Cordova, e Ionic
Curso de Desenvolvimento de Aplicativos Híbridos com PhoneGap/Cordova, e Ionic
Felipe Blini
 
PhoneGap - Criando aplicações Android e iOS com HTML5
PhoneGap - Criando aplicações Android e iOS com HTML5PhoneGap - Criando aplicações Android e iOS com HTML5
PhoneGap - Criando aplicações Android e iOS com HTML5
Rodrigo Cascarrolho
 
Sua web app nao precisa ser necessariamente mais rapida, mas parecer q e
Sua web app nao precisa ser necessariamente mais rapida, mas parecer q eSua web app nao precisa ser necessariamente mais rapida, mas parecer q e
Sua web app nao precisa ser necessariamente mais rapida, mas parecer q e
Alexandre Magno Teles Zimerer
 

What's hot (20)

PhoneGap - Desenvolvimento mobile multiplataforma - SECCOMP 2014
PhoneGap - Desenvolvimento mobile multiplataforma - SECCOMP 2014PhoneGap - Desenvolvimento mobile multiplataforma - SECCOMP 2014
PhoneGap - Desenvolvimento mobile multiplataforma - SECCOMP 2014
 
Abra sua cabeça, apps híbridos - PhoneGap/Cordova
Abra sua cabeça, apps híbridos - PhoneGap/CordovaAbra sua cabeça, apps híbridos - PhoneGap/Cordova
Abra sua cabeça, apps híbridos - PhoneGap/Cordova
 
Curso de Desenvolvimento de Aplicativos Híbridos com PhoneGap/Cordova, e Ionic
Curso de Desenvolvimento de Aplicativos Híbridos com PhoneGap/Cordova, e IonicCurso de Desenvolvimento de Aplicativos Híbridos com PhoneGap/Cordova, e Ionic
Curso de Desenvolvimento de Aplicativos Híbridos com PhoneGap/Cordova, e Ionic
 
Desenvolvendo para Android com PhoneGap
Desenvolvendo para Android com PhoneGapDesenvolvendo para Android com PhoneGap
Desenvolvendo para Android com PhoneGap
 
Desenvolvendo APPs Com Angular.JS + Cordova
Desenvolvendo APPs Com Angular.JS �+ CordovaDesenvolvendo APPs Com Angular.JS �+ Cordova
Desenvolvendo APPs Com Angular.JS + Cordova
 
Phonegap
PhonegapPhonegap
Phonegap
 
Desenvolvimento Multiplataforma com Appcelerator Titanium
Desenvolvimento Multiplataforma com Appcelerator TitaniumDesenvolvimento Multiplataforma com Appcelerator Titanium
Desenvolvimento Multiplataforma com Appcelerator Titanium
 
Workshop - Ionic + firebase
Workshop - Ionic + firebaseWorkshop - Ionic + firebase
Workshop - Ionic + firebase
 
Phonegap, muito além dos nativos!
Phonegap, muito além dos nativos!Phonegap, muito além dos nativos!
Phonegap, muito além dos nativos!
 
Hybrid app phonegap angular ionic
Hybrid app   phonegap angular ionicHybrid app   phonegap angular ionic
Hybrid app phonegap angular ionic
 
PhoneGap - Criando aplicações Android e iOS com HTML5
PhoneGap - Criando aplicações Android e iOS com HTML5PhoneGap - Criando aplicações Android e iOS com HTML5
PhoneGap - Criando aplicações Android e iOS com HTML5
 
Conhecendo o PhoneGap
Conhecendo o PhoneGapConhecendo o PhoneGap
Conhecendo o PhoneGap
 
PhoneGap - criando aplicações Android e iOS com HTML5
PhoneGap - criando aplicações Android e iOS com HTML5PhoneGap - criando aplicações Android e iOS com HTML5
PhoneGap - criando aplicações Android e iOS com HTML5
 
2 curso-titanium-plataforma
2 curso-titanium-plataforma2 curso-titanium-plataforma
2 curso-titanium-plataforma
 
Criando Aplicações Mobile Híbridas com Ionic Framework
Criando Aplicações Mobile Híbridas com Ionic FrameworkCriando Aplicações Mobile Híbridas com Ionic Framework
Criando Aplicações Mobile Híbridas com Ionic Framework
 
Sua web app nao precisa ser necessariamente mais rapida, mas parecer q e
Sua web app nao precisa ser necessariamente mais rapida, mas parecer q eSua web app nao precisa ser necessariamente mais rapida, mas parecer q e
Sua web app nao precisa ser necessariamente mais rapida, mas parecer q e
 
Introdução ao desenvolvimento de aplicativos com PhoneGap e Sencha Touch
Introdução ao desenvolvimento de aplicativos com PhoneGap e Sencha TouchIntrodução ao desenvolvimento de aplicativos com PhoneGap e Sencha Touch
Introdução ao desenvolvimento de aplicativos com PhoneGap e Sencha Touch
 
Desenvolvimento de aplicativos Mobile com HTML5 e Javascript com Phonegap (Te...
Desenvolvimento de aplicativos Mobile com HTML5 e Javascript com Phonegap (Te...Desenvolvimento de aplicativos Mobile com HTML5 e Javascript com Phonegap (Te...
Desenvolvimento de aplicativos Mobile com HTML5 e Javascript com Phonegap (Te...
 
Responsividade e html5
Responsividade e html5Responsividade e html5
Responsividade e html5
 
Google IO 2017 Extended - Cuiaba - Progressive Web Apps
Google IO 2017 Extended - Cuiaba - Progressive Web AppsGoogle IO 2017 Extended - Cuiaba - Progressive Web Apps
Google IO 2017 Extended - Cuiaba - Progressive Web Apps
 

Viewers also liked

Viewers also liked (6)

Evolução e futuro do uso de paradigmas no JavaScript
Evolução e futuro do uso de paradigmas no JavaScriptEvolução e futuro do uso de paradigmas no JavaScript
Evolução e futuro do uso de paradigmas no JavaScript
 
Componentes para a Web
Componentes para a WebComponentes para a Web
Componentes para a Web
 
Cache em aplicações web
Cache em aplicações webCache em aplicações web
Cache em aplicações web
 
Web & Mobile
Web & MobileWeb & Mobile
Web & Mobile
 
Como encarar o desenvolvimento front-end
Como encarar o desenvolvimento front-endComo encarar o desenvolvimento front-end
Como encarar o desenvolvimento front-end
 
Aplicações Web - um estudo sobre React
Aplicações Web - um estudo sobre ReactAplicações Web - um estudo sobre React
Aplicações Web - um estudo sobre React
 

Similar to Desenvolvedor mobile precisa aprender Web

Surpreenda-se com o Silverlight 3
Surpreenda-se com o Silverlight 3Surpreenda-se com o Silverlight 3
Surpreenda-se com o Silverlight 3
Rodrigo Kono
 
Desenvolvimento web com software livre
Desenvolvimento web com software livreDesenvolvimento web com software livre
Desenvolvimento web com software livre
Ruan Carvalho
 
T@rget trust asp.net avançado
T@rget trust   asp.net avançadoT@rget trust   asp.net avançado
T@rget trust asp.net avançado
Targettrust
 

Similar to Desenvolvedor mobile precisa aprender Web (20)

Webapp já posso invistir nisso ? FISL12
Webapp já posso invistir nisso ? FISL12Webapp já posso invistir nisso ? FISL12
Webapp já posso invistir nisso ? FISL12
 
Seminário de Desenvolvimento Mobile - Etec Cafelândia
Seminário de Desenvolvimento Mobile - Etec CafelândiaSeminário de Desenvolvimento Mobile - Etec Cafelândia
Seminário de Desenvolvimento Mobile - Etec Cafelândia
 
HTML5, Mobile Web e além - Computer on the beach 2015
HTML5, Mobile Web e além - Computer on the beach 2015HTML5, Mobile Web e além - Computer on the beach 2015
HTML5, Mobile Web e além - Computer on the beach 2015
 
Descomplicando o JQuery - Introdução ao Framework
Descomplicando o JQuery - Introdução ao FrameworkDescomplicando o JQuery - Introdução ao Framework
Descomplicando o JQuery - Introdução ao Framework
 
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
 
IoTizando com JavaScript
IoTizando com JavaScriptIoTizando com JavaScript
IoTizando com JavaScript
 
Surpreenda-se com o Silverlight 3
Surpreenda-se com o Silverlight 3Surpreenda-se com o Silverlight 3
Surpreenda-se com o Silverlight 3
 
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
 
Rio Info 2010 - Oficina - Oficina Papel Devigner Novidades HTML5 - Ricardo Pa...
Rio Info 2010 - Oficina - Oficina Papel Devigner Novidades HTML5 - Ricardo Pa...Rio Info 2010 - Oficina - Oficina Papel Devigner Novidades HTML5 - Ricardo Pa...
Rio Info 2010 - Oficina - Oficina Papel Devigner Novidades HTML5 - Ricardo Pa...
 
IBM Mobile Platform: Desenvolvimento de Aplicações Mobile
IBM Mobile Platform: Desenvolvimento de Aplicações MobileIBM Mobile Platform: Desenvolvimento de Aplicações Mobile
IBM Mobile Platform: Desenvolvimento de Aplicações Mobile
 
Webapp, já posso investir nisso ? Latinoware 2011
Webapp, já posso investir nisso ? Latinoware 2011Webapp, já posso investir nisso ? Latinoware 2011
Webapp, já posso investir nisso ? Latinoware 2011
 
Apresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvemApresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvem
 
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
 
Framework7
Framework7Framework7
Framework7
 
Desenvolvimento web com software livre
Desenvolvimento web com software livreDesenvolvimento web com software livre
Desenvolvimento web com software livre
 
Desenvolvimento web com Software Livre
Desenvolvimento web com Software LivreDesenvolvimento web com Software Livre
Desenvolvimento web com Software Livre
 
T@rget trust asp.net avançado
T@rget trust   asp.net avançadoT@rget trust   asp.net avançado
T@rget trust asp.net avançado
 
Desenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana Chahoud
Desenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana ChahoudDesenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana Chahoud
Desenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana Chahoud
 
Netbeans Slides
Netbeans SlidesNetbeans Slides
Netbeans Slides
 
Apresentação de minha Monografia do curso de Sistema e Mídias Digitais
Apresentação de minha Monografia do curso de Sistema e Mídias DigitaisApresentação de minha Monografia do curso de Sistema e Mídias Digitais
Apresentação de minha Monografia do curso de Sistema e Mídias Digitais
 

Desenvolvedor mobile precisa aprender Web