SlideShare uma empresa Scribd logo
1 de 44
Baixar para ler offline
Phonegap
About me
 codebroken.wordpress.com
 github.com/lucasbrigida
 @lucas_brigida
User Devices
Interfaces para diferentes devices e OS
Mobile World
    You'll need a Ninja Power




...or many programmers and money
Mobile Universe
Operating Systems       Languages
   IOS                  Objective C
   Android           Java ‘Harmony’ / C++
   BlackBerry           Java J2ME
   WebOS             HTML, CSS and JS
   Windows Phone 7         .NET bs
   Bada                    C++
Smartphones (Brasil)
Um dos mercados mais promissores em arrecadação
        monetária através de app móveis
   2012 (expected)




             2011
                                                                        Vendas(smartphone)




             2010




                     0   2   4   6              8   10   12   14   16
                                     millions



Via IDC(http://www.idclatin.com/news.asp?ctr=bra&id_release=2213)
Mobile
http://m.facebook.com            Facebook (android)




 Browser (Web App)                     Native
Real World
                    Native    Web
Cross-platform        X       ✔
Linkable              X       ✔
Discoverable          ✔       X
Device APIs           ✔       X
Real World
                  Native   Web   Hybrid
Cross-platform      X      ✔       ✔
Linkable            X      ✔       ✔
Discoverable        ✔      X       ✔
Device APIs         ✔      X       ✔
Who use?
 Alcatel-Lucent
     Zynga
   Microsoft
  Travelocity
   Vodafone
   Wikipedia
 Salesforce.com
What is
Phonegap?
Paradise Bridge
Paradise Bridge
Work with Phonegap
Phonegap App Build




      The Write Less, Do More
HTML5
             localStorage
Web SQL                       Sockets

 <audio>     Cache Manifest
           <canvas>           <video>
DOM Libraries
JQueryZepto
      Dojo XUI
Style Libraries

      Jo
Sencha
                    ery
               Jqu

                  e
              bil
     LungoJS
           Mo     JQtouch
5
Game Libraries




               CraftyJS
EaselJS
      GameJS
      LimeJS
      LimeJS
Test Libraries
QUnit   DominatorJS
        thumbsJs
        Jasmine
Javascript
→ Javascript vai muito além do que você imagina.
→ Javascript é orientado a eventos. ¹
→ Noção de callbacks.
→ Noção de closure.
→ Javascript é assíncrono.
→ Operações lógicas são absurdas as vezes. (0.1+0.2 != 0.3)

    HTML5 + JAVASCRIPT+CSS3+CANVAS === STATE OF THE ART WEB
¹ Exemplo do garçom.
rd
                        3 APIs
→ Integração do (produto, serviço) com plataformas de terceiros.
   Ex: Facebook, Twitter.


→ Consumo de serviço de terceiros para o seu produto.
  Ex: Processamento de Imagens (Detectação de rostos) - “face.com”


→ Noção de OAuth.
Demo – Twitter Search API
$.getJSON("http://search.twitter.com/search.json?callback=?&q=wewebconf", function (data) {
      $(".tweet").remove();
      $(".alert").hide();


      for(i in data.results){
          var tweet = data.results[i];
          console.log(tweet);
          var img = tweet.profile_image_url;
          var text = tweet.text;
          var user = tweet.from_user;
     var model='<li class="tweet"><a href="#tweet-dialog" data-rel="dialog" data-transition="none"
onclick="setTweetDialog(this);"><img src='+img+' height="79"/><h3>'+user+'</h3><p>'+text+'</p></a></li>';


          $("#trends-list").append(model);
      }
      $("#trends-list").listview('refresh');
      $("#trends-list li").css('visibility','visible');
});

 * Using Jquery and Jquery Mobile
Make your API
Interface SO
 Javascript      Server-Side


V8 Engine
  ECMA 5
              NodeJS
NodeJS
Apache vs. Nginx (Request)
NodeJS
Apache vs. Nginx (Memory)
NodeJS
“Aplicações com grandes acessos, chegam a
   receber mais de 30 mil requisições por
                 segundo.”


“No Apache para cada requisição é criada uma
      thread (Alocado 1MB na RAM).”


 Quantos megabytes necessito para atender
            meus usuários?
NodeJS

30 Gigabytes
   de RAM
NodeJS
Arquitetura Horizontal                 Sentido da Escalabilidade



         Server A          Server B        Server C          Server D




                               Alta Complexidade
                            Alto Custo (Ociosidade)
                    Alto grau de dificuldade de manutenção
NodeJS
Arquitetura Vertical – On Demand




                              Storage               Memory


         Server A




                                Baixa Complexidade
                              Baixo Custo (Ociosidade)
                      Baixo grau de dificuldade de manutenção
NodeJS
NodeJS




Run command in Shell: curl http://npmjs.org/install.sh | sh
NodeJS




Run command in Shell: npm install express
Making...
Blog: www.codebroken.wordpress.com
       Twitter: @lucas_brigida
     Mail: lucasbrigida@gmail.com
Thank You!
Blog: www.codebroken.wordpress.com
       Twitter: @lucas_brigida
     Mail: lucasbrigida@gmail.com

Mais conteúdo relacionado

Destaque

Turkcell Enerji İzleme Dündar Özdemir
Turkcell Enerji İzleme Dündar ÖzdemirTurkcell Enerji İzleme Dündar Özdemir
Turkcell Enerji İzleme Dündar ÖzdemirMustafa Kuğu
 
Ojag naha vol13
Ojag naha vol13Ojag naha vol13
Ojag naha vol13Seiei Higa
 
Online reputation management tip 1
Online reputation management tip 1Online reputation management tip 1
Online reputation management tip 1Alan Vesty
 
Maven初级培训
Maven初级培训Maven初级培训
Maven初级培训Cody Zhang
 
Susan Parnell - Macro-demographic trends of significance for health and devel...
Susan Parnell - Macro-demographic trends of significance for health and devel...Susan Parnell - Macro-demographic trends of significance for health and devel...
Susan Parnell - Macro-demographic trends of significance for health and devel...Jeff Knezovich
 
Relu special session Bham planning conf_carter-schiessel-scott_13-09-2011
Relu special session Bham planning conf_carter-schiessel-scott_13-09-2011Relu special session Bham planning conf_carter-schiessel-scott_13-09-2011
Relu special session Bham planning conf_carter-schiessel-scott_13-09-2011ruralfringe
 
קרקע חקלאית
קרקע חקלאיתקרקע חקלאית
קרקע חקלאיתtal kerem
 
Designing for Real-Time Marketing - SXSW 2013
Designing for Real-Time Marketing - SXSW 2013Designing for Real-Time Marketing - SXSW 2013
Designing for Real-Time Marketing - SXSW 2013Golin
 
AdMix Affiliate Network
AdMix Affiliate NetworkAdMix Affiliate Network
AdMix Affiliate NetworkDom Pérignon
 
Making Money with Inbound Marketing: Part 2 (Creating Leads)
Making Money with Inbound Marketing: Part 2 (Creating Leads)Making Money with Inbound Marketing: Part 2 (Creating Leads)
Making Money with Inbound Marketing: Part 2 (Creating Leads)BrainSell Technologies
 
Introducing Energy Jobline
Introducing Energy JoblineIntroducing Energy Jobline
Introducing Energy Joblinemcook32
 
Metodologia de la investigacion
Metodologia de la investigacionMetodologia de la investigacion
Metodologia de la investigacionNaida Labra
 
Choose Experiential Tech Wisely (at EventTech 2016)
Choose Experiential Tech Wisely (at EventTech 2016)Choose Experiential Tech Wisely (at EventTech 2016)
Choose Experiential Tech Wisely (at EventTech 2016)John C. Buzzell
 

Destaque (17)

Turkcell Enerji İzleme Dündar Özdemir
Turkcell Enerji İzleme Dündar ÖzdemirTurkcell Enerji İzleme Dündar Özdemir
Turkcell Enerji İzleme Dündar Özdemir
 
Ojag naha vol13
Ojag naha vol13Ojag naha vol13
Ojag naha vol13
 
Online reputation management tip 1
Online reputation management tip 1Online reputation management tip 1
Online reputation management tip 1
 
Presentation egrek
Presentation egrekPresentation egrek
Presentation egrek
 
Presentation egrek
Presentation egrekPresentation egrek
Presentation egrek
 
Maven初级培训
Maven初级培训Maven初级培训
Maven初级培训
 
Susan Parnell - Macro-demographic trends of significance for health and devel...
Susan Parnell - Macro-demographic trends of significance for health and devel...Susan Parnell - Macro-demographic trends of significance for health and devel...
Susan Parnell - Macro-demographic trends of significance for health and devel...
 
INFORME 2° TRIMESTRE 2014
INFORME 2° TRIMESTRE 2014INFORME 2° TRIMESTRE 2014
INFORME 2° TRIMESTRE 2014
 
Relu special session Bham planning conf_carter-schiessel-scott_13-09-2011
Relu special session Bham planning conf_carter-schiessel-scott_13-09-2011Relu special session Bham planning conf_carter-schiessel-scott_13-09-2011
Relu special session Bham planning conf_carter-schiessel-scott_13-09-2011
 
קרקע חקלאית
קרקע חקלאיתקרקע חקלאית
קרקע חקלאית
 
Designing for Real-Time Marketing - SXSW 2013
Designing for Real-Time Marketing - SXSW 2013Designing for Real-Time Marketing - SXSW 2013
Designing for Real-Time Marketing - SXSW 2013
 
AdMix Affiliate Network
AdMix Affiliate NetworkAdMix Affiliate Network
AdMix Affiliate Network
 
Making Money with Inbound Marketing: Part 2 (Creating Leads)
Making Money with Inbound Marketing: Part 2 (Creating Leads)Making Money with Inbound Marketing: Part 2 (Creating Leads)
Making Money with Inbound Marketing: Part 2 (Creating Leads)
 
Introducing Energy Jobline
Introducing Energy JoblineIntroducing Energy Jobline
Introducing Energy Jobline
 
La naturaleza
La naturalezaLa naturaleza
La naturaleza
 
Metodologia de la investigacion
Metodologia de la investigacionMetodologia de la investigacion
Metodologia de la investigacion
 
Choose Experiential Tech Wisely (at EventTech 2016)
Choose Experiential Tech Wisely (at EventTech 2016)Choose Experiential Tech Wisely (at EventTech 2016)
Choose Experiential Tech Wisely (at EventTech 2016)
 

Semelhante a Phonegap

Aplicações Realtime em Android | Fisl 15 | GuMobileRS
Aplicações Realtime em Android | Fisl 15 | GuMobileRSAplicações Realtime em Android | Fisl 15 | GuMobileRS
Aplicações Realtime em Android | Fisl 15 | GuMobileRSJackson F. de A. Mafra
 
Desenvolvimento android braga_geek_nights (1)
Desenvolvimento android braga_geek_nights (1)Desenvolvimento android braga_geek_nights (1)
Desenvolvimento android braga_geek_nights (1)muldy
 
Mobile Apps Cross-Platform
Mobile Apps Cross-PlatformMobile Apps Cross-Platform
Mobile Apps Cross-PlatformAdriel Café
 
Light Talk: Introdução sobre Node.js
Light Talk: Introdução sobre Node.jsLight Talk: Introdução sobre Node.js
Light Talk: Introdução sobre Node.jsCaio Ribeiro Pereira
 
Surpreenda-se com o Silverlight 3
Surpreenda-se com o Silverlight 3Surpreenda-se com o Silverlight 3
Surpreenda-se com o Silverlight 3Rodrigo Kono
 
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013javamanrj
 
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...DevCommerce Conference 2016: React para aplicações web e mobile como platafor...
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...iMasters
 
Front-End do Século XXI.I
Front-End do Século XXI.IFront-End do Século XXI.I
Front-End do Século XXI.ILuiz Oliveira
 
Microsoft Edge (Teched 2015)
Microsoft Edge (Teched 2015)Microsoft Edge (Teched 2015)
Microsoft Edge (Teched 2015)Fabrício Catae
 
Titanium Mobile - Campus Party Recife 2
Titanium Mobile - Campus Party Recife 2Titanium Mobile - Campus Party Recife 2
Titanium Mobile - Campus Party Recife 2Eric Cavalcanti
 
Android chat app com Node.js
Android chat app com Node.jsAndroid chat app com Node.js
Android chat app com Node.jsLuiz Duarte
 
Latinoware 2019 - DEsenvolvimento mobile em Nivel jedi
Latinoware 2019 - DEsenvolvimento mobile em Nivel jediLatinoware 2019 - DEsenvolvimento mobile em Nivel jedi
Latinoware 2019 - DEsenvolvimento mobile em Nivel jediAlessandro Binhara
 
Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sitesthiagolima
 
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 nuvemRodrigo Valerio
 
Node não é filme de Terror
Node não é filme de TerrorNode não é filme de Terror
Node não é filme de TerrorPaulo Pires
 
GDG ABC Meetup #5 - Tendências 2015
GDG ABC Meetup #5 - Tendências 2015GDG ABC Meetup #5 - Tendências 2015
GDG ABC Meetup #5 - Tendências 2015Daniel Costa Gimenes
 
Mobile apps com Xamarin e Azure Mobile Services - The Developers Conference P...
Mobile apps com Xamarin e Azure Mobile Services - The Developers Conference P...Mobile apps com Xamarin e Azure Mobile Services - The Developers Conference P...
Mobile apps com Xamarin e Azure Mobile Services - The Developers Conference P...William S. Rodriguez
 

Semelhante a Phonegap (20)

Aplicações Realtime em Android | Fisl 15 | GuMobileRS
Aplicações Realtime em Android | Fisl 15 | GuMobileRSAplicações Realtime em Android | Fisl 15 | GuMobileRS
Aplicações Realtime em Android | Fisl 15 | GuMobileRS
 
Desenvolvimento android braga_geek_nights (1)
Desenvolvimento android braga_geek_nights (1)Desenvolvimento android braga_geek_nights (1)
Desenvolvimento android braga_geek_nights (1)
 
Mobile Apps Cross-Platform
Mobile Apps Cross-PlatformMobile Apps Cross-Platform
Mobile Apps Cross-Platform
 
Light Talk: Introdução sobre Node.js
Light Talk: Introdução sobre Node.jsLight Talk: Introdução sobre Node.js
Light Talk: Introdução sobre Node.js
 
Surpreenda-se com o Silverlight 3
Surpreenda-se com o Silverlight 3Surpreenda-se com o Silverlight 3
Surpreenda-se com o Silverlight 3
 
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
 
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...DevCommerce Conference 2016: React para aplicações web e mobile como platafor...
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...
 
Front-End do Século XXI.I
Front-End do Século XXI.IFront-End do Século XXI.I
Front-End do Século XXI.I
 
Microsoft Edge (Teched 2015)
Microsoft Edge (Teched 2015)Microsoft Edge (Teched 2015)
Microsoft Edge (Teched 2015)
 
Titanium Mobile - Campus Party Recife 2
Titanium Mobile - Campus Party Recife 2Titanium Mobile - Campus Party Recife 2
Titanium Mobile - Campus Party Recife 2
 
Android chat app com Node.js
Android chat app com Node.jsAndroid chat app com Node.js
Android chat app com Node.js
 
Latinoware 2019 - DEsenvolvimento mobile em Nivel jedi
Latinoware 2019 - DEsenvolvimento mobile em Nivel jediLatinoware 2019 - DEsenvolvimento mobile em Nivel jedi
Latinoware 2019 - DEsenvolvimento mobile em Nivel jedi
 
Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sites
 
Jquery Mobile
Jquery MobileJquery Mobile
Jquery Mobile
 
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
 
Node não é filme de Terror
Node não é filme de TerrorNode não é filme de Terror
Node não é filme de Terror
 
HTML5
HTML5HTML5
HTML5
 
GDG ABC Meetup #5 - Tendências 2015
GDG ABC Meetup #5 - Tendências 2015GDG ABC Meetup #5 - Tendências 2015
GDG ABC Meetup #5 - Tendências 2015
 
Mono Codebits
Mono CodebitsMono Codebits
Mono Codebits
 
Mobile apps com Xamarin e Azure Mobile Services - The Developers Conference P...
Mobile apps com Xamarin e Azure Mobile Services - The Developers Conference P...Mobile apps com Xamarin e Azure Mobile Services - The Developers Conference P...
Mobile apps com Xamarin e Azure Mobile Services - The Developers Conference P...
 

Phonegap

  • 2. About me codebroken.wordpress.com github.com/lucasbrigida @lucas_brigida
  • 3. User Devices Interfaces para diferentes devices e OS
  • 4. Mobile World You'll need a Ninja Power ...or many programmers and money
  • 5. Mobile Universe Operating Systems Languages IOS Objective C Android Java ‘Harmony’ / C++ BlackBerry Java J2ME WebOS HTML, CSS and JS Windows Phone 7 .NET bs Bada C++
  • 6. Smartphones (Brasil) Um dos mercados mais promissores em arrecadação monetária através de app móveis 2012 (expected) 2011 Vendas(smartphone) 2010 0 2 4 6 8 10 12 14 16 millions Via IDC(http://www.idclatin.com/news.asp?ctr=bra&id_release=2213)
  • 7. Mobile http://m.facebook.com Facebook (android) Browser (Web App) Native
  • 8. Real World Native Web Cross-platform X ✔ Linkable X ✔ Discoverable ✔ X Device APIs ✔ X
  • 9. Real World Native Web Hybrid Cross-platform X ✔ ✔ Linkable X ✔ ✔ Discoverable ✔ X ✔ Device APIs ✔ X ✔
  • 10. Who use? Alcatel-Lucent Zynga Microsoft Travelocity Vodafone Wikipedia Salesforce.com
  • 14. Work with Phonegap Phonegap App Build The Write Less, Do More
  • 15. HTML5 localStorage Web SQL Sockets <audio> Cache Manifest <canvas> <video>
  • 17.
  • 18.
  • 19. Style Libraries Jo Sencha ery Jqu e bil LungoJS Mo JQtouch
  • 20. 5
  • 21.
  • 22.
  • 23. Game Libraries CraftyJS EaselJS GameJS LimeJS LimeJS
  • 24. Test Libraries QUnit DominatorJS thumbsJs Jasmine
  • 25.
  • 26.
  • 27.
  • 28. Javascript → Javascript vai muito além do que você imagina. → Javascript é orientado a eventos. ¹ → Noção de callbacks. → Noção de closure. → Javascript é assíncrono. → Operações lógicas são absurdas as vezes. (0.1+0.2 != 0.3) HTML5 + JAVASCRIPT+CSS3+CANVAS === STATE OF THE ART WEB ¹ Exemplo do garçom.
  • 29. rd 3 APIs → Integração do (produto, serviço) com plataformas de terceiros. Ex: Facebook, Twitter. → Consumo de serviço de terceiros para o seu produto. Ex: Processamento de Imagens (Detectação de rostos) - “face.com” → Noção de OAuth.
  • 30.
  • 31.
  • 32. Demo – Twitter Search API $.getJSON("http://search.twitter.com/search.json?callback=?&q=wewebconf", function (data) { $(".tweet").remove(); $(".alert").hide(); for(i in data.results){ var tweet = data.results[i]; console.log(tweet); var img = tweet.profile_image_url; var text = tweet.text; var user = tweet.from_user; var model='<li class="tweet"><a href="#tweet-dialog" data-rel="dialog" data-transition="none" onclick="setTweetDialog(this);"><img src='+img+' height="79"/><h3>'+user+'</h3><p>'+text+'</p></a></li>'; $("#trends-list").append(model); } $("#trends-list").listview('refresh'); $("#trends-list li").css('visibility','visible'); }); * Using Jquery and Jquery Mobile
  • 33. Make your API Interface SO Javascript Server-Side V8 Engine ECMA 5 NodeJS
  • 36. NodeJS “Aplicações com grandes acessos, chegam a receber mais de 30 mil requisições por segundo.” “No Apache para cada requisição é criada uma thread (Alocado 1MB na RAM).” Quantos megabytes necessito para atender meus usuários?
  • 38. NodeJS Arquitetura Horizontal Sentido da Escalabilidade Server A Server B Server C Server D Alta Complexidade Alto Custo (Ociosidade) Alto grau de dificuldade de manutenção
  • 39. NodeJS Arquitetura Vertical – On Demand Storage Memory Server A Baixa Complexidade Baixo Custo (Ociosidade) Baixo grau de dificuldade de manutenção
  • 41. NodeJS Run command in Shell: curl http://npmjs.org/install.sh | sh
  • 42. NodeJS Run command in Shell: npm install express
  • 43. Making... Blog: www.codebroken.wordpress.com Twitter: @lucas_brigida Mail: lucasbrigida@gmail.com
  • 44. Thank You! Blog: www.codebroken.wordpress.com Twitter: @lucas_brigida Mail: lucasbrigida@gmail.com