Por muito tempo, as aplicações desktop dominaram o mercado de software e atenderam perfeitamente a maior parte das necessidades, desde simples formulários de cadastro e relatórios, até sistemas complexos de automação e módulos de “frente de loja”/PDV. No entanto, com o passar do tempo e o avanço da internet, surgiu para muitos usuários a necessidade de ter seus sistemas disponíveis online, de forma que pudessem acessá-los de diferentes locais e de forma independente de plataforma.
No Delphi, o desenvolvimento de aplicações para Windows foi um dos fatores que levaram ao sucesso dessa ferramenta, no entanto, quando nos deparamos com a necessidade de criar aplicações web, muitos programadores optam por outras linguagens, como Java, PHP e C#. Em boa parte dos casos, essa escolha ocorre pelo não conhecimento das opções disponíveis no Delphi para atender a essa demanda, entre as quais destaca-se o IntraWeb, que será foco deste artigo.
O IntraWeb, que atualmente encontra-se na versão XIV, é um framework mantido pela Atozed Software e distribuído juntamente ao Delphi pela Embarcadero, com o objetivo de permitir e simplificar o desenvolvimento de aplicações web. Com ele, é possível desenvolver sistemas completos para a web, integrando frameworks e bibliotecas comuns, como Bootstrap, para melhorar a interface gráfica das aplicações e torná-las totalmente adequadas a esse ambiente.
Ao desenvolver um projeto com esse framework, utiliza-se apenas componentes visuais das paletas IntraWeb, devido ao fato de eles serem renderizados como HTML. Esses componentes estão dispostos em quatro paletas:
- IntraWeb Standard: Semelhante à paleta Standard da VCL (Visual Component Library), nela estão localizados os componentes mais simples, como labels, buttons, comboboxes, grids, checkboxes, menus, além de componentes específicos do ambiente web, como links, applets, flash, layers, etc.;
- IntraWeb Data: Semelhante à paleta Data Controls da VCL, nessa paleta estão os componentes visuais para manipulação da base de dados, como DBGrid, DBLabel, DBEdit e DBNavigator, que, assim como os da VCL, funcionam ligados a um dataset;
- IntraWeb Control: Aqui estão os componentes utilizados no controle da página, como layouts (templates) e produtores de páginas;
- IntraWeb Authentication: Nessa paleta estão disponíveis componentes para gerenciamento da política de segurança.
Neste artigo vamos desenvolver um projeto completo com IntraWeb, a fim de explorar seus principais conceitos e componentes.
Modelagem do projeto
O projeto que desenvolveremos aqui será uma aplicação que permitirá que os clientes efetuem pedidos online, funcionando como um módulo online de um ERP (Enterprise Resource Planning). Para isso, teremos as telas de login; produtos disponíveis, na qual o cliente poderá adicionar ao carrinho os produtos desejados; lista dos itens no carrinho; tela de gerenciamento dos endereços do cliente logado; e uma página para confirmar a forma de pagamento e endereço de entrega desejado. O projeto será baseado no modelo de banco de dados mostrado na Figura 1, que, para este artigo, foi implementado em um banco de dados MySQL chamado de intrawebapp.
Figura 1. Modelo Entidade Relacionamento do banco de dados
Esse módulo será de uso exclusivo do cliente, portanto não contará com o cadastro de clientes ou produtos, apenas será responsável pelo login e venda dos itens. Assumimos então que os demais módulos do ERP são responsáveis por essas e outras funcionalidades comuns nesse tipo de sistema.
Criando o projeto
Para criar uma aplicação IntraWeb, vá ao menu File > New > Other, e na aba IntraWeb (presente na pasta Delphi Projects) selecione IntraWeb
Application Wizard. No wizard selecione a opção Stand Alone Application, digite o nome do seu projeto (para este artigo usaremos “AppIntraWeb”) e, em Project
...
Desbloqueie toda a DevMedia