SlideShare una empresa de Scribd logo
1 de 69
Descargar para leer sin conexión
Aplicações Móveis
                 Híbridas: usando Web e
                      Nativo juntos


                       cristiano@lab360.com.br (@cbsanchez)
                         wladimir@lab360.com.br (@wlads)

Tuesday, 22 May 2012                                          1
Agenda
                   • Aplicações Mobile Web
                   • Aplicações Mobile Nativas
                   • Aplicações Mobile Híbridas




Tuesday, 22 May 2012                              2
1. Aplicações Mobile
                                Web


Tuesday, 22 May 2012                          3
No início era o nativo



Tuesday, 22 May 2012                            4
Sir Tim Berners-Lee




      e então Berners-Lee criou a web
Tuesday, 22 May 2012                         5
e desde 1991
                   • HTML, CSS e JavaScript
                   • Pearl, PHP e ASP
                   • Java
                   • .NET
                   • Applet

Tuesday, 22 May 2012                          6
hoje na web
                   • Sistemas corporativos
                   • Google Docs
                   • e-Learning
                   • Twitter, Facebook, GitHub, Basecamp,
                     Netflix...


Tuesday, 22 May 2012                                        7
mas nós queríamos mais
              • WML e WMLScript
              • XHTML MP
              • JavaME
              • Nativos



                                  Martin Cooper
Tuesday, 22 May 2012                              8
Fonte: Wikipedia


Tuesday, 22 May 2012                      9
e chega o iPhone




                                   Steve Jobs


Tuesday, 22 May 2012                            10
Tuesday, 22 May 2012   11
HTML + CSS + JAVASCRIPT

Tuesday, 22 May 2012                   12
ainda em desenvolvimento!
                   • Chrome

                   • Firefox

                   • Safari

                   • IE

                   • Chrome Frame

Tuesday, 22 May 2012                13
e o que promete?
                   • Novas API’s

                   • Multimídia embutido

                   • Uso off-line

                   • Depuração de erros


Tuesday, 22 May 2012                       14
http://www.html5rocks.com/en/
                       http://html5demos.com/



Tuesday, 22 May 2012                             15
Semântica




Tuesday, 22 May 2012               16
Canvas




Tuesday, 22 May 2012            17
Canvas
                   • 2D APIs
                   • 3D APIs (WebGL)
                   • Inline SVG




Tuesday, 22 May 2012                       18
Geolocation




Tuesday, 22 May 2012                 19
Storage




Tuesday, 22 May 2012             20
Áudio e Vídeo




Tuesday, 22 May 2012                   21
CSS3
                   • seletores, atributos, targets
                   • instruções
                   • webfonts
                   • linhas e colunas
                   • transforms e animations



Tuesday, 22 May 2012                                 22
CSS3




Tuesday, 22 May 2012          23
JavaScript
                   • Ele sempre esteve entre nós!
                   • Nova API DOM (getElementBy...)
                   • History API
                   • FileSystem API
                   • Geolocation

Tuesday, 22 May 2012                                  24
web mobile apps?
                   • Afinal de contas, é HTML
                   • Portável
                   • Padrão aberto
                   • Porque é possível



Tuesday, 22 May 2012                           25
e ainda...
                   • Device orientation
                   • Multi-touch
                   • Desenvolvimento produtivo
                   • Comunidade
                   • Separation of Concerns

Tuesday, 22 May 2012                             26
...e por último




Tuesday, 22 May 2012                     27
SoC
                   • html estrutura
                   • css view/estilo
                   • javascript lógica



Tuesday, 22 May 2012                     28
alguns (bons) exemplos
                   • Financial Times
                   • Basecamp
                   • http://www.apple.com/webapps/




Tuesday, 22 May 2012                                 29
Financial Times




Tuesday, 22 May 2012                     30
2. Aplicações Mobile
                              Nativas


Tuesday, 22 May 2012                          31
Native mode (wikipedia)
                   •   The term native mode or native code is used in computing in two
                       related senses:
                       •   to describe something running on a computer natively
                           or in native mode meaning that it is running without
                           any external support as contrasted to running in
                           emulation (i.e. browser)
                       •   Native operating system, native instruction set, etc., in
                           application to a computer processor means that the
                           corresponding item was implemented specifically for
                           the given model of the computer or microprocessor,
                           as opposed to emulation or compatibility mode.


Tuesday, 22 May 2012                                                                     32
Conceito

                   • Native App:
                       • An application that is specifically
                         written for a device platform.




Tuesday, 22 May 2012                                          33
Devices
                   • Feature-phones
                   • Smart-phones     What else?
                   • Tablets
                   • TV



Tuesday, 22 May 2012                               34
Plataformas Nativas
                   • Plataformas e suas Linguagens de
                     Programação
                       • iOS => Objective-C, C
                       • Android => Java
                       • BlackBerry => Java
                       • Windows Mobile (Nokia) => .Net

Tuesday, 22 May 2012                                      35
Tuesday, 22 May 2012   36
Tuesday, 22 May 2012   37
Tuesday, 22 May 2012   38
Tuesday, 22 May 2012   39
Android => Java + Dalvik
               • Java é uma linguagem familiar para
                 muitos desenvolvedores, muitas vezes é
                 a primeira linguagem
               • Gustav’s Moto:
                       “Anybody can cook”
               • Android fornece uma excelente API

Tuesday, 22 May 2012                                      40
Objective-C
                   • Objective-C criada na decada de 90
                     (NeXT) e possui uma vasta API =>
                     produtos Apple
                   • Runtime C orientado a objetos
                   • Ganhou muita popularidade com o
                     lançamento do iPhone e do iOS SDK


Tuesday, 22 May 2012                                      41
C/C++
                   • Diversos Devices
                   • Possivel desenvolver em C/C++ para
                     iOS e Android
                   • Projetos Open-Source!!!
                   • UI???


Tuesday, 22 May 2012                                      42
Características Apps
                             Nativas
                   • Aparência Nativa (Native look & feel):
                     impossível para Web por definição
                   • APIs: video, alarm clock, file access,
                     push notification, ...
                   • Integração com aplicações: maps, mail,
                     camera, youtube, gallery, agenda, ...


Tuesday, 22 May 2012                                          43
Características Apps
                             Nativas
                   • Integração com SO: concorrência,
                     system events
                   • Melhor Performance e uso da Bateria
                   • Web engines, plugins (e.g. <video>
                     codecs)
                   • Desenvolvimento: debugging

Tuesday, 22 May 2012                                       44
Características Apps
                             Nativas
                   • Uso “off-line”
                   • In-App Purchase: CC cadastrado +
                     billing (e.g. High Noon)
                   • Tratamento de diferentes tamanhos e
                     resoluções de tela (i.e. Android)



Tuesday, 22 May 2012                                       45
Human Interface Guidelines




  Fonte:
  http://developer.android.com/guide/practices/ui_guidelines/index.html
  http://developer.apple.com/library/ios/documentation/userexperience/conceptual/mobilehig/MobileHIG.pdf
Tuesday, 22 May 2012                                                                                       46
Armazenamento (off-line)




Tuesday, 22 May 2012                      47
Principais Características
                “ordenadas” para App Nativas
                   1. offline mode
                   2. uso dos recursos (+hardware) do device
                   3. experiência de uso
                   4. centralização das aplicacoes (base de potenciais usuários)
                   5. integração com outras apps
                   6. notificações (push) e recursos de sistema (e.g. alarme)
                   7. “monetization” das lojas (busca e faturamento)
                   8. performance e uso da bateria



Tuesday, 22 May 2012                                                               48
Domínio de Aplicações
                   • GAMES
                   • Acesso a recursos nativos:
                     ACCELEROMETER, CAMERA,
                     COMPASS, CONTACTS,
                     GEOLOCATION, NETWORK,
                     NOTIFICATION, STORAGE
                   • NFC??????
      Fonte: Google Images (http://goo.gl/7ZQLS)

Tuesday, 22 May 2012                               49
Native UI Kits
                   • Cocoa Touch
                   • Android UI
                                   !"#$%&"'(
                                                     12&$!"#$(

                                      )*&++",(

                                                 -./0+(




Tuesday, 22 May 2012                                         50
$$$
               • $32,639 for a simple app
               • 2 months to create
               • 2 weeks per feature = 4 features
               • $8,160 per feature
                       Fonte: Pinch/Zoom (Seatle)

Tuesday, 22 May 2012                                51
App Store, Market, etc
               • “o um lugar" para encontrar aplicações



                             Fonte: Google Images (http://goo.gl/cKArV)

               • modelo de revenue share
                                       70/30

Tuesday, 22 May 2012                                                      52
Apple Store
                       Preço       #Apps        Games         Total      % TOTAL

                       Free       160.705       27,670      188,375       39.97%

                       $0.99      101.451       29,491      130,942       27.78%

                       $1.99       47.028        7,999       55,027       11.68%

                                                                         79.43%
                       Fonte: http://148apps.biz/app-store-metrics/?mpage=appprice

Tuesday, 22 May 2012                                                                 53
Tuesday, 22 May 2012   54
Cases
                   • Games: angry birds, plats vs zombies
                   • Facebook, Twitter
                   • Shazan
                   • Flipboard
                   • Narizinho, AutoEsporte, Fibria,
                     QuemCarnaval :D

Tuesday, 22 May 2012                                        55
Cases
                   • “We bet everything on Apple and iOS
                     and then Apple killed us by changing
                     the rules in the middle of the game”
                   • Finantial Times (ft.com)
                       • Primeiro: Nativo
                       • Depois: Web

Tuesday, 22 May 2012                                        56
Resumindo...
          • Web
             - portabilidade
             - padrões abertos
             - simplicidade
          • Nativas
             - integração hardware/plataforma
             - APIs novas
             - experiência + rica

Tuesday, 22 May 2012                            57
3. Aplicações Mobile
                              Híbridas


Tuesday, 22 May 2012                          58
Conceito

                   • Hybrid App:
                       • An application using primarily web
                         technologies inside a native
                         container.



Tuesday, 22 May 2012                                          59
Aplicações Híbridas
                   • WebView
                   • WebKit
                   • JavaScript bridge




Tuesday, 22 May 2012                         60
WebView
                   • Android e iOS
                   • Usa o WebKit como engine




Tuesday, 22 May 2012                            61
WebKit
                   • Browser Engine
                   • Apple, Google, KDE, Nokia, RIM,
                     Samsung entre outras




Tuesday, 22 May 2012                                   62
JavaScript Bridge
                   • Nativo pro WebView
                   • WebView pra Nativo
                   • Eventos do browser e JS com callback
                     pro nativo




Tuesday, 22 May 2012                                        63
JavaScript => Android




Tuesday, 22 May 2012                           64
Android => JavaScript




Tuesday, 22 May 2012                           65
Formas de Fazer
                   • WebView e recursos nativos
                   • WebView dentro de frame nativo
                   • Transitando entre WebView e nativo




Tuesday, 22 May 2012                                      66
cross-plataform frameworks
                   •   App Inventor
                   •   DroidDraw
                   •   Rhomobile
                   •   Appcelerator/Titanium
                   •   SproutCore
                   •   MonoTouch
                   •   JQuery Mobile
                   •   Jo
                   •   Sencha Touch
                   •   PhoneGap
Tuesday, 22 May 2012                           67
Appcelerator/Titanium




Tuesday, 22 May 2012                      68
cristiano@lab360.com.br
                              @cbsanchez


                       wladimir@lab360.com.br
                               @wlads


                              @lab_360

Tuesday, 22 May 2012                             69

Más contenido relacionado

Similar a QCON SP 2012

From Idea to Web - Creating Linked Data Apps
From Idea to Web - Creating Linked Data AppsFrom Idea to Web - Creating Linked Data Apps
From Idea to Web - Creating Linked Data AppsBenjamin Nowack
 
Mansoura University CSED & Nozom web development sprint
Mansoura University CSED & Nozom web development sprintMansoura University CSED & Nozom web development sprint
Mansoura University CSED & Nozom web development sprintAl Sayed Gamal
 
Introducing Immutant
Introducing Immutant Introducing Immutant
Introducing Immutant Jim Crossley
 
IT od kuchni w Misys
IT od kuchni w MisysIT od kuchni w Misys
IT od kuchni w Misys3camp
 
06 View Controllers
06 View Controllers06 View Controllers
06 View ControllersMahmoud
 
How we build project for Open Source
How we build project for Open SourceHow we build project for Open Source
How we build project for Open SourceAlexander Zayats
 
Solving Web Applications Challenges with Build Process and SOC
Solving Web Applications Challenges with Build Process and SOCSolving Web Applications Challenges with Build Process and SOC
Solving Web Applications Challenges with Build Process and SOCOW2
 
Donating a mature project to Eclipse
Donating a mature project to EclipseDonating a mature project to Eclipse
Donating a mature project to Eclipseglynnormington
 
Morning with MongoDB Paris 2012 - Making Big Data Small
Morning with MongoDB Paris 2012 - Making Big Data SmallMorning with MongoDB Paris 2012 - Making Big Data Small
Morning with MongoDB Paris 2012 - Making Big Data SmallMongoDB
 
jQuery Conference 2012 keynote
jQuery Conference 2012 keynotejQuery Conference 2012 keynote
jQuery Conference 2012 keynotedmethvin
 
Chemistry in Your Pocket (Dr. Alex M. Clark)
Chemistry in Your Pocket (Dr. Alex M. Clark)Chemistry in Your Pocket (Dr. Alex M. Clark)
Chemistry in Your Pocket (Dr. Alex M. Clark)Alex Clark
 
Maximal: MPL Software Demo - INFORMS Phoenix Oct 2012
Maximal: MPL Software Demo - INFORMS Phoenix Oct 2012Maximal: MPL Software Demo - INFORMS Phoenix Oct 2012
Maximal: MPL Software Demo - INFORMS Phoenix Oct 2012Bjarni Kristjánsson
 
Succeed Application Portal
Succeed Application PortalSucceed Application Portal
Succeed Application PortalSourcing Sage
 
Data Mining for Moderation of Social Data
Data Mining for Moderation of Social DataData Mining for Moderation of Social Data
Data Mining for Moderation of Social DataFernando G. Guerrero
 
PLM and IT consumerization
PLM and IT consumerizationPLM and IT consumerization
PLM and IT consumerizationOleg Shilovitsky
 
Integrity St. Louis WordCamp 2012
Integrity St. Louis WordCamp 2012Integrity St. Louis WordCamp 2012
Integrity St. Louis WordCamp 2012Ed Morrissey
 
Brad Hauck - Better Wordpress Blogging Workshop - Breakout Session
Brad Hauck - Better Wordpress Blogging Workshop - Breakout SessionBrad Hauck - Better Wordpress Blogging Workshop - Breakout Session
Brad Hauck - Better Wordpress Blogging Workshop - Breakout SessionBrad Hauck
 

Similar a QCON SP 2012 (20)

Room 2 - 1 - Phạm Quang Minh - A real DevOps culture in practice
Room 2 - 1 - Phạm Quang Minh - A real DevOps culture in practiceRoom 2 - 1 - Phạm Quang Minh - A real DevOps culture in practice
Room 2 - 1 - Phạm Quang Minh - A real DevOps culture in practice
 
From Idea to Web - Creating Linked Data Apps
From Idea to Web - Creating Linked Data AppsFrom Idea to Web - Creating Linked Data Apps
From Idea to Web - Creating Linked Data Apps
 
Paper Trends
Paper TrendsPaper Trends
Paper Trends
 
Mansoura University CSED & Nozom web development sprint
Mansoura University CSED & Nozom web development sprintMansoura University CSED & Nozom web development sprint
Mansoura University CSED & Nozom web development sprint
 
Introducing Immutant
Introducing Immutant Introducing Immutant
Introducing Immutant
 
IT od kuchni w Misys
IT od kuchni w MisysIT od kuchni w Misys
IT od kuchni w Misys
 
06 View Controllers
06 View Controllers06 View Controllers
06 View Controllers
 
How we build project for Open Source
How we build project for Open SourceHow we build project for Open Source
How we build project for Open Source
 
Solving Web Applications Challenges with Build Process and SOC
Solving Web Applications Challenges with Build Process and SOCSolving Web Applications Challenges with Build Process and SOC
Solving Web Applications Challenges with Build Process and SOC
 
Donating a mature project to Eclipse
Donating a mature project to EclipseDonating a mature project to Eclipse
Donating a mature project to Eclipse
 
Morning with MongoDB Paris 2012 - Making Big Data Small
Morning with MongoDB Paris 2012 - Making Big Data SmallMorning with MongoDB Paris 2012 - Making Big Data Small
Morning with MongoDB Paris 2012 - Making Big Data Small
 
Architecting for failure
Architecting for failureArchitecting for failure
Architecting for failure
 
jQuery Conference 2012 keynote
jQuery Conference 2012 keynotejQuery Conference 2012 keynote
jQuery Conference 2012 keynote
 
Chemistry in Your Pocket (Dr. Alex M. Clark)
Chemistry in Your Pocket (Dr. Alex M. Clark)Chemistry in Your Pocket (Dr. Alex M. Clark)
Chemistry in Your Pocket (Dr. Alex M. Clark)
 
Maximal: MPL Software Demo - INFORMS Phoenix Oct 2012
Maximal: MPL Software Demo - INFORMS Phoenix Oct 2012Maximal: MPL Software Demo - INFORMS Phoenix Oct 2012
Maximal: MPL Software Demo - INFORMS Phoenix Oct 2012
 
Succeed Application Portal
Succeed Application PortalSucceed Application Portal
Succeed Application Portal
 
Data Mining for Moderation of Social Data
Data Mining for Moderation of Social DataData Mining for Moderation of Social Data
Data Mining for Moderation of Social Data
 
PLM and IT consumerization
PLM and IT consumerizationPLM and IT consumerization
PLM and IT consumerization
 
Integrity St. Louis WordCamp 2012
Integrity St. Louis WordCamp 2012Integrity St. Louis WordCamp 2012
Integrity St. Louis WordCamp 2012
 
Brad Hauck - Better Wordpress Blogging Workshop - Breakout Session
Brad Hauck - Better Wordpress Blogging Workshop - Breakout SessionBrad Hauck - Better Wordpress Blogging Workshop - Breakout Session
Brad Hauck - Better Wordpress Blogging Workshop - Breakout Session
 

Último

React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 

Último (20)

React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 

QCON SP 2012

  • 1. Aplicações Móveis Híbridas: usando Web e Nativo juntos cristiano@lab360.com.br (@cbsanchez) wladimir@lab360.com.br (@wlads) Tuesday, 22 May 2012 1
  • 2. Agenda • Aplicações Mobile Web • Aplicações Mobile Nativas • Aplicações Mobile Híbridas Tuesday, 22 May 2012 2
  • 3. 1. Aplicações Mobile Web Tuesday, 22 May 2012 3
  • 4. No início era o nativo Tuesday, 22 May 2012 4
  • 5. Sir Tim Berners-Lee e então Berners-Lee criou a web Tuesday, 22 May 2012 5
  • 6. e desde 1991 • HTML, CSS e JavaScript • Pearl, PHP e ASP • Java • .NET • Applet Tuesday, 22 May 2012 6
  • 7. hoje na web • Sistemas corporativos • Google Docs • e-Learning • Twitter, Facebook, GitHub, Basecamp, Netflix... Tuesday, 22 May 2012 7
  • 8. mas nós queríamos mais • WML e WMLScript • XHTML MP • JavaME • Nativos Martin Cooper Tuesday, 22 May 2012 8
  • 10. e chega o iPhone Steve Jobs Tuesday, 22 May 2012 10
  • 11. Tuesday, 22 May 2012 11
  • 12. HTML + CSS + JAVASCRIPT Tuesday, 22 May 2012 12
  • 13. ainda em desenvolvimento! • Chrome • Firefox • Safari • IE • Chrome Frame Tuesday, 22 May 2012 13
  • 14. e o que promete? • Novas API’s • Multimídia embutido • Uso off-line • Depuração de erros Tuesday, 22 May 2012 14
  • 15. http://www.html5rocks.com/en/ http://html5demos.com/ Tuesday, 22 May 2012 15
  • 18. Canvas • 2D APIs • 3D APIs (WebGL) • Inline SVG Tuesday, 22 May 2012 18
  • 21. Áudio e Vídeo Tuesday, 22 May 2012 21
  • 22. CSS3 • seletores, atributos, targets • instruções • webfonts • linhas e colunas • transforms e animations Tuesday, 22 May 2012 22
  • 24. JavaScript • Ele sempre esteve entre nós! • Nova API DOM (getElementBy...) • History API • FileSystem API • Geolocation Tuesday, 22 May 2012 24
  • 25. web mobile apps? • Afinal de contas, é HTML • Portável • Padrão aberto • Porque é possível Tuesday, 22 May 2012 25
  • 26. e ainda... • Device orientation • Multi-touch • Desenvolvimento produtivo • Comunidade • Separation of Concerns Tuesday, 22 May 2012 26
  • 27. ...e por último Tuesday, 22 May 2012 27
  • 28. SoC • html estrutura • css view/estilo • javascript lógica Tuesday, 22 May 2012 28
  • 29. alguns (bons) exemplos • Financial Times • Basecamp • http://www.apple.com/webapps/ Tuesday, 22 May 2012 29
  • 31. 2. Aplicações Mobile Nativas Tuesday, 22 May 2012 31
  • 32. Native mode (wikipedia) • The term native mode or native code is used in computing in two related senses: • to describe something running on a computer natively or in native mode meaning that it is running without any external support as contrasted to running in emulation (i.e. browser) • Native operating system, native instruction set, etc., in application to a computer processor means that the corresponding item was implemented specifically for the given model of the computer or microprocessor, as opposed to emulation or compatibility mode. Tuesday, 22 May 2012 32
  • 33. Conceito • Native App: • An application that is specifically written for a device platform. Tuesday, 22 May 2012 33
  • 34. Devices • Feature-phones • Smart-phones What else? • Tablets • TV Tuesday, 22 May 2012 34
  • 35. Plataformas Nativas • Plataformas e suas Linguagens de Programação • iOS => Objective-C, C • Android => Java • BlackBerry => Java • Windows Mobile (Nokia) => .Net Tuesday, 22 May 2012 35
  • 36. Tuesday, 22 May 2012 36
  • 37. Tuesday, 22 May 2012 37
  • 38. Tuesday, 22 May 2012 38
  • 39. Tuesday, 22 May 2012 39
  • 40. Android => Java + Dalvik • Java é uma linguagem familiar para muitos desenvolvedores, muitas vezes é a primeira linguagem • Gustav’s Moto: “Anybody can cook” • Android fornece uma excelente API Tuesday, 22 May 2012 40
  • 41. Objective-C • Objective-C criada na decada de 90 (NeXT) e possui uma vasta API => produtos Apple • Runtime C orientado a objetos • Ganhou muita popularidade com o lançamento do iPhone e do iOS SDK Tuesday, 22 May 2012 41
  • 42. C/C++ • Diversos Devices • Possivel desenvolver em C/C++ para iOS e Android • Projetos Open-Source!!! • UI??? Tuesday, 22 May 2012 42
  • 43. Características Apps Nativas • Aparência Nativa (Native look & feel): impossível para Web por definição • APIs: video, alarm clock, file access, push notification, ... • Integração com aplicações: maps, mail, camera, youtube, gallery, agenda, ... Tuesday, 22 May 2012 43
  • 44. Características Apps Nativas • Integração com SO: concorrência, system events • Melhor Performance e uso da Bateria • Web engines, plugins (e.g. <video> codecs) • Desenvolvimento: debugging Tuesday, 22 May 2012 44
  • 45. Características Apps Nativas • Uso “off-line” • In-App Purchase: CC cadastrado + billing (e.g. High Noon) • Tratamento de diferentes tamanhos e resoluções de tela (i.e. Android) Tuesday, 22 May 2012 45
  • 46. Human Interface Guidelines Fonte: http://developer.android.com/guide/practices/ui_guidelines/index.html http://developer.apple.com/library/ios/documentation/userexperience/conceptual/mobilehig/MobileHIG.pdf Tuesday, 22 May 2012 46
  • 48. Principais Características “ordenadas” para App Nativas 1. offline mode 2. uso dos recursos (+hardware) do device 3. experiência de uso 4. centralização das aplicacoes (base de potenciais usuários) 5. integração com outras apps 6. notificações (push) e recursos de sistema (e.g. alarme) 7. “monetization” das lojas (busca e faturamento) 8. performance e uso da bateria Tuesday, 22 May 2012 48
  • 49. Domínio de Aplicações • GAMES • Acesso a recursos nativos: ACCELEROMETER, CAMERA, COMPASS, CONTACTS, GEOLOCATION, NETWORK, NOTIFICATION, STORAGE • NFC?????? Fonte: Google Images (http://goo.gl/7ZQLS) Tuesday, 22 May 2012 49
  • 50. Native UI Kits • Cocoa Touch • Android UI !"#$%&"'( 12&$!"#$( )*&++",( -./0+( Tuesday, 22 May 2012 50
  • 51. $$$ • $32,639 for a simple app • 2 months to create • 2 weeks per feature = 4 features • $8,160 per feature Fonte: Pinch/Zoom (Seatle) Tuesday, 22 May 2012 51
  • 52. App Store, Market, etc • “o um lugar" para encontrar aplicações Fonte: Google Images (http://goo.gl/cKArV) • modelo de revenue share 70/30 Tuesday, 22 May 2012 52
  • 53. Apple Store Preço #Apps Games Total % TOTAL Free 160.705 27,670 188,375 39.97% $0.99 101.451 29,491 130,942 27.78% $1.99 47.028 7,999 55,027 11.68% 79.43% Fonte: http://148apps.biz/app-store-metrics/?mpage=appprice Tuesday, 22 May 2012 53
  • 54. Tuesday, 22 May 2012 54
  • 55. Cases • Games: angry birds, plats vs zombies • Facebook, Twitter • Shazan • Flipboard • Narizinho, AutoEsporte, Fibria, QuemCarnaval :D Tuesday, 22 May 2012 55
  • 56. Cases • “We bet everything on Apple and iOS and then Apple killed us by changing the rules in the middle of the game” • Finantial Times (ft.com) • Primeiro: Nativo • Depois: Web Tuesday, 22 May 2012 56
  • 57. Resumindo... • Web - portabilidade - padrões abertos - simplicidade • Nativas - integração hardware/plataforma - APIs novas - experiência + rica Tuesday, 22 May 2012 57
  • 58. 3. Aplicações Mobile Híbridas Tuesday, 22 May 2012 58
  • 59. Conceito • Hybrid App: • An application using primarily web technologies inside a native container. Tuesday, 22 May 2012 59
  • 60. Aplicações Híbridas • WebView • WebKit • JavaScript bridge Tuesday, 22 May 2012 60
  • 61. WebView • Android e iOS • Usa o WebKit como engine Tuesday, 22 May 2012 61
  • 62. WebKit • Browser Engine • Apple, Google, KDE, Nokia, RIM, Samsung entre outras Tuesday, 22 May 2012 62
  • 63. JavaScript Bridge • Nativo pro WebView • WebView pra Nativo • Eventos do browser e JS com callback pro nativo Tuesday, 22 May 2012 63
  • 66. Formas de Fazer • WebView e recursos nativos • WebView dentro de frame nativo • Transitando entre WebView e nativo Tuesday, 22 May 2012 66
  • 67. cross-plataform frameworks • App Inventor • DroidDraw • Rhomobile • Appcelerator/Titanium • SproutCore • MonoTouch • JQuery Mobile • Jo • Sencha Touch • PhoneGap Tuesday, 22 May 2012 67
  • 69. cristiano@lab360.com.br @cbsanchez wladimir@lab360.com.br @wlads @lab_360 Tuesday, 22 May 2012 69