SlideShare une entreprise Scribd logo
1  sur  69
Télécharger pour lire hors ligne
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

Contenu connexe

Similaire à QCON SP 2012

06 View Controllers
06 View Controllers06 View Controllers
06 View Controllers
Mahmoud
 
jQuery Conference 2012 keynote
jQuery Conference 2012 keynotejQuery Conference 2012 keynote
jQuery Conference 2012 keynote
dmethvin
 
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
Bjarni Kristjánsson
 
Succeed Application Portal
Succeed Application PortalSucceed Application Portal
Succeed Application Portal
Sourcing 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 Data
Fernando G. Guerrero
 
Integrity St. Louis WordCamp 2012
Integrity St. Louis WordCamp 2012Integrity St. Louis WordCamp 2012
Integrity St. Louis WordCamp 2012
Ed Morrissey
 

Similaire à 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
 

Dernier

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Dernier (20)

GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 

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