Fundamentos da Computação Móvel
(Plataformas – Sistemas Operacionais e Desenvolvimento)
G iuliano Prado de Morais G iglio Programação de Dispositivos Móveis
• Sistemas Operacionais Móveis
Symbian
Windows Phone
Firefox OS
iOS
Android
• Tecnologias de Desenvolvimento
Windows Phone – C#
Firefox OS – HTML 5 + CSS + JavaScrip
iOS – Obtective-C
Android – Android SDK
Plano de Aula
Quem manda nos sistemas operacionais móveis?
• Imagine que você tem três aplicativos que usa constantemente, no lazer, nos estudos, no trabalho, etc;
• Você vai adquirir um novo celular;
• E descobre....você não conseguirá instalar estes três aplicativos neste celular;
• O que fazer?
Sistemas Operacionais Móveis
FaceBook Mobile WhatsApp Google Maps
Symbian
• O Symbian OS é um sistema operacional criado para rodar nos celulares “multimídia” (popularizou-se pela Nokia) com suporte para câmeras fotográficas, wireless, bluetooth, entre outras funções;
• O Symbian foi descontinuado em janeiro deste ano, no entanto o software ocupou um papel de destaque no mercado dos telefones por pelo menos dez anos;
• Motorola, Sony Ericsson, Samsung e LG lançaram celulares rodando o sistema, que chegou a abocanhar 65% do mercado na metade de 2007;
• O que deu errado então?
Sistemas Operacionais Móveis
Symbian
• O Symbian foi uma das mais potentes plataformas por trás da integração de câmera e telefone, mas perdeu mercado com o advento das telas sensíveis ao toque;
• Em 2011, a Nokia começou a vender telefones com o sistema Windows, reduzindo a presença do Symbian no mercado a menos de 1% no final de 2012;
• Apesar disso, a manutenção do sistema está garantida até 2016;
• Sistema Operacional Sailfish OS
• Sistema baseado no MeeGo;
• O MeeGo, sistema operacional que nunca teve muita atenção da Nokia e acabou sendo descontinuado em favor do Windows Phone;
Sistemas Operacionais Móveis
Windows Phone
• O Windows Phone (WP) é um sistema operacional móvel, desenvolvido pela Microsoft, sucessor da plataforma Windows Mobile (WM);
• Ao contrário do WM, o WP é focado no mercado de consumo, em vez do mercado empresarial;
• Segundo o relatório Mobile Phone Tracker da IDC, o Windows Phone ultrapassou o iOS, sistema operacional móvel da Apple, no Brasil;
• Já existem vários aplicativos/jogos para esta plataforma;
Sistemas Operacionais Móveis
Firefox OS
• O Firefox OS é um sistema operacional móvel aberto, baseado em Linux;
• O Firefox OS, considera a Web como sua plataforma;
• As apps móveis utilizam somente HTML 5, CSS e Javascript, ou seja, tecnologia web;
• As Web APIs são fornecidas pela Gecko, uma engine open source escrita em C++ utilizada em softwares pela Mozilla, como seu navegador, o Firefox.
• Possui uma Loja de Aplicativos denominada FIREFOX MARKETPLACE;
Sistemas Operacionais Móveis
iOS
• Em 2007 a Apple lançou o primeiro iPhone e inaugurou uma nova era no mercado dos aparelhos celulares;
• A primeira versão do programa já incluía funcionalidades como e- mail, navegador e player para vídeos;
• Desde o primeiro lançamento, os aparelhos da marca usam o sistema de telas sensíveis ao toque para celular, o que ditou a tendência do mercado nos anos seguintes;
• Com um sistema dedicado, o iOS é talhado para as funções de um modelo específico de hardware e explora suas potencialidades ao máximo;
• No último trimestre de 2012, 21% dos novos celulares vendidos no mundo rodavam iOS, ou seja, eram iPhones da quarta ou quinta geração;
Sistemas Operacionais Móveis
• Conhecido como “iPhone OS” antes de Junho de 2010;
iOS
• Usado em produtos como o iPhone, o iPod Touch e o iPad;
• A Apple não permite rodar em software de terceiros;
• O iOS deriva do Mac OS X, sendo, portanto, uma variação de sistema operacional do tipo Unix;
• Aplicativos, tanto oficiais quanto desenvolvidos por terceiros, são distribuídos através da App Store.
Sistemas Operacionais Móveis
iOS - JailBreak
• Dev-Team;
• Jay Freeman (saurik);
• A Apple® não dá garantia aos dispositivos jailbroken;
• Criado para permitir a instalação e utilização de aplicativos não autorizados pela Apple®;
• Possui app store própria (Cydia);
• Muitos aplicativos que são barrados pela Apple® ganharam notoriedade na Cydia Store;
Sistemas Operacionais Móveis
Google Android
• O sistema operacional desenvolvido pela Google domina soberano o mercado mundial de telefones;
• Atualmente, 70,1% de todos os novos aparelhos vendidos rodam alguma versão do Android;
• Até o final do ano passado, mais de 500 milhões de aparelhos no mundo já usavam o sistema operacional da Google;
• Aplicativos para Android surgem em profusão no mercado, e muitos Apps pagos para usuários do iPhone chegam aos telefones do robozinho de graça;
Sistemas Operacionais Móveis
Uma geral sobre o Google Android
• Foi oriundo da ação da Open Headset Aliance, grupo formado por gigantes do mercado de telefonia liderados pelo Google;
• Alguns membros: Motorola, HTC, LG, Samsung, Sony Ericson, Toshiba, Intel, Asus, entre outros;
• O sistema é baseado na plataforma Java com sistema operacional Linux;
• Android é a primeira plataforma móvel completa, aberta e livre (Xing ling pode rodar android!!!);
• Fácil integração com as Aplicações nativas e serviços do google e possui um poderoso ambiente de desenvolvimento e uma loja para Apps;
Sistemas Operacionais Móveis
Algumas apostas...
•CyanogenMod
•Ubuntu Phone
•Sailfish
Sistemas Operacionais Móveis
Plataforma x Tecnologia de Desenvolvimento
• Windows Phone – C#;
• Firefox OS – HTML 5 + CSS + JavaScript;
• iOS – Objective-C;
• Android – Android SDK;
• E o JAVA ME?
Tecnologias de Desenvolvimento
Windows Phone – C#
• O C# é a linguagem de programação utilizada e o framework do Windows Phone tem como base o Silverlight;
• A linguagem de interface é XAML que é uma linguagem declarativa baseada no XML;
• Para desenvolver usamos o Visual Studio 2013 (proprietário);
• Porém a Microsoft libera o Visual Studio Express 2012 para Windows Phone gratuitamente;
Tecnologias de Desenvolvimento
Windows Phone – C#
• Mas o que é o Silverlight?
Tecnologias de Desenvolvimento
Windows Phone – C#
• XAML - Extensible Application Markup Language
Tecnologias de Desenvolvimento
Firefox OS – HTML 5 + CSS + JavaScript
• Todo aplicativo criado para o Firefox OS é baseado em tecnologia web, como HTML 5, CSS e Javascript;
• Para desenvolver um app devemos inicialmente criar um arquivo manifest (no formato JSON);
• Este arquivo será o responsável por “transformar”
o aplicativo web em um móvel para o Firefox OS;
• Este arquivo também será usado ao disponibilizar o app na loja de aplicativos da Firefox OS (Marketplace).
Tecnologias de Desenvolvimento
Firefox OS – HTML 5 + CSS + JavaScript
• Existem 3 tipos de Apps no Firefox OS: Host App, Packaged App e Hybrid App;
Os Host Apps ou “Aplicativos Hospedados” são os tipos mais simples de aplicativo que pode ser encontrado. É um aplicativo web comum transformado em um app;
• Os Packaged Apps, ou “Aplicativos Empacotados” o empacotamento consiste em criar um arquivo ZIP contendo todos os arquivos estáticos do aplicativo (HTML, CSS, imagens, js, etc) e também o arquivo manifest;
• Os Hybrid Apps ou “Aplicativos Híbridos”, tecnicamente seria um Host App mas que também consegue funcionar como um Package App;
Tecnologias de Desenvolvimento
iOS – Objective-C
• Em março de 2008 foi lançado o Software Development Kit (SDK) para o desenvolvimento de aplicativos para o iOS;
• Apesar de liberar o desenvolvimento, para carregar um aplicativo no aparelho é necessário pagar uma taxa. Para efeitos de testes, o SDK possui um
“simulador de iPhone”.
• Os aplicativos são escritos utilizando Objective-C; Tecnologias de Desenvolvimento
iOS – Objective-C
• O Objective-C é uma linguagem de programação orientada a objetos que adiciona o estilo de troca de mensagens de Smalltalk à linguagem de programação C;
• O Objective-C não oferece suporte à criação de interface de usuários, recursos em rede ou à leitura de arquivos;
• Este suporte vem da biblioteca Cocoa Touch, desenvolvida pela Apple e formada por diversos frameworks;
Tecnologias de Desenvolvimento
iOS – Objective-C - XCode
Tecnologias de Desenvolvimento
Linguagem Swift
Tecnologias de Desenvolvimento
Linguagem Swift
Tecnologias de Desenvolvimento
Linguagem Swift
Tecnologias de Desenvolvimento
Linguagem Swift
Tecnologias de Desenvolvimento
Linguagem Swift
Tecnologias de Desenvolvimento
Android – Android SDK
Tecnologias de Desenvolvimento
Android – Android SDK
Tecnologias de Desenvolvimento
Referências
• Sites:
• http://codigofonte.uol.com.br/reviews/analise-do-firefox-os-o- sistema-operacional-movel-da-mozilla
• http://noticias.terra.com.br/ciencia/top-5-cinco-sistemas- operacionais-para-
celular,1e40d2b834bdd310VgnCLD2000000dc6eb0aRCRD.html
• http://plantaovirtual.wordpress.com/2013/09/23/t-i-sistemas- diversos-sistemas-operacionais-dos-dispositivos-moveis/
• http://flaviosilveira.com/2013/objective-c-a-linguagem-por-tras- do-ios-parte-1/
• http://blog.mozilla.org/press-br/2014/01/06/firefox-os-olhando- para-o-futuro/
• http://www.devmedia.com.br/introducao-ao-android-revista-easy- java-magazine-30/28375