Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Developing mobile apps

Developing mobile apps

One approach to the development of multi-platform mobile apps

Avatar for Lucas Pereira Brígida

Lucas Pereira Brígida

March 29, 2014

Other Decks in Programming

Transcript

  1. 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++ Mobile Universe
  2. Smartphones (Brasil) 2010 2011 2012 (expected) 0 2 4 6

    8 10 12 14 16 Vendas(smartphone) millions Um dos mercados mais promissores em arrecadação monetária através de app móveis Via IDC(http://www.idclatin.com/news.asp?ctr=bra&id_release=2213)
  3. Native Web Hybrid Cross-platform X ✔ ✔ Linkable X ✔

    ✔ Discoverable ✔ X ✔ Device APIs ✔ X ✔ Real World
  4. 5

  5. → 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 Javascript ¹ Exemplo do garçom.
  6. → 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. 3rd APIs
  7. $.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'); }); Demo – Twitter Search API * Using Jquery and Jquery Mobile
  8. “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
  9. Arquitetura Horizontal NodeJS Server A Server B Server C Server

    D Alta Complexidade Alto Custo (Ociosidade) Alto grau de dificuldade de manutenção Sentido da Escalabilidade
  10. Arquitetura Vertical – On Demand NodeJS Server A Storage Baixa

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