Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouCaíque Rodarte Alterado mais de 9 anos atrás
1
brew Fernando Brayner Gustavo Gallindo Marcellus Tavares
2
Surgimento Qualcomm –Fundada em 1985 –San Diego, Califórnia –OmniTRACS –CDMA, 1989
3
Surgimento - brew Janeiro 2001 Necessidade de uma plataforma de desenvolvimento Integração com os elemetos da cadeia de negócios
4
O que é BREW ? (1/2) Binary Runtime Enviroment for Wireless Solução para –Desenvolvimento de aplicações wireless –Distribuição de aplicações –Cobrança e pagamento de aplicações BREW Tecnologia + Modelo de negócios
5
O que é BREW ? (2/2) Para o desenvolvedor –Conjunto de APIs –Um meio de vender e distribuir aplicações para usuários finais Para o dispositivo –BREW é uma camada (150k) entre a aplicação e a ASIC (Application Specific Integrated Circuit)
6
BREW no celular Desenvolvimento independente de chipset dos dispositivos –Portabilidade Aplicativos podem ser escritos em JAVA, C ou C++
7
BREW X J2ME Vantagens –Não há limite para tamanho da aplicação –Pode-se utilizar OO sem medo –BREW 2.0 – acesso direto ao buffer de tela –Distribuição, gerenciamento e vendas
8
BREW X J2ME Desvantagens –Solução de compressão deve ser escrita pelos desenvolvedores –Inexistência de perfis
9
Motivação
10
BREW Hoje 44 fabricantes de dispositivos 31 países $700M+ Publicadoras/Desenvolvedores
11
Módulo Engloba os componentes de uma aplicação Encapsula um numero qualquer de applets Desenvolvidos como DLLs no Windows –Assumem outro formato quando compilados para o dispositivo (.mod) Sempre possuem um arquivo MIF associado
12
Applets Similares a “aplicações” Toda aplicação BREW deve possuir pelo menos um applet Classes que permitem ser gerenciadas pelo ambiente –Criação, destruição e manipulação de eventos Implementam uma interface comum
13
Interfaces Serviços na plataforma BREW são disponibilizados através de interfaces (APIs) Interfaces em BREW possuem um ID único e o acesso é gerenciado pela plataforma Cada interface encapsula um conjunto de serviços como –Acesso ao display –Controle de som –Serviços de rede –Etc...
14
ClassIDs Applets e interfaces públicas possuem identificadores únicos em BREW Identificadores possuem 32 bits e são chamados de ClassIDs São gerenciados pela Qualcomm para garantir sua unicidade “Authentic Developer” Dummy Ids para testar aplicações São utilizados para carregar os serviços da plataforma São mantidos em arquivos de texto com extensão.bid
15
Partes de uma aplicação Brew
16
Module Information File Cada módulo BREW possui um arquivo MIF associado MIFs mantêm informações sobre o conteúdo do módulo –Applets –Privilégios –Títulos de applets e ícones –ClassIDs –Autor Plataforma lê as informações do aplicativo instalado do.mif –Similar ao.jad de J2ME
17
Resource File Mantêm os recursos usados pela aplicação –Textos –Imagens –Sons –Você também pode criar controles para suas aplicações Menus, lists, date selectors, and timersResource Vantagens –Organização No Hard-Coded Recursos para dispositivos específicos –Portabilidade Mudar o resource –Eficiência na mudança dos recursos
18
Em resumo... Tudo pronto pra rodar no emulador...
19
Disponibilizará lista de aplicações descritas no MIF Aplicação selecionada tem seu.dll carregado na memória Os recursos são carregados a medida que são solicitados pelas aplicações Aplicação no Emulador
20
Start-up no Emulador/Dispositivo Enumera todos os MIFs no sistema Extrai informações associadas com todas aplicações especificadas nos MIFs Um único MIF pode descrever um numero qualquer de aplicações (0 ou mais) É criada uma lista de todas as aplicações na memória(RAM). Essa lista contém informações extraídas do MIF (ex: ClassID) Todas operações relacionadas a aplicações (start, stop, etc.) usam essa lista como ponto de partida
21
Brew SDK Tools Previamente incluído no Brew SDK Separado na versão 3.0.3 Funciona com todas as versões do Brew SDK
22
Resource Editor Editar/Gerenciar os arquivos de recursos –Descrição dos Recursos BRI Compila BRI .BAR #ifndef MYRESOURCES_RES_H #define MYRESOURCES_RES_H // WARNING: DO NOT MODIFY THIS FILE // AUTO-GENERATED BY BREW Resource Editor #define MYRESOURCES_RES_FILE "myresources.bar" #define A_STRING 1 #define AN_IMAGE 5001 #endif // MYRESOURCES_RES_H
23
Compilação do BRI Compilador embutido no Resource Editor –Edita os Recursos –Salva (.BRI) –Compila –BREW Application Resource gerado
24
MIF Editor Gerar o Module Information File –Compila o arquivo de edição de propriedades (.MFX) .MIF –helloworld.BID #ifndef HELLOWORLD_BID #define HELLOWORLD_BID #define AEECLSID_HELLOWORLD 0x11111111 #endif //HELLOWORLD_BID
25
Como o MIF e a Aplicação se conectam
26
BREW Compressed Image (BCI) Authoring Tool Permite armazenar imagens no aparelho de forma comprimida Reduz bastante o tamanho dos gráficos e aumenta a velocidade na qual as imagens são carregadas no dispositivo Provê mecanismos para comprimir e combinar arquivos padrões do windows BMP, PNG, JPEG e JPG para criar animações
27
Outros Utilitários Brew BREW 2Bit Tool –converts 4-bit BMP s to 2-bit BMP s for image editing PureVoice™Converter –Converts ( WAV )files to QUALCOMM PureVoice™( QCP ) NMEA Logger Tool –Reads National Marine Electronics Association (NMEA) messages from GPS or GNSS device –GPS or GNSS data can then be simulated on the Simulator –Live data recorded from a serial connection or from a file
28
Privilegio de Acesso Todo Módulo tem um “privilege level” associado O privilege level de um módulo determina se o módulo pode acessar ou não certas interfaces Para cada interface em Brew, existe um “minimun privilege level” O MIF de um modulo deve incluir classes que ele utiliza como dependências Níveis de privilegio são usados em conjunto com “True Brew” para garantir integridade da aplicação
29
Privilegio de Acesso No Brew ver 2.0, classes exportada a partir de um determinado módulo cai em duas categorias: “Não-protegidas” – Essas classes não tem algum tipo de proteção. Elas são disponíveis para qualquer modulo a qualquer momento “Protegidas” – Essas classes devem ser listadas como dependências no MIF da aplicação que requisita o modulo. Se não, um erro de aplicação será retornado.
30
C++ Support in BREW Aplicações podem ser escritas em C++. As estruturas de dados e funções podem ser em C++. O uso de C++ deve ser restrito a especificação do embedded C++ Limitações: –Mecanismo de funções virtuais não pode ser usado para invocar funções de interfaces BREW –Mecanismo de herança não pode ser usado para derivar/implementar a partir de interfaces BREW Trabalho no sentido de permitir uso completo de C++
31
uiOne Personalização da interface é dependente da aplicação Plataforma para o desenvolvimento de UIs ricas –Novos serviços de personalização
32
uiOne Passado: –Código monolítico –Grande esforço para se criar UI para cada dispositivo
33
uiOne Hoje: –Sistema: gerenciamento dos componentes dos dispositivos – BREW client –Serviços: engines, protocolos: (BREW extensions) –Aplicações BREW Sistema Serviços Aplicação + UI
34
uiOne Com uiOne: –Camada de UI é separada –Rápido desenvolvimento de UI –Desenvolvimento de UI é separado do desenvolvimento das aplicações –Criação de UIs é simplificada através de linguagens de marcação Sistema Serviços Aplicações UIs
35
uiOne - SDK –TrigPlayer roda sobre BREW como um extensão do BREW para renderizar Trigs e Triglets –TrigBuilder Usado para se criar UIs(Trigs e Triglets) –Trig Hierarquia de arquivos que descrevem a UI de uma aplicação
36
uiOne - SDK –Triglet Aplicam atualizações sobre um Trig Descrevem modificações na árvore de recursos do Trig –Ator Aplicativos escritos em C que conectam Trigs ao dispositivo (código nativo)/ BREW API –uiOne Publisher Servidor que gerencia a distribuição de Trigs –uiOne Depot Servidor que hospeda Triglets Atualizações
37
uiOne Trig – User Interface Triglet- UI update Update dinâmico de uma parte da UI Estratégia realizada na concepção da interface
38
uiOne TrigPlayer –Roda sobre o BREW como uma extensão –Baixados automaticamente com os Trigs ou pré-instalado –Instalado uma vez por dispositivo
39
uiOne Trigs Hierarquia de arquivos que descrevem a UI de uma aplicação –TrigML –Imagens –Update –Channels –Text –Properties
40
TrigML – Exemplo (1/6) - define regiões
41
TrigML – Exemplo (2/6) - especificar atributos em uma região
42
TrigML – Exemplo (3/6)
43
TrigML – Exemplo (4/6)
44
TrigML – Exemplo (5/6)
45
TrigML – Exemplo (6/6)
46
TrigML – Comunicação com atores
47
TrigBuilder
48
uiOne - Canais
49
uiOne - Triglet Pacotes eviados OTA para os dispositivos
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.