Seminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveis
-
Upload
rogerio-moraes-de-carvalho -
Category
Technology
-
view
1.853 -
download
4
description
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
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
Documentação
iOS Developer Library
developer.apple.com/library/ios/
Orientação de estudos
Getting Started: Start Developing iOS Apps Today
Guides: iOS Technology Overview
Guides: iOS Human Interface Guidelines
Guides: Developing for the App Store
Guides: Programming with Objective-C
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
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
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
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
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
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
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
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
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
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