Desenvolvendo para Android - Revista Clube Delphi 141
De maneira geral este mini-curso abordará a integração entre uma aplicação DataSnap (servidor) desenvolvida no Dephi XE 2 com uma aplicação cliente desenvolvida para a plataforma Android através do RadPHP
De maneira geral este mini-curso abordará a integração entre uma aplicação DataSnap (servidor) desenvolvida no Dephi XE 2 com uma aplicação cliente desenvolvida para a plataforma Android através do RadPHP, uma ferramenta do RAD Studio XE 2 para o desenvolvimento de aplicações através da linguagem PHP. Esta primeira parte traz uma introdução a esta poderosa ferramenta de desenvolvimento, seus principais recursos e suas grandes possibilidades ao que concerne a elaboração de aplicações que podem ser exportadas para diversas plataformas, bem como apresenta um simples exemplo prático para o RadPHP.
Em que situação o tema é útil
Possibilitar a integração entre uma aplicação desenvolvida para a plataforma móvel com um servidor DataSnap Delphi para o compartilhamento de informações, bem como a familiarização com a ferramenta RadPHP.
Desenvolvendo para Android
O sistema operacional Android, assim como a plataforma móvel em geral, vem se tornando mais popular e presente na vida das pessoas, oferecendo diversos recursos como multimídia, aplicações, jogos, etc. Diante destes fatores, este sistema é um ambiente potencial para o desenvolvimento e integração de softwares comerciais. Sendo assim, uma ótima ferramenta para ser utilizada no projeto de aplicações para esta plataforma é o RadPHP XE 2. Através dele, é possível gerar e integrar aplicações para diversas plataformas móveis com base no PHP, uma linguagem de programação orientada a objetos. Este artigo tem o intuito de apresentar a ferramenta RadPHP, suas características e principais recursos, demonstrando a facilidade e a agilidade que é obtida no desenvolvimento de projetos para a plataforma móvel, bem como um simples exemplo de como utilizar esta ferramenta.
O atual cenário de desenvolvimento de software tem evoluído muito e está bastante competitivo, uma vez que existem diversos sistemas de alta qualidade direcionados a vários seguimentos do mercado, elaborados por uma gama de Software Houses competentes. Diante deste fator, os desenvolvedores precisam oferecer a seus clientes aplicações cada vez mais ricas e inovadoras, que forneçam um diferencial com relação a seus competidores e os ambientes que apresentam grande potencial são as áreas Web e móvel. Há muito tempo a plataforma Web é um ambiente extremamente importante no dia-a-dia de diversos softwares e consequentemente seus usuários, uma vez que permite a implementação de diversos recursos como WebServices, as aplicações destinadas a receber, processar e responder requisições de forma automatizada através de uma rede como a Internet. Quanto ao ambiente móvel, é possível notar a grande força do mesmo observando suas diversas tecnologias suportadas, evidenciando também a constante evolução e tendência de mercado. O recurso de touch-screen presente nos Smartphones, Tablets, etc, se consolidou e se popularizou entre os usuários, tornando-se uma importante peça no desenvolvimento de aplicações cada vez mais interativas. As pessoas podem utilizar seus dispositivos móveis para navegar na Internet, ouvir músicas, trocar informações, jogar, efetuar ligações, etc, o que os tornam mini-computadores prontos para efetuar uma ação a qualquer momento e de forma remota, diversos pontos que viabilizam o investimento neste ambiente. Diante deste contexto, houve grande popularização dos sistemas operacionais móveis Android, iOS, Windows Mobile, dentre outros. O Android é uma importante plataforma da atualidade que merece destaque por ser aberta, flexível e conter uma diversidade de aplicações, evidenciando que a mesma está presente em milhões de dispositivos ao redor do mundo. Sendo assim, nos dias de hoje existem diversas ferramentas e frameworks que permitem que os desenvolvedores possam elaborar aplicações nativas para o mesmo.
Além do Delphi, a suíte de ferramentas RAD Studio XE 2 também é composta por outras aplicações importantes que abrem novos horizontes para o desenvolvimento de sistemas mais complexos e uma que merece destaque é o RadPHP. Baseado na linguagem PHP, muito robusta e orientada a objetos, esta ferramenta permite que os desenvolvedores já acostumados com o ambiente e os diversos recursos de alta produtividade oferecidos pelo Delphi, tal como o “arrastar e soltar”, utilizem ela para desenvolver aplicações completas para a plataforma Web ou móvel de forma fácil, organizada e rápida.
Uma das principais vantagens ao utilizar o RadPHP é a possibilidade de exportar a aplicação de diretamente para diversas plataformas móveis presentes no mercado, utilizando o mesmo código fonte. Em um primeiro momento, as aplicações podem ser testadas diretamente em um navegador de Internet como o Chrome, IE, Firefox, etc, o que aumenta a agilidade na fase de testes, não necessitando diretamente de um emulador para a plataforma alvo, uma vez que o mesmo tende a ser mais lento.
Uma introdução à linguagem PHP e suas características
A linguagem de programação server-side PHP (PHP: Hypertext Preprocessor) teve sua concepção na década de 90, sendo uma plataforma amplamente utilizada no ambiente de desenvolvimento Web em conjunto com a linguagem HTML (HyperText Markup Language) por ser rápida, multi-plataforma, robusta e open source. Também recebe a denominação de linguagem de script e sua sintaxe é muito semelhante a das linguagens Java e C, sendo orientada a objetos. O PHP tem por meta possibilitar a geração de páginas HTML de uma forma mais rápida e inteligente, podendo utilizar uma variedade de bancos de dados e outros recursos, mas com o passar do tempo se tornou uma linguagem completa que pode ser aplicada para diversos fins, inclusive o desenvolvimento de aplicações desktop. Por ser executada no servidor (server-side), o usuário da página não tem acesso ao código fonte do mesmo, mas somente ao script HTML que foi gerado por ele. Uma característica importante desta linguagem é que suas variáveis recebem o prefixo $, levando em consideração que são case-sensitive (distinção entre maiúsculas e minúsculas). Apesar de ser uma boa prática, a inicialização de variáveis não é uma obrigatoriedade nesta linguagem. Outro ponto é com relação às variáveis pré-definidas, onde muitas são superglobais (elementos disponíveis para todos os escopos) e permitem a obtenção e manipulação de diversos dados. Quanto aos tipos, o PHP suporta boolean, integer, float, string, array, object, resource e NULL. Com relação a palavras reservadas, o PHP possui algumas características particulares. A Tabela 1 demonstra algumas das principais palavras reservadas e variáveis pré-definidas do PHP.
Palavras e variáveis pré-definidas |
Descrição |
<?php |
Utilizado para iniciar o desenvolvimento dos códigos em PHP. |
?> |
Utilizado para indicar o final do código PHP. |
$this |
Utilizado para se referir ao objeto atual. |
$GLOBALS |
Variáveis presentes no escopo global. |
$_SERVER |
Utilizada para a obtenção de informações do servidor, uma vez que esta linguagem é server-side. |
$_GET |
Utilizado para a manipulação de valores presentes nas variáveis do método HTTP GET, muito utilizado para a transferência de informações entre páginas. |
$_POST |
Utilizado para a manipulação das variáveis submetidas através do método HTTP POST, também utilizado para a transferência de dados entre uma página e outra. |
$_FILES |
Utilizada para a manipulação de arquivos enviados. |
$_SESSION |
Utilizada para a manipulação de variáveis de seção. Tais variáveis também permitem a troca de informações entre as páginas da aplicação. |
$_COOKIES |
Utilizada para a manipulação dos Cookies, as informações que ficam gravadas em um dispositivo de armazenamento. |
Tabela 1. Principais palavras reservadas e variáveis pré-definidas do PHP
Outro fator de destaque que também deve ser considerado é com relação às instruções e estruturas de controle. O PHP possui diversas estruturas condicionais, de laço, entre outras, tais como if, else, elseif, while, for, foreach, switch, goto, etc, que fornecem uma base para a elaboração dos blocos de códigos. Evidentemente, diversos operadores podem ser aplicados as estruturas de controle. A Tabela 2 apresenta os principais operadores utilizados na linguagem PHP.
Operadores |
Descrição |
and, && |
Operador lógico “E”, verdadeiro se ambas as expressões são verdadeiras |
or, | | |
Operador lógico “Ou”, verdadeiro se uma das expressões é verdadeira. |
xor |
Operador lógico “Ou exclusivo”, verdadeiro se uma das expressões é verdadeira, mas não ambas. |
! |
Operador lógico de negação (not), verdadeiro se a expressão não é verdadeira. |
+, -, *, /, % |
Aritméticos, adição, subtração, multiplicação, divisão e módulo. |
++, -- |
Operadores para incremento e decremento de valores. |
=, +=, -= |
Atribuição |
== |
Comparação, igualdade. |
!=, <> |
Comparação, diferente. |
<, <= |
Comparação, menor que e menor ou igual. |
>, >= |
Comparação, maior que e maior ou igual. |
. |
Concatenação. |
Tabela 2. Principais operadores da linguagem PHP
A ferramenta RadPHP
A ferramenta RadPHP possibilita unir todos os recursos e vantagens da linguagem PHP a um editor visual de alta produtividade, provendo uma sincronia entre o design gráfico da aplicação ou página e o código fonte, possuindo também uma versão em Português, sem contar que permite uma integração facilitada com algumas aplicações desenvolvidas no ambiente Delphi. Esta ferramenta também engloba as tecnologias HTML5, CSS3, JavaScript, jQuery, entre outros. O HTML5 é a quinta versão da linguagem HTML, a linguagem padrão para a definição e exibição das páginas de Internet, na qual recebeu diversos recursos como a adição de novas Tags nesta versão. O CSS3 (Cascading Style Sheets) também é uma tecnologia importante da Web que evolui constantemente e tem por objetivo principal a definição de padrões para diversos estilos e efeitos para as páginas HTML e seus elementos. O JavaScript é outra tecnologia importante para o desenvolvimento de páginas HTML, sendo uma linguagem baseada em scripts e muito semelhante ao Java e o C++. Ao contrário do PHP, o JavaScript é client-side (executado na aplicação cliente), o que implica que seu código fonte pode ser visualizado pelo o usuário. Através dele, é possível adicionar diversos recursos como pré-validações de campos, animações, efeitos, etc. Já a jQuery é um poderoso framework baseado na linguagem JavaScript que provê diversas funcionalidades para as páginas HTML, como animações, transições e manipulação de eventos, entre outros, de uma forma rápida e simplificada, uma vez que possui diversos métodos prontos.
O ambiente do RadPHP se assemelha muito ao Delphi, contendo a visualização da Estrutura, o Inspetor de Objetos, a área de desenvolvimento, o Administrador de Projetos e a Paleta de Ferramentas. A Figura 1 apresenta o ambiente visual de desenvolvimento do RadPHP XE 2.
Figura 1. Ambiente de desenvolvimento do RadPHP XE 2
A janela do Inspetor de Objetos, além de trazer as abas Propriedades e Eventos que pertencem aos componentes, também presentes no Delphi XE 2, conta ainda com uma aba denominada JavaScript. Através desta aba o desenvolvedor pode inserir códigos em JavaScript para que sejam executados de acordo com o evento em questão. Em casos onde um mesmo evento é preenchido para ambas as abas (Eventos e JavaScript), como o OnClick por exemplo, são executados os códigos de cada evento, porém vale ressaltar que o evento OnClick do JavaScript é ideal para efetuar validações. A Figura 2 apresenta o Inspetor de Objetos com os eventos da aba JavaScript.
Figura 2. Inspetor de Objetos com os eventos da aba JavaScript
Outro ponto do ambiente de desenvolvimento da ferramenta que merece destaque é a janela Paleta de ferramentas. Através dela, é possível inserir diversos componentes visuais e não visuais para o projeto PHP, e duas paletas presentes nesta janela merecem um maior destaque, sendo elas a Mobile e Mobile Hardware. Na paleta Mobile se encontram os componentes visuais destinados à plataforma móvel, que por sua vez apresentam um visual mais refinado e familiarizado para o ambiente. Já a paleta Mobile Hardware traz consigo diversos componentes voltados para a manipulação dos vários recursos da plataforma móvel, tais como a câmera, o acelerômetro, os arquivos, entre outros. A Figura 3 apresenta a janela “Paleta de ferramentas” padrão do RadPHP, que contém diversos componentes, destacando a paleta Mobile Hardware.
Figura 3. Janela Paleta de ferramentas evidenciando a paleta Mobile Hardware
Diante de tantos recursos, a ferramenta RadPHP permite a elaboração de diversos projetos e arquivos. A Figura 4 demonstra a janela “Novos Itens”, utilizada para a criação de um novo projeto ou adição de itens ao mesmo.
Figura 4. Janela “Novos Itens” para a criação de um projeto no RadPHP
A opção “Aplicação Facebook” é um novo recurso que permite o desenvolvimento de uma aplicação voltada para o site de relacionamentos Facebook. Este tipo de projeto é baseado em uma aplicação Web comum, porém incorpora recursos para a comunicação com tal site, permitindo assim a obtenção de dados como conteúdo e informações dos usuários, devendo tal aplicação ser futuramente hospedada em um servidor.
Ao utilizar a opção “Aplicação RPCL”, o desenvolvedor tem seu foco na elaboração de aplicações baseadas na arquitetura RPCL (RadPHP Component Library - Biblioteca de Componentes do RadPHP). Ela provê um grupo de componentes visuais e não visuais com seus devidos eventos que podem ser utilizados para a rápida elaboração de aplicações baseadas em PHP. Através deste recurso é possível criar aplicações com uma interface gráfica contendo conexão com bancos de dados, aplicações Web, aplicativos de console, etc.
Como seu próprio nome sugere, a opção “SOAP Server Application” permite a elaboração de uma aplicação Web baseada no protocolo SOAP (Simple Object Access Protocol), que por sua vez é um padrão adotado para a troca de informações entre o WebService e a aplicação cliente.
De fato, uma das opções que mais chama a atenção no RadPHP é a “Mobile Application”, uma vez que esta é direcionada a elaboração de aplicações para a plataforma móvel. Com um mesmo projeto, por exemplo, é possível exportar a aplicação para o sistema Android, presente em diversos Smartphones e Tablets, ou iOS, presente nos iPhones, iPads e iPods, utilizando os recursos da plataforma PhoneGap. Esta plataforma por sua vez permite a criação de aplicações diretamente para diversos sistemas operacionais móveis através das tecnologias utilizadas na Web, tais como HTML5, CSS3 e JavaScript, tendo também a vantagem de ser um projeto de código fonte livre em constante evolução.
Diante destes diversos recursos, uma vez que a aplicação esteja concluída e testada, basta utilizar o assistente de exportação para a plataforma móvel, presente no menu Ferramentas>Wizard for PhoneGap, para efetuar o processo de geração da aplicação nativa para o sistema operacional alvo. A Figura 5 apresenta a janela do assistente de exportação, “Wizard for PhoneGap”.
Figura 5. Janela do assistente de exportação “Wizard for PhoneGap”
Nota do DevManO PhoneGap é um framework free que permite o desenvolvimento nativo e multiplataforma para dispositivos móveis utilizando como linguagem de programação o HTML 5 e javascript. Ele disponibiliza através do javascript acesso nativo aos recursos de hardware dos dispositivos, sendo compatível com vários modelos como Windows Phone, Android, IOS (IPhone, IPad), Blackbery, Symbian e outros mais. Basicamente seu funcionamento se dá na seguinte forma: você constrói seu aplicativo, sendo a interface em HTML 5 e a lógica toda em javascript. Como isso tudo é web, você pode testar em um browser qualquer. Estando tudo certo, você realiza o download do PhoneGap para a plataforma que você precisa. Por exemplo Android. Então esse framework é instalado dentro do IDE de desenvolvimento para Android (Eclipse) e nele você cria um novo projeto PhoneGap. Nesse novo projeto você inclui suas páginas HTML5, adiciona seus scripts e compila o aplicativo que já estará pronto para ser testado no emulador e posteriormente ser distribuído. O segredo todo está no fato de que o PhoneGap encapsula o navegador web de cada plataforma, de tal forma que o usuário final nem percebe que na verdade está executando uma página local."
[...] continue lendo...Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo