Como definir a tecnologia para o desenvolvimento da interface web
Aprenda a escolher as opções mais adequadas para construir a interface com o usuário de suas aplicações Java EE.
Artigos Java Como definir a tecnologia para o desenvolvimento da interface web
Por que eu devo ler este artigo:Neste artigo serão abordados os conceitos e recursos oferecidos pelas tecnologias disponíveis para o desenvolvimento de interfaces web para aplicações na plataforma Java EE. Mostraremos como identificar os requisitos essenciais que definem os tipos de interfaces com o usuário e como escolher a melhor opção de mercado para cada um.
O objetivo não é demonstrar ou comparar as alternativas oferecidas, mas expor como definir planos estratégicos que podem ser adotados para fazer, ou indicar, uma boa escolha.
Com base nisso o leitor terá condições de avaliar o seu projeto e tomar a melhor decisão sobre a tecnologia ou conjunto de tecnologias que serão utilizadas para construção da interface web.
O desenvolvimento da interface gráfica de uma aplicação, devido à sua importância, é um assunto estudado em várias áreas da Ciência da Computação.
A Interação Humano-Computador (IHC) ou Interface Homem-Máquina (IHM) é uma matéria obrigatória em alguns cursos de graduação ou especialização e trata exatamente deste assunto.
O conceito de IHC nos mostra que são vários os requisitos necessários para a criação, bem definida, da interface entre a aplicação e o usuário como, por exemplo: usabilidade, simplicidade, ergonomia e acessibilidade.
Além disso, percebemos que conforme a tecnologia avança, esses requisitos podem aumentar ou se modificar.
Nos primórdios da computação, a interface com o usuário era determinada pela própria arquitetura da máquina (ex: cartões perfurados e fitas magnéticas) e pouco depois pelo sistema operacional (ex: linha de comando e cartuchos).
Quem teve o "privilégio" de ver funcionando um computador cuja interface com o usuário era uma leitora de cartão perfurado, poderá lembrar de algo nada intuitivo ou até mesmo compreensivo pela maioria das pessoas.
Neste início da era computacional, o modo e a forma da interface da máquina com o homem era com o intuito de atender às exigências e às necessidades do computador, sendo que o ser humano deveria se adaptar a ela.
Com a evolução da informática, este conceito se inverteu e foram os sistemas informatizados que passaram a tentar atender às necessidades dos usuários. Assim, os próprios sistemas operacionais mudaram suas interfaces para os modos visuais, e em vez de linhas de comandos ou menus, passaram a existir ícones e janelas, que são interfaces muito mais intuitivas para maioria dos usuários.
Nota: O conceito de computação ubíqua diz que uma aplicação pode ser executada em qualquer tipo de equipamento informatizado e, portanto, não é mais possível prever com exatidão que tipo de dispositivo acessará nossos sistemas e, em muitos casos, muito menos o perfil do usuário.
Quando tratamos do desenvolvimento de aplicações Java para o ambiente web, começamos com os famosos Applets, que são praticamente uma versão do modelo Desktop (Swing) executando através do navegador. Estes surgiram como a primeira alternativa para este tipo de desenvolvimento e estão por aí até hoje.
O uso principal dos Applets, atualmente, é para possibilitar o acesso a dispositivos conectados no equipamento do usuário, como leitoras de cartões criptográficos, algo que não é possível fazendo uso apenas de recursos oferecidos pelo navegador por questões de segurança.
No atual estado da tecnologia Java, chegamos a uma integração quase simbiótica com os navegadores, o que é possibilitado através de componentes e frameworks que implementam as especificações da plataforma Java Enterprise Edition.
Para atender essa relação, entre a tecnologia Java e os navegadores, existem no mercado diversas implementações de bibliotecas e componentes para a camada de interface de aplicações Java EE e que abordaremos neste artigo.
Quando seguimos o conceito de arquitetura dividida em camadas, mais especificamente quando optamos pelo padrão MVC (Modelo-Visão-Controle), em uma aplicação Java EE, na camada de visão é onde encontraremos a maior variedade de opções de tecnologias que podem ser utilizadas.
Inclusive, algumas disponíveis no mercado não são exclusivas para a plataforma Java, como é o caso das bibliotecas JavaScript. Com base nisso, o principal objetivo deste artigo será analisar os principais requisitos de um projeto para se definir uma estratégia de escolha de tecnologia que visa minimizar o impacto no esforço do seu desenvolvimento.
Quando comparamos a forma como era feita a interação Humano-Computador nos primórdios da computação com a que é feita hoje, podemos perceber uma grande evolução nas características destas interfaces. No princípio, o foco da relação (homem-máquina) era nas características do equipamento e atualmente o recomendado é focar no perfil do usuário. No início da era computacional, como já mencionado, o homem era obrigado a se adaptar à máquina, e com isso, para utilizar os computadores, os usuários precisavam ter conhecimentos técnicos ou passar por treinamentos para entender e saber usar esse tipo de interface.
Nos últimos anos, é perceptível um grande aumento do número de usuários de sistemas de informática, principalmente através do ambiente disponível na internet, que provê uma série de facilidades de acesso que antes não eram possíveis no modelo cliente-servidor ou puramente desktop.
Há também uma mudança no perfil daqueles que já eram usuários de sistemas mesmo antes do advento da internet, e ao mesmo tempo uma maior diversificação no perfil dos novos usuários.
Apesar dessa mudança clara no perfil dos usuários, é perceptível que as tecnologias e a forma de desenvolvimento de interface dos sistemas parecem ainda estar voltadas aos usuários especializados, perfil ...