Este é um post disponível para assinantes MVPEste post também está disponível para assinantes da Mobile magazine DIGITAL ou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Artigo WebMobile 29 - Qt com Symbian
Este artigo irá nos mostrar como funciona o framework de desenvolvimento Qt. Este que é framework multiplataforma, mas dá preferência à plataforma de smartphones Symbian, o Sistema Operacional mais utilizado nos modelos da Nokia.
Mobile magazine 29
[Artigo já está disponível no Leitor Digital DevMedia®. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da Mobile magazine 29
[Artigo já está disponível no Leitor Digital DevMedia®. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da Mobile magazine 29
Qt com Symbian
Desenvolvendo em Qt para Symbian
Antigamente os desenvolvedores escreviam aplicações para rodar praticamente apenas em computadores, sejam eles Mainframes, Minicompuradores ou Microcomputadores, que são os populares PCs que mais usamos hoje.
Hoje o universo para o desenvolvedor é bem maior, além de computadores temos uma quantidade enorme de dispositivos menores, como: Telefones Celulares, Palms, Tablets e outros.
Com tantos dispositivos e tantos sistemas operacionais que rodam nestes dispositivos, é sensato que os desenvolvedores procurem por tecnologias que lhes permitam portar suas aplicações com pouco esforço entre as várias plataformas. E além de ganhar tempo, ganhar dinheiro se for o caso de aplicações comerciais.
Existem tecnologias que oferecem possibilidade de escrever aplicações que possam ser consideradas multiplataforma, entre elas podemos destacar além do Qt, o Java e o .NET.
O Java oferece o J2ME (Java 2 Micro Edtion que possui compatibilidade entre dispositos móveis, porém não é cem por cento compatível com JSE ou J2SE (Java 2 Standard Editon). Por exemplo, se escrevo um aplicativo em J2SE para rodar no meu PC, o mesmo código não vai rodar no meu smartphone sem que seja necessário fazer alguma alteração no mesmo.
É claro que dependendo da aplicação boa parte do código pode ser aproveitada, mas mesmo que seja possível aproveitar todas as classes, no mínimo terei que escrever um Midlet que é o entry point de uma aplicação em J2ME.
O mesmo ocorre para o recem-lançado sistema operacional Android, onde o Java é usado para desenvolver aplicações. Uma aplicação feita para Android (em Java) só roda em Android (já existem emuladores de J2ME para Android). Uma aplicação em J2ME que roda na maioria dos dispositivos móveis não vai rodar diretamente no Android, mesmo que boa parte do código possa ser portada. Do mesmo modo, uma aplicação feita em J2SE para rodar no PC não roda diretamente no Android.
O .NET oferece o CF ou Compact Framework (uma especie de J2ME do Java) para dispositivos móveis, onde a portabilidade entre plataformas também oferece restrições como no caso do Java. Talvez o CF permita mais compatibilidade do que o Java, oferecendo menos restrições de User Interface e de definição de projeto.
O Qt é um framework em C++ com binds em Java, Perl, Phyton e outras linguagens. Para projetos em C++ o Qt oferece uma portabilidade maior que a dos seus concorrentes, pois permite que um mesmo projeto, com interface gráfica ou não, possa ser compilado e executado, com pouca ou nenhuma modificação.
Claro que cem por cento de portabilidade praticamente não existe, mas um desenvolvedor com experiência pode ter um ótimo reaproveitamento na maioria dos casos.
Hoje o Qt pertence à Nokia, é software livre (licença LGPL) e funciona nos seguintes sistemas operacionais: Windows, Linux/X11 e Unix/X11 (veja nota do DevMan), Mac OS, Linux embarcado, Windows CE e Symbian. Além é claro do Maemo, que é o novo sistema operacional da Nokia baseado em Linux.
Outro ponto forte do Qt sempre foi a boa documentação. O Qt é um frameworkconsiderado de fácil aprendizado, oferece alguns recursos adicionais ao desenvolvedor C++, como por exemplo, um tipo interno de Garbage Collector. No Garbage Collector do qt, quando os objetos são destruídos, destroem também todos os seus descendentes. Assim, precisamos apenas destruir os objetos principais ou criá-los na área de Stack, como varáveis locais entre qualquer bloco de chaves {}.
Antes de ser comprado pela Nokia, o Qt já estava presente em telefones celulares baseados em Linux, principalmente no Japão, China e alguns modelos da Motorola.
Nota do DevMan
Smartphones são telefones celulares que possuem pelo menos dois desses seguintes requisitos: Um sistema operacional, como por exemplo o Windows Mobile, Symbian, Android entre outros. Outro requisito é que esses telefones celulares aceitam a instalação de aplicativos nativos para o sistema operacional.
Symbian é um sistema operacional para dispositivos embarcados, usado principalmente em telefones celulares, sendo eles smartphones ou não. Os principais modelos da Nokia usam Symbian, bem como alguns modelos de outros principais fabricantes. Em Maio de 2009, Symbian respondia por praticamente cinquenta por cento de todos os smartphones vendidos no mundo, para se ter uma idéa, este número já foi bem maior e agora temos vários novos sistemas operacionais concorrendo no mercado, e é normal que os números decaiam um pouco.
"
ATENÇÃO! A exibição deste artigo foi interrompida.
Este é um post disponível para assinantes MVP
Desenvolvendo em Qt para Symbian
Antigamente os desenvolvedores escreviam aplicações para rodar praticamente apenas em computadores, sejam eles Mainframes, Minicompuradores ou Microcomputadores, que são os populares PCs que mais usamos hoje.
Hoje o universo para o desenvolvedor é bem maior, além de computadores temos uma quantidade enorme de dispositivos menores, como: Telefones Celulares, Palms, Tablets e outros.
Com tantos dispositivos e tantos sistemas operacionais que rodam nestes dispositivos, é sensato que os desenvolvedores procurem por tecnologias que lhes permitam portar suas aplicações com pouco esforço entre as várias plataformas. E além de ganhar tempo, ganhar dinheiro se for o caso de aplicações comerciais.
Existem tecnologias que oferecem possibilidade de escrever aplicações que possam ser consideradas multiplataforma, entre elas podemos destacar além do Qt, o Java e o .NET.
O Java oferece o J2ME (Java 2 Micro Edtion que possui compatibilidade entre dispositos móveis, porém não é cem por cento compatível com JSE ou J2SE (Java 2 Standard Editon). Por exemplo, se escrevo um aplicativo em J2SE para rodar no meu PC, o mesmo código não vai rodar no meu smartphone sem que seja necessário fazer alguma alteração no mesmo.
É claro que dependendo da aplicação boa parte do código pode ser aproveitada, mas mesmo que seja possível aproveitar todas as classes, no mínimo terei que escrever um Midlet que é o entry point de uma aplicação em J2ME.
O mesmo ocorre para o recem-lançado sistema operacional Android, onde o Java é usado para desenvolver aplicações. Uma aplicação feita para Android (em Java) só roda em Android (já existem emuladores de J2ME para Android). Uma aplicação em J2ME que roda na maioria dos dispositivos móveis não vai rodar diretamente no Android, mesmo que boa parte do código possa ser portada. Do mesmo modo, uma aplicação feita em J2SE para rodar no PC não roda diretamente no Android.
O .NET oferece o CF ou Compact Framework (uma especie de J2ME do Java) para dispositivos móveis, onde a portabilidade entre plataformas também oferece restrições como no caso do Java. Talvez o CF permita mais compatibilidade do que o Java, oferecendo menos restrições de User Interface e de definição de projeto.
O Qt é um framework em C++ com binds em Java, Perl, Phyton e outras linguagens. Para projetos em C++ o Qt oferece uma portabilidade maior que a dos seus concorrentes, pois permite que um mesmo projeto, com interface gráfica ou não, possa ser compilado e executado, com pouca ou nenhuma modificação.
Claro que cem por cento de portabilidade praticamente não existe, mas um desenvolvedor com experiência pode ter um ótimo reaproveitamento na maioria dos casos.
Hoje o Qt pertence à Nokia, é software livre (licença LGPL) e funciona nos seguintes sistemas operacionais: Windows, Linux/X11 e Unix/X11 (veja nota do DevMan), Mac OS, Linux embarcado, Windows CE e Symbian. Além é claro do Maemo, que é o novo sistema operacional da Nokia baseado em Linux.
Outro ponto forte do Qt sempre foi a boa documentação. O Qt é um frameworkconsiderado de fácil aprendizado, oferece alguns recursos adicionais ao desenvolvedor C++, como por exemplo, um tipo interno de Garbage Collector. No Garbage Collector do qt, quando os objetos são destruídos, destroem também todos os seus descendentes. Assim, precisamos apenas destruir os objetos principais ou criá-los na área de Stack, como varáveis locais entre qualquer bloco de chaves {}.
Antes de ser comprado pela Nokia, o Qt já estava presente em telefones celulares baseados em Linux, principalmente no Japão, China e alguns modelos da Motorola.
Nota do DevMan
Smartphones são telefones celulares que possuem pelo menos dois desses seguintes requisitos: Um sistema operacional, como por exemplo o Windows Mobile, Symbian, Android entre outros. Outro requisito é que esses telefones celulares aceitam a instalação de aplicativos nativos para o sistema operacional.
Symbian é um sistema operacional para dispositivos embarcados, usado principalmente em telefones celulares, sendo eles smartphones ou não. Os principais modelos da Nokia usam Symbian, bem como alguns modelos de outros principais fabricantes. Em Maio de 2009, Symbian respondia por praticamente cinquenta por cento de todos os smartphones vendidos no mundo, para se ter uma idéa, este número já foi bem maior e agora temos vários novos sistemas operacionais concorrendo no mercado, e é normal que os números decaiam um pouco.
"
ATENÇÃO! A exibição deste artigo foi interrompida.
Este é um post disponível para assinantes MVPEste post também está disponível para assinantes da Mobile magazine DIGITAL ou para quem possui Créditos DevMedia. Clique aqui para saber mais!

Você está em:
canal mobile
Carlos Jose Mazieri
Space do autor
É Analista de Sistemas Master e trabalha com desenvolvimento de software há mais de 20 anos. É formado em Processamento de Dados e possui especialização em Automação e Controle pela Unicamp. Atualmente trabalha com projetos multiplataforma para smartphones no Instituto Venturus – Centro de Inovação ...
Space do autor



2
0
