O que esperar do próximo iPhone
A TI deve confiar nos dispositivos móveis?
Plantronics cria comunidade de desenvolvedores
Guia de salários: gerentes de bancos de dados recebem até R$ 8,7 mil
Microsoft: Windows 8 chegará no final deste ano
Ah, Facebook, por que não consigo lhe largar?
4G Americas: saiba o que as operadoras devem fazer para atender demanda por dados
ATUALIZADA - Brasil: veja a lista de dispositivos que serão atualizados para Android 4.0
EMC lança mais de 40 produtos entre hardwares e softwares
Forrester: preparem-se para a segunda onde de aplicativos móveis
ATUALIZADA - Fique por dentro da compra da Motorola Mobility pelo Google
Windows Phone 7: usuários não poderão baixar apps do Marketplace
Hoje vou discordar de tudo o que profissionais estão falando sobre plataformas mobile, mercado e futuro da tecnologia da informação. O leitor realmente acredita que a dupla Android/iOS está dominando o mundo? Não, quem está com tudo é o velho e querido XML (Extensible Markup Language). E neste pequeno texto vou mostrar por que.
Claro que o parágrafo acima é um pouco sensacionalista, porém, a linguagem de marcação XML está presente nas três principais plataformas mobile do momento (Android, iOS e BlackBerry). Sendo que, seu papel na maioria delas é fundamental para o projeto que está sendo criado, ressaltando sua importância.
Começaremos falando do primo pobre, o BlackBerry. Hoje, temos basicamente os aparelhos com o velho BlackBerry OS, que já está na versão 7.0, com suporte a Java ME e BlackBerry API, e, o playbook, com suporte a WebWork e Adobe Air. WebWork é basicamente um nome pomposo para a tríade JavaScript, HTML5 e CSS3. Boatos afirmam inclusive que o sistema operacional que sustenta o tablet da RIM será portado para seus smartphones, criando uma linha de produtos chamada de super-phones.
Quando criamos um aplicativo para o smartphone BlackBerry atual, nosso projeto deve conter um arquivo chave para o sucesso do trabalho. Ele se chama BlackBerry_App_Descriptor. Adivinhem qual sua extensão? Isso mesmo, XML.
Dentro outros parâmetros, este arquivo é responsável por indicar o título, versão, fabricante e descrição do aplicativo que se está codificando. Além disso, é onde definimos o seu tipo, dentre três valores possíveis: BlackBerry Application, MIDlet e Library. Para finalizar, é onde também indicamos se a aplicação será auto iniciada no startup do device, se o ícone da aplicação ficará visível na home screen e, qual será este ícone.
Para Playbook e seu sistema operacional QNX temos duas opções. WebWork e Adobe Air. Infelizmente meu conhecimento em Flash é extremamente baixo, então nem vou me arriscar a falar sobre. Mas no WebWork, também temos um arquivo central, chamado de config.xml. Nele, estão os pontos centrais do aplicativo, como o HML inicial, o nome, ícone e descrição.
A plataforma Android talvez seja aquela mais dependente do XML. Na estrutura de pastas e arquivos que o projeto nos traz, tem um elemento que é de vital importância, ao ponto de poder ser comparado ao coração de uma aplicação Android based. O nome dele é AndroidManifest.xml.
O papel deste arquivo é detalhar simplesmente todos os componentes que uma aplicação Android terá. Quando falo em componentes falo de Activities, Services, Content Providers e Broadcast Receiver.
Este arquivo também é de vital importância porque é o local onde definimos as permissões que nossa aplicações deverá requisitar ao usuário na hora de sua instalação. Por exemplo:
<uses-permission android:name=”android.permission.READ_PHONE_STATE”/>
<uses-permission android:name=”android.permission.READ_CONTACTS”/>
<uses-permission android:name=”android.permission.READ_LOGS”/>
<uses-permission android:name=”android.permission.CALL_PHONE”/>
<uses-permission android:name=”android.permission.SEND_SMS”/>
<uses-permission android:name=”android.permission.READ_PHONE_STATE” />
Outro ponto crucial da aplicação é a Activity responsável por iniciar o tratamento de eventos e interação com o usuário, ou seja, ter o papel de launcher mesmo. O AndroidManifest também é responsável por isso:
<activity android:label=”@string/app_name” android:name=”.Splash”>
<intent-filter>
<action android:name=”android.intent.action.MAIN”/>
<category android:name=”android.intent.category.LAUNCHER”/>
</intent-filter>
</activity>
Além deste arquivo de configuração, o Android, não contente ainda, permite que todas as telas do aplicativo sejam criadas com um arquivo XML.
<?xml version=”1.0″ encoding=”utf-8″?>
<LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android”
android:orientation=”vertical”
android:layout_width=”fill_parent”
android:layout_height=”fill_parent” >
<ImageView android:src=”@drawable/logo”
android:layout_height=”wrap_content”
android:layout_width=”wrap_content”></ImageView>
<TextView android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”My App, versão 1.0″></TextView>
</LinearLayout>
Infelizmente não tenho muito conhecimento sobre a plataforma de desenvolvimento da Apple e sobre o sistema operacional iOS. Porém, obtive algumas informações com alguns desenvolvedores profissionais.
Todo projeto para iOS tem um arquivo de configuração, na verdade não é exatamente um XML, mas sim um arquivo nomeado como <nome_do_projeto>-info.plist, sendo que, plist é um XML padrão da Apple.
Só para constar, no desenvolvimento para o sistema operacional Bada, da Samsung, também temos um arquivo de configurações XML.
Só para constar novamente, os widgets, que estão presentes em diversas plataformas, também contam com um arquivo central, com extensão XML.
Bem, depois de toda esta apresentação teórica acredito que convenci o leitor de que estou certo sobre a afirmação que fiz no início do texto.
Comentários são sempre bem vindos!
Graduado em Ciência da Computação, pós-graduando em Web e analista de sistemas mobile na MobMidia | Grupo Pontomobi, Ricardo Ogliari é autor de dezenas de artigos que foram publicados em anais de congressos nacionais e internacionais, sites especializados e revistas. Palestrante em eventos nacionais e internacionais, como JustJava, Java Day, GeoLivre, ExpoGPS, FISL e FITE, sempre aborda temas relacionados a computação móvel. Neste espaço, discutirá sobre tecnologias, plataformas, mercado, ideias e linguagens presentes no mundo da mobilidade.
Conscientização e Dicas de Segurança da Informação
Anderson Santana
Artigo: Proteção de Dados
Dirty & Ugly Web
Paulino Michelazzo
Caiu na rede
Internet Upgrade
Victor Maeda
Ataques DDos aos bancos brasileiros.
Inovação, tecnologia e futurismo
Bráulio Medina
SIRI, MAJEL, EVI - Colhemos os frutos da semântica e inteligência artificial
Mundo RIA
Zaedy Sayão
Construindo Mobile Apps com Sencha Touch e Phonegap - Parte 1