Plataformas Desenvolvimento Celular

COMPILADORES 2009.1
T05-Gabriel Bugarin,Leandro Borges,Frederico Dattoli

PLATAFORMAS DE DESENVOLVIMENTO PARA CELULARES

INTRODUÇÃO

Devido a constante evolução da tecnologia, foi se tornando, ao longo das últimos vinte anos, possível se levar em um único dispositivo uma série de aplicativos, antes utilizados apenas em vários periféricos. Mais ainda, com a redução em volume e tamanho destes dispositivos, tornou-se uma realidade a capacidade de ter esses componentes na palma da mão. O exemplo mais prático é o aparelho celular. Hoje, o mesmo tem capacidade de, além de suas funções básicas, como atender ou discar, utilizar jogos, calendários, até GPS e acesso a internet em alta velocidade. Entretanto, ainda existe uma série de restrições, levando a necessidade de se desenvolver aplicativos especificamente para esses dispositivos móveis. Para suprir tal necessidade, foram e estão sendo criadas as Plataformas de Desenvolvimento para Celulares.

RESUMO
Este artigo tem como finalidade apresentar o conceito e os objetivos das plataformas de desenvolvimento para celulares, bem como apresentar e conceituar algumas destas plataformas, explicitando a particularidade de cada uma.

PLATAFORMAS DE DESENVOLVIMENTO PARA CELULARES

Primeiramente, uma plataforma de desenvolvimento é um ambiente que possibilita a criação, confecção ou desenvolvimento de softwares, neste caso, voltado para os celulares. Neste ponto, essas plataformas devem atender as necessidades de baixo poder de processamento e baixo custo de memória, pois, embora os celulares já tenham grande nível de avanço em capacidade de memória bem como de processamento, esses dois quesitos ainda estão longe de alcançar o nível dos desktops. Ou seja, devem ser desenvolvidos softwares que não exijam acima das capacidades de tais dispositivos.
Essas plataformas serão instaladas e manuseadas em desktops ou notebooks. Entretanto, os projetos resultantes destas plataformas serão utilizados pelos celulares, já que nos mesmos ficariam complicados de se desenvolverem, devido as restrições físicas do aparelho, como display, memória cache, processador, teclas, dentre outros.Com isso ficam mantidos os desktops e notebooks como periféricos ideais par a o desenvolvimento destes aplicativos.
No mercado atual, existem várias plataformas de desenvolvimento para celulares. Abaixo citaremos e explicaremos cada um deles.

J2ME

Java 2 Micro Edition, assim como as demais plataformas Java, usa uma máquina virtual (JVM – Java Virtual Machine, instalada na maioria dos celulares) para utilizar seus aplicativos, o que a possibilita de ser utilizada em diversas plataformas, o seja, a J2ME é multiplataforma. Mais ainda, é capaz de rodar em máquinas com capacidades reduzidas. Isso resulta em menor custo de material (equipamentos, como PC’s,memórias) para desenvolver esses softwares. Além disso, sua plataforma (SDK – Software Development Kit) é gratuita, reduzindo ainda mais os custos com desenvolvimento. Entretanto, não existe uma versão comercial do J2ME. Isso acarreta que o desenvolvedor tem que negociar diretamente a distribuição ou licença do produto.
Todavia, o grande trunfo dessa plataforma é que vários SO’s voltados para celulares adotam softwares desenvolvidos nessa plataforma, tornando-a um padrão, resultando em uma procura maior por softwares dessa plataforma. E nomeio comercial, quanto maior a procura, mais valorizado pode ser seu produto. Isso acarreta em um negócio de maior valor e lucro, consequentemente.
Mas o grande trunfo dessa plataforma é a possibilidade de se criar softwares com interfaces gráficas de qualidade e baixo custo computacional, o que dá acessibilidade a um maior número de aparelhos não tão avançados.
Eis abaixo uma imagem contendo o ambiente de desenvolvimento para J2ME:

clip-image0021.jpg

Atualmente, a Sun, criadora do JAVA, lançou o Kit J2ME 3.0.

Symbian

O SymbianOS é um SO desenvolvido para rodar em dispositivos móveis de preferência aqueles que possuam suporte para cameras fotográficas, MMS, wireless, Bluetooth, entre outras funções multimedia.O SO é baseado principalmente pela simplicidade do ambiente gráfico que possui sendo utilizado hoje pelas grandes empresas fabricantes de dispositivos móveis. Esse SO é desenvolvido pela Symbian uma empresa ou melhor um conglomerado de grandes empresas como Nokia, Sony Ericson, Siemens, Motorola, Samsung , LG, Panasonic , entre outras que desenvolvia o sistema EPOC32 para os dispositivos da Psion como os handhelds ou mais conhecidos como PDA,pequenos dispositivos móveis com alta capacidade computacional ,a Psion era outra empresa grande da área na época e que possuía partes das ações da Symbian porém no ano 2000 a Psion encerrou a fabricação dos seus dispositivos e voltou-se apenas na criação de softwares.

symbian-web-server-2.jpg

Hoje o Symbian OS está presente na maioria dos dispositivos móveis disponíveis no mercado. Esse SO tem como característica principal possibilitar a criação de aplicativos próprios, independentes de cada fabricante, por se tratar de um sistema modular o Symbian OS não possuem um padrão, podendo ser desde um pequeno aplicativo simples até um poderoso SO. As vantagens que o Symbian OS possuem são bastante importantes na área de telefonia móvel pois assim como já foi dito por se tratar de uma plataforma aberta possibilitando aos desenvolvedores a criação de seus próprios aplicativos, possui mecanismos que possibilitam a utilização econômica de bateria e memória, que garantem segurança em transferência e armazenamento de dados, premite a instalação de aplicativos de terceiros,além de ser um sistema mais estável e seguro que os seus concorrentes e também mais versátil no que diz respeito às linguagens que possibilitam a criação de aplicativos, linguagens como: JavaME(baseado na plataforma J2ME), Perl, Python, Ruby ,entre outras.Porém uma linguagem que mais se destaca no Symbian OS é o Symbian C/C++ que consiste numa adaptação das linguagens C/C++ feita para Symbian, que possui como ambiente de desenvolvimento o Carbide C++ ,uma IDE gratuita fornecida pela NOKIA, trabalhando ativamente com padrões que se vem ganhado força hoje em dia como: Bluetooth,MMS,WCDMA,IPv6 e J2ME.

symbian.jpg

Windows Mobile

Obviamente a Microsoft Corporation não ia deixar de deter uma parcela nesse mercado em Constante desenvolvimento. Para isso, foi criado, em 1997 sob o nome de Windows CE (era utilizados em handhelds) .Trata-se um sistema operacional, ou seja, é ele que gera a interface gráfica e gerencia as solicitações dos usuários dos celulares (PDA’s ou Smartphones). Assemelha-se e possui grande parte dos recursos que as versões da Microsoft voltadas para desktops, o que permitiu o desenvolvimento nesta plataforma do Office Mobile, constituído dos softwares Word, Excel e Power Point Mobile, que assemelham-se as suas versões para PC, como visto nas imagens abaixo.

WM5WordMobile.jpg
softmakerpresentations.jpg
Excel2.jpg

Como ainda quase 90% da população que usa computadores utiliza o Windows, então se tornou muito mais viável a utilização do Windows Mobile, já que sua interface é mais conhecida. Entretanto somente a Microsoft e empresas que regem contratos com a mesma têm a autorização para desenvolvimento desta plataforma, o que dificulta e até impossibilita que os desenvolvedores não vinculados a grandes corporações consigam desenvolver aplicativos para essa plataforma.

51_244-Windows%20Mobile%206.1.jpg

ExEn

Desenvolvido pela In-Fusion, o ExEn (Execution Engine) é pioneira no segmento de distribuição de softwares através das operadoras telefônicas. Baseada em JAVA, é muito popular na Europa, é uma das principais plataformas utilizadas e que possui vasto mercado. Entretanto, a mesma possui dois SDK’s: o SDP – Standard Developer Program ou Programa de Desenvolvimento Padrão, e o PSP – Premium Developer Program ou Programa de Desenvolvimento Prêmio. No primeiro, gratuito é somente distribuído o SDK para o desenvolvimento. Já no segundo, pago, ficam disponíveis atualizações diárias da plataforma, além da possibilidade de simulação do software e suporte on-line. Todavia, para ser utilizar o PSP, precisa passar por uma seleção de conhecimentos avançados na plataforma, senão é vetado o uso da mesma.
Isso possibilita a empresas que desejam usar essa plataforma desenvolver e trabalhar em aplicações mais complexas, onde haverá um suporte e a possibilidade de simular na própria máquina as funcionalidades do aplicativo, não necessitando que o aplicativo seja instalado em um dispositivo móvel para teste, otimizando tempo.
Apesar de ser baseada em JAVA, a ExEn é processada em única linha de execução (single thread) e orientada a eventos, facilitando a verificação de erros e podendo ser voltada mais para a área comercial.

Mophun
Criada pela Synergenix,é uma plataforma desenvolvida principalmente para jogos. Baseada em C/C++, visa a alta renderização em ambientes de baixo poder de processamento. Para possibilitar isso, essa plataforma é dividida em quatro módulos, sendo:
- RTE(Run-Time Engine): É o módulo que analisa e gerencia o funcionamento e a execução dos jogos no dispositivo, sendo que ela um recurso, chamado sandbox, que não permite que o jogo faça operações ilícitas no aparelho, protegendo o usuário;
-API(Application Programing Interface): Modo onde estão as funções usadas para o desenvolvimento do aplicativo;
-SDK(Software Development Kit): Conjunto de ferramentas para que se possa fazer na prática (programar) o desenvolvimento do aplicativo;
-VST(Vendor Signing Tool): Permite ao desenvolvedor distribuir seu aplicativo pela rede.
Mas com essa plataforma se faz necessário, para distribuir seu jogo, precisa submeter a idéia a avaliação da Synergenix, que verificará a viabilidade. Após, vem a certificação, onde o software é posto em verificação de falhas, idoneidade e senão é malicioso. Após isso, vêm a assinatura digital, que é o registro e a agregação de uma identidade digital ao produto. Por último, o software é disponibilizado nas redes convencionais, WAP e existe até a possibilidade de envio por MMS. Eis abaixo, uma imagem referente a games produzidos na plataforma Mophun:

binmophungamelaunchernx5.jpg

RELAÇÃO DO TEMA COM A MATÉRIA COMPILADORES

As plataformas de desenvolvimento para celulares são compatíveis com, baseando-se na classificação de compiladores segundo sua plataforma de desenvolvimento, de compiladores autoresidentes. Nesta classificação, o compilador gerado é usado na mesma plataforma em que foi desenvolvida. Além disso, das citadas acima, somente a J2ME é um compilador Autocompilável, que é quando um compilador utiliza para desenvolvimento a mesma linguagem na qual foi desenvolvido. Já as demais foram baseadas em outras linguagens tidos então como compiladores normais.

REFERÊNCIAS

Biblioteca Digital Brasileira de Computação: Acesso em 06/04/09 – 21:10
http://www.lbd.dcc.ufmg.br/bdbcomp/servlet/Trabalho?id=5365

GDJCE: Acesso em 08/04/09 – 15:32
http://www.gdjce.com/2009/02/0-confronto-das-plataformas-moveis-j2me-exen-mophun-e-wge/
Portal Android.org: Acesso em 02/04/09 às 00:45
http://forum.portalandroid.org/

Qualcomm Plaza: Acesso em 01/04/09 – 03:50
http://www.qualcomm.com.br/products_services/mobile_content_services/mobile_internet.html

Teletime News : Acesso em 28/04/09 – 15:35
http://www.teletime.com.br/News.aspx?ID=124902

Wikipedia: Acesso em 08/04/09 – 16:00
http://pt.wikipedia.org/wiki/Windows_Mobile

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License