Seminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveis

57
Desenvolvimento para dispositivos móveis iOS, Android, Windows Phone, Windows 8 e Firefox OS Rogério Moraes de Carvalho – VITA Informática (novembro de 2012) @ rogeriomc rogeriomc.wordpress.com

description

No dia 28 de novembro de 2012, eu apresentei a palestra "Desenvolvimento para dispositivos móveis - iOS, Android, Windows Phone, Windows 8 e Firefox OS". A palestra foi escolhida democraticamente, dentre várias opções disponíveis, numa votação entre os alunos da instituição. O objetivo principal da minha apresentação foi dar uma visão geral das principais plataformas de desenvolvimento para dispositivos móveis disponíveis no mercado atualmente, além de uma com potencial: Firefox OS.

Transcript of Seminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveis

Desenvolvimento para

dispositivos móveisiOS, Android, Windows Phone, Windows 8

e Firefox OS

Rogério Moraes de Carvalho – VITA Informática (novembro de 2012)

@rogeriomc

rogeriomc.wordpress.com

iOSSistema operacional móvel da Apple

Sistema operacional móvel

iOS 6.0.1 (versão mais recente)

Em desenvolvimento: iOS 6.1 beta

Sistema derivado do Mac OS X (baseado no Unix)

Anunciado na Macworld 2007 em 09/01/2007

No anúncio do iPhone foi chamado de OS X

Em 06/03/2008, foi nomeado iPhone OS

Na liberação do Software Development Kit (SDK) beta

Em junho de 2010, foi renomeado para iOS

Arquitetura do iOS

Camadas (visão macro)

Cocoa Touch

Media

Core Services

Core OS Características de baixo-nível do iOS

(Threading, E/S, memória, rede, etc.)

Serviços fundamentais do iOS

(iCloud, ARC, SQLite, suporte XML, etc.)

Tecnologias de imagem, áudio e vídeo

Funcionalidades chaves para apps

(Documentos, impressão, gestos, etc.)

Linguagens de programação

Aplicações nativas

Linguagem de programação Objective-C 2.0

Criada em 1980 por Brad Cox e Tom Love

Linguagem de POO que é uma extensão da linguagem C

Em 1988, a NeXT licenciou o Objective-C

Linguagem primária de desenvolvimento para iOS e Mac OS X

Aplicações Web

JavaScript

Linguagem usada em conjunto com HTML5 e CSS3

Frameworks

Frameworks da camada Cocoa Touch

Address Book UI Framework (manipulação de contatos)

Event Kit UI Framework (eventos de calendário)

Game Kit Framework (capacidade P2P em apps)

iAd Framework (propaganda baseada em banner)

Map Kit Framework (interface de mapas com rolamento)

Message UI Framework (mensagens de e-mail)

Twitter Framework (composição e envio de tweets)

UIKit Framework (recursos para apps gráficas orientada a eventos)

Ferramentas de desenvolvimento

Xcode 4.5.2 (versão mais recente)

Em desenvolvimento: Xcode 4.6 Developer Preview

Contém o OS X 10.8 SDK e o iOS 6.1 SDK beta

IDE da Apple para desenvolvimento de apps

Permite desenvolver apps para Mac OS X e iOS

Exige um Mac baseado em Intel com Mac OS X

Snow Leopard ou superior (Lion ou Mountain Lion)

Distribuído gratuitamente pela Mac App Store

Loja virtual

App Store

Plataforma digital de distribuição de apps para iOS

Mantida pela Apple Inc

Construção de uma app para a App Store

Preparar o ambiente

e o time de

desenvolvimento

Criar um projeto

Desenvolver a app

Publicar a app na

App Store

Publicação na loja virtual

Fornecimento de informações para serem apresentadas pela app na App Store

Submissão da app para a Apple para o processo de aprovação

Após a aprovação, definição da data de aparecimento da app na App Store

Monitoramento das vendas, revisões de usuários e relatórios de problemas

Licença de desenvolvedor

Que programa de desenvolvedor é para você?

developer.apple.com/programs/which-program/

iOS Developer Program

iOS Developer Program – Individual ($99/ano)

Desenvolvedores individuais que criarão apps para distribuição na App Store

iOS Developer Program – Company ($99/ano)

Para empresas que criarão apps para distribuição na App Store

Licença de desenvolvedor

iOS Developer Program (continuação)

iOS Developer Enterprise Program ($299/ano)

Para empresas que criarão apps proprietárias para

distribuição internamente

iOS Developer University Program (grátis)

Para instituições de educação superior que querem

introduzir desenvolvimento para iOS em seus currículos

AndroidSistema operacional móvel da Google

Sistema operacional móvel

Android 4.2.1 (Jelly Bean)

Em desenvolvimento: Android 5.0 (Key Lime Pie)

Sistema operacional baseado no Linux

Sistema Open Source sob a Apache License

O sistema foi anunciado em 06/11/2007

Juntamente com a Open Handset Alliance (OHA)

T-Mobile G1 lançado em outubro de 2008

Primeiro smartphone com sistema Android

Arquitetura do Android

Linguagens de programação

Linguagem de programação Java

Dalvik Virtual Machine

Otimizada para dispositivos móveis

Diversas bibliotecas da plataforma Java SE

Pacotes java.*, javax.*, org.apache.*, org.xml.*, etc.

Diversas bibliotecas da específicas para Android

Pacotes android.*

Linguagem C/C++ (vários componentes/ADK)

Ferramentas de desenvolvimento

Requisitos de sistema

Sistemas operacionais

Windows XP (32-bit), Windows Vista (32/64-bit) ou

Windows 7 (32/64-bit)

Mac OS X 10.5.8 ou superior

Linux (testado no Ubuntu)

GNU C Library (glibc) 2.7 ou superior

Ubuntu Linux 8.04 ou superior

Distribuições de 64-bit devem ser capazes de executar

aplicações de 32-bit

Ferramentas de desenvolvimento

Requisitos de sistema

Eclipse IDE

Eclipse 3.6.2 (Helios) ou superior

Eclipse JDT (Java Development Tools) plugin

JDK 6 (JRE somente não é suportado)

Android Development Tools plugin (recomendado)

Outros ambientes de desenvolvimento

JDK 6 (JRE somente não é suportado)

Apache Ant 1.8 ou superior

Ferramentas de desenvolvimento

ADT Bundle

Eclipse IDE mais o plug-in ADT

Ferramentas do Android SDK

Ferramentas da plataforma Android

Plataforma Android mais recente

Imagem do sistema Android

mais recente para o emulador

Download: developer.android.com/sdk/

Documentação

Android Developers Training

developer.android.com/training/

Construindo apps

Getting Started

Building Apps with Multimedia

Building Apps with Graphics & Animation

Building Apps with Connectivity & the Cloud

Building Apps with User Info & Location

Documentação

Melhores práticas

Best Practices for User Experience & UI

Best Practices for Performance

Best Practices for Security & Privacy

Distribuição e monetização

Using Google Play to Distribute & Monetize

Loja virtual

Google Play Store (antiga Android Market)

Plataforma de distribuição digital de apps da Google

Concorrentes: Amazon Appstore, Samsung Apps, etc.

Construção de uma app para a Google Play Store

Preparar o ambiente

e o time de

desenvolvimento

Criar um projeto

Desenvolver a app

Publicar a app na

Google Play Store

Publicação na loja virtual

Processo de registro de uma conta de editor(publisher account)

Submissão da app para a Google Play para o processo de aprovação

Após a aprovação, definição da data de aparecimento da app na Play Store

Gerenciamento antes, durante e depois da publicação pelo Google Play AndroidDeveloper Console

Registro de desenvolvedor

O desenvolvedor deve se registrar para estar

apto a distribuir apps pela Google Play Store

Existe uma taxa única de registro de $25

A Google justifica a cobrança da taxa para

encorajar produtos de qualidade superior

Para vender apps, o desenvolvedor deve estar

registrado como Google Checkout Merchant

Windows PhoneSistema operacional móvel da Microsoft

Sistema operacional móvel

Windows Phone 8

Segunda geração do Windows Phone

Em desenvolvimento: Windows Phone 9

Arquitetura baseada no kernel do Windows NT

Compartilhamento de componentes com o Windows 8

A versão anterior era baseada no Windows CE

O sistema foi liberado em 14/09/2012 (RTM)

Disponível para o público em geral em 29/10/2012

Smartphones WP7 não atualizarão para WP8

Linguagens de programação

Windows Phone 8 API Set

Ferramentas de desenvolvimento

Windows Phone SDK 8.0

Permite criar apps para Windows Phone 8.0 e 7.5

Com o Visual Studio Express 2012 for Windows Phone

Gratuito, mas exige registro para obter uma chave

É necessário ter ou criar uma conta da Microsoft

Sem uma chave de ativação, o produto funciona 30 dias

Add-in do Visual Studio 2012 comercial

Ultimate, Premium ou Professional

VS 2012 Update 1 liberado em 26/11/2012

Ferramentas de desenvolvimento

Requisitos de sistema

Sistema operacional

Windows 8 (64-bit) ou Windows 8 Pro (64-bit)

Hardware

6.5 GB de espaço em disco, 4 GB de RAM e CPU 64-bit

Emulador do Windows Phone 8

Windows 8 Pro ou superior

Processador que suporta Second Level Address

Translation (SLAT)

Documentação

Dev Center – Windows Phone

dev.windowsphone.com

Tutoriais

Getting started

Developing apps

Testing apps

Monetizing apps

Concepts and architecture

Loja virtual

Windows Phone Store (antigo Marketplace)

Plataforma de distribuição digital de apps da Microsoft

Distribui apps para Windows Phone (smartphones)

Construção de uma app para a Windows Phone StorePreparar o

ambiente e o

time de

desenvolvimento

Criar um projeto

Desenvolver a app

Publicar a app na

Windows Phone Store

Publicação na loja virtual

Processo de registro de uma conta Dev Center

Submissão da app para a Windows Phone Store para o processo de aprovação

Após a aprovação, definição da data de aparecimento da app na Windows Phone Store

Gerenciamento antes, durante e depois da publicação pelo Windows Phone Dev Center

Registro de uma conta Dev Center

Criação ou uso de uma conta da Microsoft

Antigo Windows Live ID

Assinatura anual Dev Center para estar apto a

distribuir apps pela Windows Phone Store

Taxa de assinatura anual de $99

Direito de submissão de apps da assinatura anual

Número ilimitado de apps pagas

Até 100 apps gratuitas

Windows 8Sistema operacional desktop e móvel da Microsoft

Sistema operacional desktop e

móvelWindows 8

Em desenvolvimento: Windows 9

Sistema operacional baseado no kernel do NT

Núcleo dos sistemas Windows 7, Windows Server

2008 R2, Windows 8 e Windows Server 2012

O sistema foi liberado em 01/08/2012 (RTM)

Disponível para o público em geral em 26/10/2012

Windows imaginado de novo

Uma nova interface gráfica projetada para

toque além do suporte a mouse e teclado

Windows imaginado de novo

Linguagens de programação

Communication

& Data

Devices &

Printing

WinRT APIs

DirectX & Media

Desktop Apps

C

C++

Win32

C#

VB

.NET

SL

HTMLJavaScript

Internet

Explorer

Windows Store Apps

Application Model

XAML

JavaScript

HTML / CSS

C

C++

C#

VB

Windows Kernel Services

Syst

em

Serv

ices

Vie

wM

od

el

Co

ntr

oll

er

Kern

el

APIs de Windows Store apps

Devices

SensorsGeolocation Portable NFC

Communications & Data

Contracts

XML

Web

SMSNetworking

Notifications

Local & Cloud Storage

Streams

Background

Transfer

User Interface

HTML5/CSS XAML DirectX Controls

Input Accessibility Printing

Data Binding

TilesSVG

FundamentalsApplication Services Authentication Cryptography GlobalizationMemory ManagementThreading/Timers

MediaVisual

EffectsPlayback PlayToCapture

Ferramentas de desenvolvimento

Visual Studio Express 2012 for Windows 8

Gratuito, mas exige registro para obter uma chave

É necessário ter ou criar uma conta da Microsoft

Sem uma chave de ativação, o produto funciona 30 dias

Vem junto com o Blend for Visual Studio 2012

Edição comercial do Visual Studio 2012

Ultimate, Premium ou Professional

VS 2012 Update 1 liberado em 26/11/2012

Documentação

Dev Center – Windows Store apps

msdn.microsoft.com/windows/apps

Tutoriais

Download the tools and SDK

Get your developer account now

Hands-on labs for Windows 8

Windows 8 labs for JavaScript and HTML

Windows 8 labs for C# and XAML

Loja virtual

Windows Store

Plataforma de distribuição digital de apps da Microsoft

Distribui um novo tipo de app: Windows Store apps

Construção de uma app para a Windows Store

Preparar o ambiente

e o time de

desenvolvimento

Criar um projeto

Desenvolver a app

Publicar a app na

Windows Store

Loja virtual

Publicação na loja virtual

Abertura de uma conta de desenvolvedor da Windows Store

Teste da app com o Windows App CertificationKit e submissão da app para a Windows Store

Após a aprovação, definição da data de aparecimento da app na Windows Store

Gerenciamento antes, durante e depois da publicação pelo Windows Store dashboard

Licença de desenvolvedor

Requisito obrigatório para desenvolver Windows Store apps

É necessário ter ou criar uma conta da Microsoft

Termos de uso da licença de desenvolvedor

Permissão somente para desenvolver, testar e avaliar Windows Store apps

Dados são enviados para a Microsoft sobre o uso da sua licença de desenvolvedor

A licença precisa ser renovada a cada 90 dias

Firefox OSSistema operacional móvel da Mozilla

Sistema operacional móvel

Firefox OS 1.0 (em desenvolvimento)

Previsão de lançamento: 1o semestre de 2013

Sistema operacional open source

Projeto de codinome Boot to Gecko (B2G)

Usa o kernel do Linux

Engine de execução baseado no Gecko

Executa apps desenvolvidas em HTML5 e JavaScript

Sistema operacional móvel

O Firefox OS produzirá uma implementação dos novos padrões Web

Usuários e desenvolvedores não ficam presos a uma única plataforma

Sistema operacional móvel

Gaia

• A interface com o usuário do Firefox OS

• Camada responsável pelas telas do sistema

Gecko

• Ambiente de execução de apps do Firefox OS

• Camada que suporta HTML, CSS e JavaScript

Gonk

• Sistema operacional de baixo nível do Firefox OS

• Camada que consiste do kernel do Linux

Linguagens de programação

Linguagem de programação JavaScript

HTML5 para criação da interface

CSS3 para formatação da interface

Outras APIs abertas de aplicações Web

Ferramentas de desenvolvimento

Qualquer ferramenta de desenvolvimento com

suporte a HTML5, CSS3 e JavaScript

Visual Studio 2012 Ultimate, Premium ou Professional

Visual Studio Express 2012 for Web

Eclipse Classic 4.2.1 (Juno Sr1)

JavaScript Development Tools (JSDT)

Netbeans 7.2.1

Developing with HTML, JavaScript, and CSS

Documentação

Mozilla Developer Network (MDN) – Firefox OS

developer.mozilla.org/docs/Mozilla/Firefox_OS

Tutoriais

Introduction to Firefox OS

Writing apps for Firefox OS

Building and installing Firefox OS

Loja virtual

Firefox Marketplace (“Aurora”)

www.mozilla.org/apps/

Firefox Aurora for Android

Pacote .apk disponível para download

Dispositivos suportados

www.mozilla.org/firefox/mobile/platforms/

Publicação na loja virtual

Adição de um app manifest para a web app(arquivo JSON que descreve a app)

Hospedagem do manifesto no mesmo domínio da web app

Content-Type:application/x-web-app-manifest+json

Mais informações:developer.mozilla.org/docs/Apps/Manifest

application/x-web-app-manifest+json

Suporte ao desenvolvimentoDocumentações e ferramentas de desenvolvimento oficiais

Recursos oficiais na Web

iOS Dev Center

developer.apple.com/devcenter/ios

Android Developers

developer.android.com

Windows Phone Dev Center

dev.windowsphone.com

Firefox OS – Mozilla Developer Network

developer.mozilla.org/docs/Mozilla/Firefox_OS

DúvidasRogério Moraes de Carvalho

VITA Informática

@rogeriomc

rogeriomc.wordpress.com