A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Brew Fernando Brayner Gustavo Gallindo Marcellus Tavares.

Apresentações semelhantes


Apresentação em tema: "Brew Fernando Brayner Gustavo Gallindo Marcellus Tavares."— Transcrição da apresentação:

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 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 0x #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


Carregar ppt "Brew Fernando Brayner Gustavo Gallindo Marcellus Tavares."

Apresentações semelhantes


Anúncios Google