SlideShare uma empresa Scribd logo
Mobile First
& Offline First
Interfaces responsivas
DANILO VITORIANO
Mobile First!
Responsive Design
Mobile First
Google prioriza sites responsivos
Abordagens para design responsivo
A web nasceu no
computador
não importa ao usuário
se é desktop ou mobile
ele só quer
acessar
Solução mais comum
Adaptar o conteúdo do site desktop
para uma versão mais “estreita”
que será lida por smartphones.
Mobile First e Offline First
Mobile First e Offline First
Mobile First e Offline First
/* Extra small devices (phones, less than 768px) */
/* No media query since this is the default in Bootstrap */
/* Small devices (tablets, 768px and up) */
@media (min-width: @screen-sm-min) { ... }
/* Medium devices (desktops, 992px and up) */
@media (min-width: @screen-md-min) { ... }
/* Large devices (large desktops, 1200px and up) */
@media (min-width: @screen-lg-min) { ... }
CSS
Mobile First e Offline First
Offline First!
Progressive
Web
Apps
we are disconnected
we live in a battery powered world
our technology are always
connected & steadily powered
Offline capability the key to modern
Progressive Web Applications.
Offline first thinking
from and further
Responsive and
Mobile First thinking.
Topics:
● UI Conventions for Offline Apps
● UX patterns
● User research
● Mental model discovery
● Tools /techniques to build offline apps
● Distributed systems research
● Tech solutions to handle offline mode
● Web and Native
Mas como resolver isso?
Armazenagem de
dados em Cache
client side
Web Storage API
Possibilita armazenar dados da aplicação no dispositivo do usuário.
Google Chrome Offline First Apps
● Fazer download de todos JavaScript, CSS, fontes e imagens
● O aplicativo salva e sincroniza pequenas quantidades (chunks) de
dados (quando tiver conexão) - por isso progressiva
● O aplicativo detecta mudanças na conectividade: como gerenciar a
falta de conexão? (offline handle)
Facebook Code Developer Apps
Recomendações
● Use dados locais sempre que possível
● Separe UI (User Interface, View - Ex.: React) dos dados da sua aplicação
(Model, View Model - Ex.: Redux)
● Seu aplicativo pode ser fechado a qualquer momento. #comofaz?
● Testes
Mozilla Offline First
● A aplicação deve detectar o estado offline
● Armazenamento de “data and assets” offline
● Salve os status da aplicação periodicamente: indexedDB
● Sincronize com o servidor
como salvar dados no
usuário?
In-browser
databases
Armazenar dados no front-end
derby.js
Lawnchair
Hoodie
Google Firebase
remotestorage.io
Sencha touch
frameworks
OFFLINE FIRST
ReactJS
AngularJS
Offline web applications
SQL, offline cache API, localStorage
API
Service Workers
Atividades em background, hooks
para iniciar app offline, only https
IndexedDB
Objetos simples de pares JSON
like {propriedade : valor}
Web Storage
Persistir data no cliente
Google Weather
Mobile First e Offline First
Referências
● A importância de desenvolver considerando off-line first - Reinaldo Ferraz W3C, 2015
● http://offlinefirst.org/
● https://developer.chrome.com/apps/offline_apps
● https://www.w3.org/TR/webstorage/
● https://developer.mozilla.org/en-US/Apps/Fundamentals/Offline
● http://alistapart.com/article/offline-first
● https://airhorner.com/
● https://www.thoughtworks.com/radar/techniques/offline-first-web-applications
● http://getbootstrap.com/css/

Mais conteúdo relacionado

Mais procurados (11)

PDF
Abordagens modernas no desenvolvimento web
Wemerson Januario
 
PPTX
ASP .NET CORE, Angular 2, e Typescript com Scaffolding Yeoman | Seminário
Osmar Petry
 
PPTX
7Masters - PWA - Publishing using Universal Windows Apps
Gustavo Bellini Bigardi
 
PPTX
Facebook flux
Jonathan de Britto Sedrez
 
PDF
Web Design Responsivo
Victor Melo
 
PPTX
Progressive Web Apps
Paolo Almeida
 
PDF
Mobile
Rodrigo Leusin
 
PDF
Aplicações web multiplataforma - único código, múltiplas experiência
Alexandre Magno Teles Zimerer
 
PPTX
Web design responsivo - Criando um site adaptável
Guto Xavier
 
PPTX
Web ou App?
thingshackerteam
 
PDF
Desenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana Chahoud
iMasters
 
Abordagens modernas no desenvolvimento web
Wemerson Januario
 
ASP .NET CORE, Angular 2, e Typescript com Scaffolding Yeoman | Seminário
Osmar Petry
 
7Masters - PWA - Publishing using Universal Windows Apps
Gustavo Bellini Bigardi
 
Web Design Responsivo
Victor Melo
 
Progressive Web Apps
Paolo Almeida
 
Aplicações web multiplataforma - único código, múltiplas experiência
Alexandre Magno Teles Zimerer
 
Web design responsivo - Criando um site adaptável
Guto Xavier
 
Web ou App?
thingshackerteam
 
Desenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana Chahoud
iMasters
 

Semelhante a Mobile First e Offline First (20)

PDF
Responsive Web Design - Introdução
Vítor Teixeira
 
PPTX
Aplicacoes responsivas
Jackson F. de A. Mafra
 
PPTX
IBM Mobile Platform: Desenvolvimento de Aplicações Mobile
Alex Barbosa Coqueiro
 
PPTX
Aplicativos para dispositivos móveis
Ygor Castro
 
PDF
O poder das Progressive Web Apps
Pedro Edson Silva Barros
 
PDF
Desenvolvendo aplicacoes mobile_com_html_css_
Rodrigo Urubatan
 
PPTX
Dominando o Ionic Framework
Junior Abranches
 
PPTX
Introdução ao Android
Diogo Soares Moreira
 
PPTX
Introdução ao android
Paulo Remoli
 
PDF
Phonegap - Framework Mobile
Ildyone Martins
 
PDF
Responsive Web Design - Wireframe
Renato Bongiorno Bonfanti
 
PDF
Curso Básico Android - Aula 01
Lucas Boeing Scarduelli
 
PDF
Computação Ubiqua e Verde
elliando dias
 
PPTX
Bootstrap desenvolvendo e customizando interfaces para web, introduzindo aos ...
Cristofer Sousa
 
PDF
Hello Bootstrap!
Cristofer Sousa
 
PDF
Phonegap
Lucas Aquiles
 
ODP
Apresentação Minas - Desenvolvendo Sites
thiagolima
 
PPTX
Mantendo os dados do seu app web offline com PouchDB
Sidney Roberto
 
PPTX
Asoso tipos de aplicações móveis (1)
grupouro
 
Responsive Web Design - Introdução
Vítor Teixeira
 
Aplicacoes responsivas
Jackson F. de A. Mafra
 
IBM Mobile Platform: Desenvolvimento de Aplicações Mobile
Alex Barbosa Coqueiro
 
Aplicativos para dispositivos móveis
Ygor Castro
 
O poder das Progressive Web Apps
Pedro Edson Silva Barros
 
Desenvolvendo aplicacoes mobile_com_html_css_
Rodrigo Urubatan
 
Dominando o Ionic Framework
Junior Abranches
 
Introdução ao Android
Diogo Soares Moreira
 
Introdução ao android
Paulo Remoli
 
Phonegap - Framework Mobile
Ildyone Martins
 
Responsive Web Design - Wireframe
Renato Bongiorno Bonfanti
 
Curso Básico Android - Aula 01
Lucas Boeing Scarduelli
 
Computação Ubiqua e Verde
elliando dias
 
Bootstrap desenvolvendo e customizando interfaces para web, introduzindo aos ...
Cristofer Sousa
 
Hello Bootstrap!
Cristofer Sousa
 
Phonegap
Lucas Aquiles
 
Apresentação Minas - Desenvolvendo Sites
thiagolima
 
Mantendo os dados do seu app web offline com PouchDB
Sidney Roberto
 
Asoso tipos de aplicações móveis (1)
grupouro
 
Anúncio

Mais de Dan Vitoriano (20)

PDF
Node.js e Express
Dan Vitoriano
 
PDF
Workshop React Hooks
Dan Vitoriano
 
PDF
AMP Roadshow SP 2019 - Web Apps Modernas
Dan Vitoriano
 
PDF
JavaScript das Ruas
Dan Vitoriano
 
PDF
CSS in JS - Escrevendo CSS no JavaScript - Dan Vitoriano
Dan Vitoriano
 
PDF
Times digitais de alta performance - Tera e Endeavor
Dan Vitoriano
 
PDF
GraphQL - A Graph Query Language to your API
Dan Vitoriano
 
PDF
React Native
Dan Vitoriano
 
PDF
Pdsp #3
Dan Vitoriano
 
PDF
Pdsp #2
Dan Vitoriano
 
PDF
Meetup Processos de Desenvolvimento São Paulo - Gamestorming
Dan Vitoriano
 
PPTX
Unit Test JavaScript
Dan Vitoriano
 
PDF
Untraceable electronic mail, return addresses and digital pseudonyms - David ...
Dan Vitoriano
 
PDF
The computer for the 21st century - Mark Weiser, 1991
Dan Vitoriano
 
PPTX
Especificações UX/UI CMA Tablet
Dan Vitoriano
 
PDF
User experience guidelines for Universal Windows Platform (UWP) appsUwp app d...
Dan Vitoriano
 
PDF
Fullcircle papers - Sobre Blogs
Dan Vitoriano
 
PPTX
Apresentação FEMUG-ABC
Dan Vitoriano
 
PPTX
Planejamento estratégico de comunicação digital - Dados sobre internet e mobi...
Dan Vitoriano
 
PPTX
Google Material Design - Conceito, aplicações, código e web components
Dan Vitoriano
 
Node.js e Express
Dan Vitoriano
 
Workshop React Hooks
Dan Vitoriano
 
AMP Roadshow SP 2019 - Web Apps Modernas
Dan Vitoriano
 
JavaScript das Ruas
Dan Vitoriano
 
CSS in JS - Escrevendo CSS no JavaScript - Dan Vitoriano
Dan Vitoriano
 
Times digitais de alta performance - Tera e Endeavor
Dan Vitoriano
 
GraphQL - A Graph Query Language to your API
Dan Vitoriano
 
React Native
Dan Vitoriano
 
Pdsp #3
Dan Vitoriano
 
Pdsp #2
Dan Vitoriano
 
Meetup Processos de Desenvolvimento São Paulo - Gamestorming
Dan Vitoriano
 
Unit Test JavaScript
Dan Vitoriano
 
Untraceable electronic mail, return addresses and digital pseudonyms - David ...
Dan Vitoriano
 
The computer for the 21st century - Mark Weiser, 1991
Dan Vitoriano
 
Especificações UX/UI CMA Tablet
Dan Vitoriano
 
User experience guidelines for Universal Windows Platform (UWP) appsUwp app d...
Dan Vitoriano
 
Fullcircle papers - Sobre Blogs
Dan Vitoriano
 
Apresentação FEMUG-ABC
Dan Vitoriano
 
Planejamento estratégico de comunicação digital - Dados sobre internet e mobi...
Dan Vitoriano
 
Google Material Design - Conceito, aplicações, código e web components
Dan Vitoriano
 
Anúncio

Último (7)

PPTX
Gestão de Mudanças - Fases do processo de mudança organizacional
Gateware Group
 
PDF
Certificado em Redes Neurais Artificiais em Python
CaioSilva506151
 
PPTX
Gestão de Mudanças - O que é e como é implementada
Gateware Group
 
PPTX
Computacao-e-Tecnologias-Digitais-Por-Que-Aprender.pptx
RobertaOliveiradaFon1
 
PPTX
Desenvolvimento-de-Produtos-Inovadores.pptx
ssuser1d7565
 
PDF
Explorando o Futuro do Corpo: Implantes Neurais e o Biohacking dos Sentidos
cooperliora
 
PPTX
Gestão de Mudanças - Os maiores desafios da Gestão de Mudanças e Gestão de Pr...
Gateware Group
 
Gestão de Mudanças - Fases do processo de mudança organizacional
Gateware Group
 
Certificado em Redes Neurais Artificiais em Python
CaioSilva506151
 
Gestão de Mudanças - O que é e como é implementada
Gateware Group
 
Computacao-e-Tecnologias-Digitais-Por-Que-Aprender.pptx
RobertaOliveiradaFon1
 
Desenvolvimento-de-Produtos-Inovadores.pptx
ssuser1d7565
 
Explorando o Futuro do Corpo: Implantes Neurais e o Biohacking dos Sentidos
cooperliora
 
Gestão de Mudanças - Os maiores desafios da Gestão de Mudanças e Gestão de Pr...
Gateware Group
 

Mobile First e Offline First

  • 1. Mobile First & Offline First Interfaces responsivas DANILO VITORIANO
  • 3. Mobile First Google prioriza sites responsivos Abordagens para design responsivo
  • 4. A web nasceu no computador
  • 5. não importa ao usuário se é desktop ou mobile
  • 7. Solução mais comum Adaptar o conteúdo do site desktop para uma versão mais “estreita” que será lida por smartphones.
  • 11. /* Extra small devices (phones, less than 768px) */ /* No media query since this is the default in Bootstrap */ /* Small devices (tablets, 768px and up) */ @media (min-width: @screen-sm-min) { ... } /* Medium devices (desktops, 992px and up) */ @media (min-width: @screen-md-min) { ... } /* Large devices (large desktops, 1200px and up) */ @media (min-width: @screen-lg-min) { ... } CSS
  • 15. we are disconnected we live in a battery powered world our technology are always connected & steadily powered Offline capability the key to modern Progressive Web Applications. Offline first thinking from and further Responsive and Mobile First thinking. Topics: ● UI Conventions for Offline Apps ● UX patterns ● User research ● Mental model discovery ● Tools /techniques to build offline apps ● Distributed systems research ● Tech solutions to handle offline mode ● Web and Native
  • 17. Armazenagem de dados em Cache client side
  • 18. Web Storage API Possibilita armazenar dados da aplicação no dispositivo do usuário.
  • 19. Google Chrome Offline First Apps ● Fazer download de todos JavaScript, CSS, fontes e imagens ● O aplicativo salva e sincroniza pequenas quantidades (chunks) de dados (quando tiver conexão) - por isso progressiva ● O aplicativo detecta mudanças na conectividade: como gerenciar a falta de conexão? (offline handle)
  • 20. Facebook Code Developer Apps Recomendações ● Use dados locais sempre que possível ● Separe UI (User Interface, View - Ex.: React) dos dados da sua aplicação (Model, View Model - Ex.: Redux) ● Seu aplicativo pode ser fechado a qualquer momento. #comofaz? ● Testes
  • 21. Mozilla Offline First ● A aplicação deve detectar o estado offline ● Armazenamento de “data and assets” offline ● Salve os status da aplicação periodicamente: indexedDB ● Sincronize com o servidor
  • 22. como salvar dados no usuário?
  • 23. In-browser databases Armazenar dados no front-end derby.js Lawnchair Hoodie Google Firebase remotestorage.io Sencha touch
  • 25. ReactJS AngularJS Offline web applications SQL, offline cache API, localStorage API Service Workers Atividades em background, hooks para iniciar app offline, only https IndexedDB Objetos simples de pares JSON like {propriedade : valor} Web Storage Persistir data no cliente
  • 28. Referências ● A importância de desenvolver considerando off-line first - Reinaldo Ferraz W3C, 2015 ● http://offlinefirst.org/ ● https://developer.chrome.com/apps/offline_apps ● https://www.w3.org/TR/webstorage/ ● https://developer.mozilla.org/en-US/Apps/Fundamentals/Offline ● http://alistapart.com/article/offline-first ● https://airhorner.com/ ● https://www.thoughtworks.com/radar/techniques/offline-first-web-applications ● http://getbootstrap.com/css/