IT Mídia
Notícias em destaque

Nada de Android ou iOS, o grande nome é o XML

9 de setembro de 2011 14:21

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!

  • Adolfo Pereira Damaceno

    Muito Bom parabéns! Muito foi escrito, porém o foco não foi colocado! 
    Qual a produtividade de desenvolvimento que se tem com o xml, ios, android, wp7 entre outros? Qual dessas plataformas, linguagens ou tecnologias atendem o mercado corporativo e como aderem ou agregam competitividade aos negócios?

    • Ricardo Ogliari

      O foco do artigo não é comparar produtividade. O foco do artigo é mostrar a importância da linguagem de marcação XML dentro das principais plataformas mobile atuais.

Sobre Ricardo Ogliari

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.

Entre em contato com Ricardo Ogliari

Parceiros

Portais: IT Mídia | IT Web | Saúde Web

Publicações: InformationWeek Brasil | CRN Brasil | FH

Fóruns: IT Forum | IT Forum + | IT Business Forum | Saúde Business Forum