Artigo do tipo Tutorial
Recursos especiais neste artigo:
Contém nota Quickupdate,
Artigo no estilo Curso Online.
RIA com Delphi
A Internet já é parte da vida de muitas pessoas. Está cada vez mais presente nos dispositivos móveis e é claro, nos computadores das empresas. Evidentemente este ambiente é muito promissor e merece ser acompanhado de perto. Quando o assunto é o desenvolvimento de aplicações para a Web, de início pode haver certa preocupação, pois, diversas tecnologias e fatores são necessários para que este objetivo seja atingido. Contudo, vale à pena enfatizar que não são aplicações apenas para Internet, mas que também podem ser utilizadas pelos usuários na rede interna da Empresa, através de navegadores. Visando minimizar os esforços e estender as possibilidades quando o assunto é RIA, surgiram diversos Frameworks e ferramentas que auxiliaram este processo. O uniGUI e o Raudus são exemplos disto. Sendo componentes para o Delphi, possibilitam o desenvolvimento RIA de uma forma extremamente simples e rápida, onde nem existe a obrigatoriedade da equipe envolvida dominar HTML, uma das principais linguagens quando o assunto é o desenvolvimento para a Web. Este primeiro artigo aborda o conceito básico para o contexto RIA, apresentado as características e os principais recursos envolvidos em uma aplicação Web, demonstrando posteriormente, o componente uniGUI, um excelente Framework para elaborar estas aplicações com o Delphi, através de um simples exemplo que emprega uma aplicação autônoma.


Em que situação o tema é útil
Este tipo de Framework possibilita a criação de aplicações para a Internet ou uma rede interna (Intranet) mesmo sem domínio dos recursos envolvidos, como é o caso de linguagens amplamente utilizadas para este tipo de desenvolvimento como é o caso do PHP, HTML e Javascript, utilizando excelentes Frameworks e componentes da atualidade que simplificam todo o trabalho, aproveitando os diversos recursos do Delphi XE 2 e podendo empregar todo o conhecimento já adquirido através do RAD.

A Web é um ambiente que cada vez mais se faz presente no cotidiano das pessoas. Atualmente, é difícil imaginar um mundo sem a Internet, afinal ela se tornou a base para muitas profissões e o mecanismo chave para possibilitar a transferência de informações de uma forma praticamente instantânea entre as organizações. Diante deste cenário, deixar de desenvolver aplicações para a Web significa não explorar uma plataforma potencialmente lucrativa e extremamente importante. Entretanto, vale à pena lembrar que uma aplicação dentro deste contexto não se destina apenas a Internet, mas pode ser utilizada da mesma forma em uma rede interna da empresa, assim como os tradicionais Softwares Desktop são, trazendo muitos benefícios de uma forma geral. Além do mais, o protocolo padrão HTTP (HyperText Transfer Protocol), um dos principais da Internet, é uma das bases que possibilitam a criação de aplicações heterogêneas, rompendo a barreira de incompatibilidades imposta pelos diversos Sistemas Operacionais, onde uma aplicação cliente que é baseada neste padrão, operando através de um navegador, pode rodar satisfatoriamente no ambiente Windows, Linux, Android, e assim por diante. Uma aplicação Web normalmente é baseada em uma arquitetura multicamadas, composta por tecnologias server-side e client-side, trazendo muitas vantagens, como é o caso da otimização de futuras atualizações e manutenções do Software. No server-side, além do Sistema Operacional, deve existir o servidor HTTP, cuja finalidade é oferecer a base para a utilização e gerenciamento de todos os recursos envolvidos que são acessados e consumidos, possibilitando as requisições e respostas, onde tal servidor pode ser um IIS (Internet Information Services), um Apache, etc. Além do servidor HTTP, também deve existir um recurso para processar e tratar tais solicitações e retornos, uma linguagem de programação server-side, como é o caso do PHP, ASP, Java (JSP), dentre outras, normalmente interligadas a um ou mais sistemas de gerenciamento de banco de dados (SGBDs). O servidor também pode contar com políticas de segurança, como é o caso de um Firewall, um recurso implementado através de Software ou Hardware para bloquear acessos indevidos a áreas especificas, liberando apenas as funcionalidades que podem ser utilizadas publicamente, podendo ainda efetuar controles mais rigorosos a níveis de usuário e máquina, por exemplo. Do lado cliente, basta a existência de um navegador (Browser) para a exibição da página HTML (HyperText Markup Language) que é gerada pelos recursos do servidor de aplicação, em outras palavras, a interface gráfica da aplicação Web para a interação com os usuários. Aí está um grande diferencial, apenas a necessidade de um Browser, facilitando muito o trabalho, pois, não há a necessidade de provedores de acesso ao banco, instalações de Softwares adicionais, dentre outros recursos que podem ser requeridos em aplicações Desktop tradicionais e geram tarefas extras. Para uma maior interatividade e desempenho no client-side, a linguagem Javascript também pode ser empregada, tratando as informações, objetos, eventos, requisições e respostas de uma forma mais eficiente, utilizando recursos como AJAX (Asynchronous Javascript and XML), JSON (Javascript Object Notation – ver nota do DevMan 1), dentre outros, permitindo, por exemplo, funcionalidades importantes como requisições assíncronas ao servidor, pré-validações e mascaramento de campos. Além do mais, existe uma diversidade de Frameworks e plug-ins para Javascript que aumentam consideravelmente a produtividade e interatividade, como é o caso da biblioteca jQuery, muito empregada em aplicações dentro deste contexto e sites. Outro recurso importante no client-side é a linguagem CSS (Cascading Style Sheets), cujo principal intuito é permitir a definição de estilos para a formatação de elementos presentes nas páginas HTML, mas que também possibilita o emprego de outros recursos, como é o caso de animações. A Figura 1 apresenta uma simples ilustração de uma estrutura que pode ser utilizada em uma aplicação Web.

Nota do DevMan 1
A notação JSON (JavaScript Object Notation) é o padrão adotado para a definição de objetos na linguagem client-side JavaScript, porém não está limitada apenas a esta linguagem, podendo a mesma ser empregada em diversas ferramentas de desenvolvimento, como é o caso do próprio Delphi, através da Unit DBXJSON. Tem sido muito utilizada atualmente para a transferência de informações e armazenamento de dados simples, pois, é mais leve e rápida que o XML, uma vez que é mais enxuta. Sendo assim, o JSON também pode ser empregado em conjunto com AJAX para obter um melhor desempenho nas requisições assíncronas.

Figura 1. Exemplo de estrutura de uma aplicação Web

Sendo assim, uma aplicação Web é resultante da utilização de diversas tecnologias empregadas em conjunto, podendo se tornar uma tarefa desafiadora para a equipe de desenvolvimento, além de consumir um tempo considerável.

Em meio às aplicações Web, surgiu o termo RIA (Rich Internet Application – Aplicações Ricas para a Internet). Apresentado primeiramente pela Macromedia, hoje Adobe, RIA é utilizado para descrever uma aplicação para a Internet que proporciona uma experiência ainda mais rica para os usuários, aumentando assim sua satisfação, interação e produtividade, possuindo características semelhantes aos Softwares da plataforma Desktop, podendo ainda ser definida como uma evolução dos tradicionais sistemas para a Web. Uma aplicação RIA pode ser desenvolvida nas mais diversas tecnologias, Frameworks e linguagens de programação, sendo também mantida em um servidor de aplicação e projetada para ser compatível com todos ou grande parte dos navegadores (cross-browser) e empregar comunicação assíncrona com o servidor, que pode ser realizada através de AJAX ou outros recursos de acordo com a ferramenta adotada para o projeto.

Devido a suas características, tal como o fato da aplicação RIA executar em um servidor (server-side), a mesma também não necessita de instalação nas máquinas clientes, uma vez que os navegadores são utilizados, salvo que pode haver a necessidade de algum plug-in adicional para o Browser em poucos casos, que normalmente é fornecido pela própria aplicação.

Como pode ser observado, o desenvolvimento de uma aplicação Web pode ser uma tarefa complexa pelo fato de englobar diversas tecnologias, onde a manipulação de sessões e cookies, o gerenciamento de conteúdo, as atualizações dinâmicas e toda a interatividade com o usuário devem ser minuciosamente trabalhados. Diante deste fator, existem diversos frameworks que auxiliam e simplificam esta tarefa, minimizando os esforços e aumentando a produtividade.

...
Quer ler esse conteúdo completo? Tenha acesso completo