Created by Raphael Luiz Fonseca
almost 10 years ago
|
||
- Consumo de Bateria
- Processamento
- Armazenamento
- Segurança
- SO
Desenvolvimento feito utilizando linguagens nativas (Android, iOS, Windows Phone, etc..) e SDKs de cada plataforma.
- Não há reaproveitamento de código
-Deve ser gerado um aplicativo para cada plataforma
- Instalações vão ocorrer diretamente pelas lojas (na maioria das vezes).
- Todos recursos do dispositivos poderão ser utilizados.
- Padrões de codificações utilizados.
Dividido entre:
Desenvolvimento híbrido
Desenvolvimento WEB
- Desenvolvimento ocorre para todas as
plataformas ou pode ocorrer migração
entre plataformas com pouco esforço
- Web-apps
- Rodam diretamente de browsers
- A aplicação que pode rodar em múltiplas plataformas
- Atualização mais rápida e abrangente
- Desenvolvem-se aplicativos ou sites
usando html5, css3 e o conceito de
WEB RESPONSIVO
- É uma abordagem web-design que adapta a exibição do conteúdo de um site ou de uma página de acordo com o tamanho da tela de um dispositivo
- Se adapta a cada formato de tela
- Utiliza media-queries, que
permite que a mesma página use
diferentes regras de estilo CSS
com base em características de
tamanho dos dispositivos
- Para aplicativos menos robustos e mais simples
- Desenvolvedor codifica uma vez e com pouco esforço
- Consegue rodar em diferentes sistemas operacionais
- É um web-app “embrulhado” num container nativo
- Phonegap / Cordova
- Appcelerator
- Sencha Touch
- Combinam as funcionalidades de um computador pessoal com o uso de touchscreen, celular, bluetooth, WiFi, GPS, câmera e outras funcionalidades.
- Geralmente são mais limitados em relação a processamento, espaço de memória e utilização de recursos em geral.
- Código-fonte open source
- Começou baseado em kernel 2.6 do Linux (responsável por gerenciamento de memória, processos, threads e segurança).
- Kit de desenvolvimento: Android SDK
- Primeira versão especialmente para rodar em tablet.
- São uma API para permitir o desenvolvimento de software em determinada linguagem de programação.
- Inclui ferramentas para debug e IDEs de desenvolvimento
- Biblioteca de software que implementa uma engine de banco de dados transacional, “self-contained” que
não necessita configuração ou de servidor.
- Código aberto
- Ideal para dispositivos embarcados.
- Self-contained: Requer mínimo suporte de bibliotecas externas ou do sistema operacional. Perfeito para sistemas embarcados.
- Máquina virtual para rodar arquivos .dex
- É um motor de renderização utilizado em navegadores web para renderizar páginas. -É utilizado por navegadores como o Google Chrome e o Safari.
- Divida em 5 camadas em formato pilha
- Onde se localizam todos os aplicativos executados sobre o sistema
operacional (como cliente de SMS/MMS, navegador, mapas, etc...).
- Camada de desenvolvimento
- Fornece todas as funcionalidades necessárias para a construção de
aplicativos, através das bibliotecas nativas.
- Aplicações Android podem possuir diversos tipos de componentes: activities, services, content providers e broadcast receivers.
- Camada que possui as bibliotecas que são utilizadas pelo sistema e também bibliotecas de multimídia, visualização de camadas 2D e 3D, funções para navegação web e funções de acesso a banco SQLite.
- Subcamada da Biblioteca.
- Nessa camada se instancia a máquina virtual Dalvik, criada para cada aplicação executada no Android. Essa máquina virtual é a melhor referente ao
desempenho, maior integração com a nova geração de hardware e projetada para executar vários processos paralelamente.
- Inclui também as “Core libraries”, que são um conjunto de bibliotecas do núcleo Java.
- Realiza o controle dos processos, gerenciando a memória, threads,
protocolos de rede, modelos de drivers e segurança de arquivos.
- O sistema de arquivos do Android é um sistema de arquivos Linux.
- Camada mais próxima do hardware
- Java Developer Kit (JDK)
- Src: Pasta onde ficam os arquivos fontes do projeto.
- Gen: R.java: constantes que permitem acessar elementos da tela de uma aplicação.
- Res (Recursos)
- Drawable: Imagens de acordo com o tamanho da tela.
- Layout: Arquivo xml com o layout da tela.
- Values: Arquivo xml com os textos.
- AndroidManifest.xml: Configuração do projeto.
Combina as funcionalidades do pkzip ou jar com um compilador de recursos específicos do Android. É responsável por gerar os pacotes .apk (extensão dos arquivos no android) e por processar os arquivos xml de layout.
- Realiza interação em tempo de execução com o emulador do android. Pode ser usado até através de WIFI com um celular com Android.
- Componente que representa cada uma das telas da aplicação.
- Composta de subcomponentes chamados Views.
- Deve ser uma classe que extenda android.app.activity.
- São classes que representam o bloco de construção básico na criação de componentes de interface com o usuário.
- Uma view ocupa uma área retângular na tela e é responsável por realizar desenhos e tratamento de eventos.
- Classes bases dos widgets (que são usados para criar componentes UI como botões, campos de texto, etc...)
São subclasses responsáveis pela criação dos layouts (containers invisíveis onde ficam as views e definem sua aparência – layout).
- Componente com um conjunto de views.
- Intents são usados para enviar uma solicitação para que o android faça alguma coisa, como chamar outra tela, enviar um SMS, abrir outra aplicação, etc..
- Representam a INTENÇÃO de se executar alguma ação!
-É uma classe no tempo de execução Android (Como o Activity) para rodar em background.
- Deve ser usada quando o aplicativo tiver um ciclo de vida longo.
- Rodam na thread principal do processo corrente e possui ciclo de vida próprio.
- NÃO é um processo separado e NÃO é uma thread.
- Cada classe Service deve possuir uma declaração <service> no AndroidManifest.xml.
- Realiza o tratamento de eventos externos.
- É um mecanismo de alerta a eventos globais(ex: telefone tocando, sms recebido).
- Implementa o método onReceive para processar Intents que chegam.
- Componente para compartilhar dados entre os aplicativos e recuperar dados de um repositório.
- Se um componente do aplicativo (Activity, por exemplo), precisa acessar dados de outro aplicativo, o Content Provider é utilizado.
- Operação de leitura, escrita ou ambas.
- “Refere-se ao armazenamento não-volátil de dados, como o armazenamento em um dispositivo físico, como um disco rígido.”
- Apresentar uma lista de itens que permita ao usuário interagir com esses itens, clicando-se sobre eles para a realização de operações
- Toolset que permite desenvolver parte de um aplicativo com código em linguagem nativa.
- Possível escrever bibliotecas em C e C++.
- Suportado em Androids 1.5+.
- Construir novas bibliotecas para usar com o SDK.