Anhanguera Educacional S.A. Correspondência/Contato Alameda Maria Tereza, 2000 Valinhos, SP - CEP 13278-181 [email protected] [email protected] Coordenação Instituto de Pesquisas Aplicadas e Desenvolvimento Educacional - IPADE
Trabalho realizado com o incentivo e fomento da Anhanguera Educacional S.A.
Danieli A. de Oliveira Camargo
Professor Orientador: Ms. Thiago Salhab Alves
Curso: Ciência da Computação
FAC. ANHANGUERA DE SANTA BÁRBARA
Participou do Evento Interno de Iniciação Científica.
ESTUDO DAS TÉCNICAS DE DESENVOLVIMENTO WEB E VALIDAÇÃO DESTE ESTUDO COM UM PORTAL PARA RECICLADORES E PRODUTORES DE RECICLADOS
ANUÁRIO DA PRODUÇÃO DE INICIAÇÃO CIENTÍFICA DISCENTE
Vol. XII, Nº. 14, Ano 2009
RESUMO
Este artigo visa apresentar o estudo de algumas técnicas de desenvolvimento para aplicações web disponíveis. São apresentadas suas características, alguns trechos de códigos, aspectos positivos e negativos (custo, produtividade, segurança, acessibilidade). O objetivo não é definir qual é a melhor ou pior linguagem, mas sim, definir, com maior objetividade, qual a linguagem de programação para a web é mais favorável ao desenvolvimento de determinado site ou portal, levando em consideração a sua finalidade, extraindo o máximo da linguagem para corresponder às expectativas propostas, proporcionando maior qualidade final do produto, melhor desempenho e melhor ambiente para o desenvolvedor.
Palavras-Chave: programação web; linguagens de programação; técnicas de programação.
425 Publicação: 10 de maio de 2010
ANUIC_N14_miolo.pdf 425 7/6/2010 18:17:07
426 Estudo das técnicas de desenvolvimento web e validação deste estudo com um portal para recicladores e produtores de reciclados
1. INTRODUÇÃO
Com o avanço da utilização da Internet, aumentou de maneira significativa o
desenvolvimento de aplicações WEB devido à portabilidade, acessibilidade e facilidade na
utilização e implantação. Com isso, diversas linguagens WEB surgiram, outras linguagens
existentes foram adaptadas e com isso, os desenvolvedores possuem várias opções de
linguagens.
Para poder explorar ao máximo os recursos de cada linguagem, é necessário que
o desenvolvedor conheça as características de cada linguagem, estude cada uma delas
para definir qual a linguagem mais apropriada para desenvolver sua aplicação. Isso
demanda tempo, e nem sempre o desenvolvedor dispõe desse tempo para estudo.
Baseada nessa situação foi detectada a necessidade desse estudo. Este artigo
apresenta um estudo de algumas linguagens de programação para a WEB, e ao final
deste, não será definida a melhor linguagem de programação WEB, nem a pior, mas sim,
a mais adequada a determinada aplicação, levando em consideração a produtividade,
desempenho, segurança, acessibilidade, entre outras características, para que o projeto
seja bem implementado, proporcionando o melhor custo/benefício.
2. OBJETIVO
O principal objetivo é auxiliar o desenvolvedor a decidir qual linguagem utilizar em
determinado projeto WEB, com base nos estudos apresentados por este projeto, sem que
seja necessário ao desenvolvedor, conhecer todas as linguagens para tomar esta decisão;
demonstrar o custo/benefício em cada linguagem de programação WEB.
3. METODOLOGIA
A metodologia adotada para o estudo das técnicas de desenvolvimento web é descrita a
seguir:
• Levantamento das Principais Técnicas de Desenvolvimento WEB;
• Comparativo das Linguagens de Programação entre suas características;
• Escolha da Linguagem de Programação Adequada para o Desenvolvimento WEB baseada em critérios (custo, praticidade etc).
Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 14, Ano 2009 • p. 425-450
ANUIC_N14_miolo.pdf 426 7/6/2010 18:17:08
Danieli Amorim de Oliveira Camargo 427
4. DESENVOLVIMENTO
Este capítulo aborda todos os itens utilizados como base para o desenvolvimento do
projeto, tais como, as tecnologias WEB, linguagens de programação, padrões de
utilização, vantagens e desvantagens dos dispositivos entre outros.
4.1. A ARPANET e o surgimento da Internet
Segundo Farrel (2005), no ano de 1957, em plena Guerra Fria, enquanto a União Soviética
colocava em órbita seu primeiro satélite artificial, o Sputnik, alarmando os especialistas
civis e militares norte-americanos, o então presidente dos EUA, Dwight D. Eisenhower
decidiu criar a Advanced Research Projects Agency (ARPA), com o objetivo de promover a
pesquisa e o desenvolvimento de novas tecnologias para a defesa nacional.
Em 1962 a então ARPA, com o objetivo de manter a comunicação das suas bases
militares em caso de um ataque, sob o risco de perder informações importantes e sigilosas
idealizou um modelo de troca e compartilhamento de informações que permitisse a
descentralização das mesmas. Iniciam-se então, os primeiros projetos de criação de uma
grande rede mundial de computadores.
De acordo com Farrel (2005) somente em 1964 as teorias de interconexão de
computadores passaram a serem desenvolvidas com o aperfeiçoamento da teoria de
trabalhar com pacotes de informação durante o processo de transmissão.
A partir da pesquisa e do desenvolvimento destas novas tecnologias, inicia-se a
criação de uma rede de computadores não centralizada, ou seja, sem um computador
central. Tem-se então a ARPANET, com os primeiros centros do núcleo básico,
desenvolvidos em universidades.
Estrutura e Funcionamento Inicial
Segundo Zuffo (2008), no dia 2 de Setembro de 1969, unem-se os grandes computadores
de universidades como a UCLA (Universidade da Califórnia), UCSA (Universidade de
Canterbury), Universidade do Estado Americano de Utah e o Stanford Research Institute,
formando o coração original da ARPANET com os quatro supercomputadores que
iniciaram a ARPANET, se comunicavam através de linhas de alta velocidade e eram
programáveis entre si.
Na década de 70, a tensão entre URSS e EUA diminui. Não havendo mais a
iminência de um ataque imediato, o governo dos EUA permitiu que pesquisadores
Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 14, Ano 2009 • p. 425-450
ANUIC_N14_miolo.pdf 427 7/6/2010 18:17:08
428 Estudo das técnicas de desenvolvimento web e validação deste estudo com um portal para recicladores e produtores de reciclados
desenvolvessem nas suas respectivas universidades, estudos na área de defesa pudessem
também entrar na ARPANET.
Com isso, a ARPANET começou a ter dificuldades em administrar todo este
sistema, devido ao grande e crescente número de localidades universitárias contidas nela.
Dividiu-se então este sistema em dois grupos, a MILNET, que possuía as localidades
militares e a nova ARPANET, que possuía as localidades não militares.
De acordo com Farrel (2005) o desenvolvimento da rede, nesse ambiente mais
livre, pôde então acontecer, e a difusão da informação através de um conglomerado de
redes é, então denominada de Internet.
Expansão
Em 1993 a Internet começa a ter repercussão nos meios de comunicação, época em que
aparece o primeiro visualizador gráfico das páginas da World Wide web. Um ano mais
tarde, apesar do ceticismo de muitos, a Internet se transforma em um fenômeno das
massas, desencadeando uma verdadeira febre pelo novo meio de comunicação
(CASTELLS, 2003).
A expansão ocorre de tal forma que todas as grandes corporações estão presentes
na Internet em virtude do marketing e do acesso rápido que ela proporciona. Além disso,
o acesso à rede tornou-se tão popular que passou a ser considerado pré-requisito para
compra de computadores. O aumento da segurança nas comunicações incentivou a venda
direta através desse meio de comunicação global, além disso, a Internet é hoje um dos
meios mais eficazes, rápidos e abrangentes de pesquisa.
Aplicações web
Segundo Gonçalves (2007), entende-se por Aplicações WEB os Sistemas de Informática
projetados para utilização através de um navegador, na Internet ou em redes privadas,
isto é, trata-se de um conjunto de programas que é executado em um servidor de HTTP
(Protocolo de transferência utilizado por Aplicações WEB). O desenvolvimento da
tecnologia WEB está relacionado, entre outros fatores, à necessidade de simplificar a
atualização e manutenção mantendo o código-fonte em um mesmo local, de onde ele é
acessado pelos diferentes usuários.
Aplicações WEB utilizam uma arquitetura multi-nível em que as funções
executadas pelas aplicações podem estar distribuídas por uma rede de computadores.
Elas fazem uso de uma infra-estrutura de rede que é o padrão atual adotado pela Internet
(GONÇALVES, 2007).
Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 14, Ano 2009 • p. 425-450
ANUIC_N14_miolo.pdf 428 7/6/2010 18:17:08
Danieli Amorim de Oliveira Camargo 429
História
A WWW (World Wide web), mais conhecida como WEB, nasceu em 1991 no laboratório
CERN, na Suíça. Seu criador, Tim Berners-Lee, a concebeu unicamente como uma
tecnologia que serviria para interligar computadores do laboratório e outras instituições
de pesquisa e exibir documentos científicos de forma simples e fácil de acessar
(MUSCIANO; KENNEDY, 1998).
Em 1993 já era comum em Universidades que estudantes desenvolvessem sites
com informações pessoais. Para Musciano e Kennedy (1998), o que determinou seu
crescimento foi a criação de um programa chamado Mosaic, que permitia o acesso a WEB
num ambiente gráfico, semelhante ao Sistema Operacional Windows.
B’Far (2005), afirma que as aplicaçoes WEB se baseiam quase que em sua
totalidade em hypertext, o qual possibilita acoplar outros textos em sua superfície e acessá-
los através dos chamados hyperlinks ou simplesmente links, cuja função principal é
conectar ou referenciar um hypertext facilitando a publicação, atualização e pesquisa de
informação.
Para Castro (2005), a primeira geração da WEB, contemplava páginas estáticas
confeccionadas individualmente à mão. Em seguida, a segunda geração composta de
páginas dinâmicas geradas automaticamente através de templates e fazendo acesso a bases
de dados. Estas gerações tiraram proveito da simplicidade da linguagem HTML, mas
também tiveram que enfrentar suas limitações e buscar inovações para resolver questões
para as quais a linguagem não oferecia suporte.
Diante destes desafios em 1998 a W3C (World Wide web Consortium) criou uma
nova linguagem, XML (eXtensible Markup Language), que para Castro (2005) devido a
maior flexibilidade, causou grande impacto e popularidade.
De acordo com o Consórcio W3C, a WEB Semântica pode ser definida como a
representação abstrata dos dados na rede mundial de computadores. Esta nova WEB está
sendo desenvolvida sob a coordenação do Consórcio W3C em colaboração com um
grande número de pesquisadores e parceiros industriais.
Segundo o Consórcio W3C, a WEB só alcançará seu potencial total quando se
tornar um local onde dados possam ser compartilhados e processados, tanto por
ferramentas automáticas, quanto por pessoas. Para a WEB evoluir, os futuros programas
devem ser capazes de compartilhar e processar dados, mesmo que estes programas
tenham sido projetados de forma totalmente independente.
Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 14, Ano 2009 • p. 425-450
ANUIC_N14_miolo.pdf 429 7/6/2010 18:17:08
430 Estudo das técnicas de desenvolvimento web e validação deste estudo com um portal para recicladores e produtores de reciclados
Vantagens
De acordo com Noergaard (2005), algumas vantagens no desenvolvimento de aplicações
WEB podem ser observadas:
• Uniformidade: Documentos criados segundo os padrões WEB podem utilizar uma estrutura comum, facilitando a manipulação dos mesmos. Uma estrutura comum permite que modificações, tais como, inserções e remoções de conteúdo ou movimentações estruturais possam ser realizadas de maneira simples, sem a necessidade de aplicações complexas;
• Liberdade: Os padrões WEB permitem também a liberdade de estruturação e inovação por não serem controlados por uma empresa específica. Isso permite que sejam utilizados por qualquer pessoa em qualquer lugar, sem a necessidade de pagar ou fazer algo pelo privilégio;
• Separação de estrutura e apresentação: A utilização correta dos mesmos permite separar quase que completamente a estrutura da apresentação. Isso significa que o documento fica restrito ao seu conteúdo, sem especificar qualquer forma de apresentação, permitindo que esta seja modificada de acordo com as necessidades. Assim, o documento permanece o mesmo, embora possa ser usado em diferentes ambientes como navegadores, sintetizadores de fala, e geradores de documentos Braille. A correta separação da estrutura da apresentação permite uma maior flexibilidade na utilização do documento;
• Acessibilidade: Outra das grandes vantagens é a acessibilidade. Em termos de padrões WEB isso significa não só permitir que pessoas com deficiências físicas tenham acesso à WEB, mas também capacitar à utilização das páginas por e em outros tipos de ambientes que não um navegador. Isso inclui navegadores de voz, que lêem páginas WEB em voz alta para pessoas com dificuldades ou impossibilidade de visão; navegadores Braille que traduzem as páginas nesse alfabeto.
Desvantagens
De acordo com Noergaard (2005), algumas desvantagens no desenvolvimento de
aplicações WEB podem ser observadas:
• Conectividade: Deve-se possuir uma conexão de Internet ativa, deste modo, a velocidade de conexão pode influenciar no desempenho e velocidade de obtenção dos dados;
• Estabilidade: Aplicações em rede local são mais estáveis que aplicações WEB;
• Segurança: Não existem aplicações totalmente seguras. Uma vez conectadas a Internet podem sofrer ataques.
4.2. Tecnologias WEB estudadas
Neste artigo são apresentadas as seguintes tecnologias WEB: AJAX, ASP, C Sharp, HTML,
Java, PHP, Phyton e Ruby. O ordenamento da apresentação se deu de forma alfabética.
Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 14, Ano 2009 • p. 425-450
ANUIC_N14_miolo.pdf 430 7/6/2010 18:17:08
Danieli Amorim de Oliveira Camargo 431
AJAX
AJAX (Asynchronous Javascript em XML) não é uma linguagem, nem um framework,
mas o uso metodológico de Javascript e XML, não é apenas a junção dessas duas
linguagens, é todo um conceito de navegação e atualização de páginas web. (SOARES,
2006). O AJAX surgiu para resolver o problema antigo que para cada solicitação em uma
página web atualizava-se a página inteira do navegador.
Mesmo que a atualização era apenas de uma pequena parte, o servidor recebia
toda a página, buscava as informações e retornava ao navegador web. Antes do
surgimento do AJAX tentaram resolver esse problema, porém apenas amenizaram, dando
a impressão que a página não era atualizada.
A utilização do AJAX oferece interatividade, usabilidade e desempenho nas
aplicações, por isso é recomendado para utilização principalmente em preenchimento de
formulários e validações.
A maioria dos navegadores em suas atuais versões são compatíveis com a
tecnologia AJAX.
O AJAX foi gerado por Jessé James Garret, em um artigo no site da sua empresa
Adaptive Path em fevereiro de 2005, que definiu o objeto XMLHttpRequest como um
componente criado juntamente com o Internet Explorer 5, da Microsoft. Foi incorporado
aos outros navegadores posteriormente.
Na Figura 1 é apresentada a estrutura de uma aplicação web tradicional com o
fluxo das informações, sendo transferido toda a página web entre o servidor e navegador
cada vez que é solicitada qualquer informação da página.
Figura 1 – Aplicação web tradicional (CRANE, 2006).
Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 14, Ano 2009 • p. 425-450
ANUIC_N14_miolo.pdf 431 7/6/2010 18:17:08
432 Estudo das técnicas de desenvolvimento web e validação deste estudo com um portal para recicladores e produtores de reciclados
Na Figura 2 o fluxo de informações utiliza a tecnologia AJAX. Assim, o
navegador interage com o servidor enviando apenas as informações necessárias nos
momentos necessários, evitando assim a atualização de toda a página a cada requisição.
Figura 2 – Aplicação web utilizando tecnologia AJAX (CRANE, 2006).
Com essa funcionalidade, as principais vantagens em se utilizar a tecnologia
AJAX, são:
• Menor uso de banda: menos informações irão trafegar na rede, diminuindo o uso da banda larga e uma navegação mais rápida;
• Respostas mais rápidas: o usuário não precisa esperar que toda a página seja processada a cada nova solicitação;
• Mais interatividade: é possível disponibilizar aplicações com mais interatividade e usabilidade, deixando as interfaces mais amigáveis para o usuário final.
Foi pesquisado aleatoriamente entre vinte sites de serviços de hospedagem
gratuita, seis deles suportavam AJAX, portanto, além de facilitar a navegação do usuário
ao escolher essa tecnologia, facilita também ao desenvolvedor por existirem várias opções
de hospedagem gratuita.
ASP
ASP (de Active Server Pages) é uma estrutura de programação (não é uma linguagem,
mas um framework ) em Script que se utiliza de VBScript, JScript, PerlScript ou Python
processadas pelo lado servidor para geração de conteúdo dinâmico na web (WEISSINGER,
1999).
Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 14, Ano 2009 • p. 425-450
ANUIC_N14_miolo.pdf 432 7/6/2010 18:17:08
Danieli Amorim de Oliveira Camargo 433
Ele executa nativamente em servidores Windows, através do serviço chamado de
IIS (Internet Information Service) - o servidor web da Microsoft, ou do PWS (Personal web
Server) em ambientes com Windows 98.
O script é interpretado no servidor e o que é enviado ao lado do
usuário/utilizador (navegador, por exemplo) é apenas a saída que normalmente é uma
linguagem de marcação como HTML, XHTML ou XML.
Linguagens como o Javascript e o VBScript podem ser processadas pelo
navegador do visitante e, neste caso, este precisa ser compatível com a linguagem.
Contudo, como o ASP é processado pelo servidor, há independência de navegadores, uma
vez que eles só processarão HTML.
Através dessa tecnologia também é possível executar consultas a Banco de
Dados, através da biblioteca de componentes ActiveX.
O uso desta tecnologia vem diminuindo sensivelmente pela maturação da
tecnologia .NET, sendo gradativamente substituído pelo ASP.NET que proporciona uma
gama maior de recursos e um melhor desempenho.
Foi pesquisado na internet, sites de hospedagem gratuita para páginas
desenvolvidas em ASP. Em cada vinte sites pesquisados aleatoriamente, seis prestam este
serviço.
C SHARP
C Sharp ou C# é uma linguagem de programação orientada a objetos criada pela
Microsoft, faz parte da sua plataforma .Net. A companhia baseou C# na Linguagem C++
e Java. C# (pronuncia-se “cê shárp” em português ou “cí sharp” em inglês).
Segundo Sharp (2005), a criação da linguagem, embora tenha sido feita por vários
desenvolvedores, é atribuído principalmente a Anders Hejlsberg, hoje um renomado
engenheiro da Microsoft. Anders Hejlsberg era desenvolvedor de compiladores na
empresa Borland, e entre suas criações mais conhecidas estão os programas Turbo Pascal
e Delphi. A linguagem C# foi criada junto com a arquitetura .NET.
Embora existam várias outras linguagens que suportam essa tecnologia (como
VB, .NET, C++), C# é considerada a linguagem símbolo do .NET pelas seguintes razões:
• Foi criada praticamente “do zero” para funcionar na nova plataforma, sem preocupações de compatibilidade com código delegado;
• O compilador C# foi o primeiro a ser desenvolvido;
• A maior parte das classes do .NET Framework foram desenvolvidas em C#.
Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 14, Ano 2009 • p. 425-450
ANUIC_N14_miolo.pdf 433 7/6/2010 18:17:08
434 Estudo das técnicas de desenvolvimento web e validação deste estudo com um portal para recicladores e produtores de reciclados
• Linguagem poderosa e de fácil compreensão para desenvolvedores;
• Códigos gerenciados, respeitando as questões de segurança do programa e do Framework;
• Suporta XML, Bancos de dados, SOAP;
• Integrada ao Visual Studio .Net e webMatrix e outras ferramentas próprias de desenvolvimento;
• Propriedades, métodos e eventos como conceitos de 1ª categoria;
• Totalmente integrada à plataforma .NET;
• Orientado a objeto.
Segundo Deitel (2003), suas estruturas de dados primitivas são objetos que
correspondem a tipos em .NET. A desalocação automática de memória por garbage
colletor (coletor de lixo) além de várias de suas abstrações tais como classes, interfaces e
exceções são nada mais que a exposição explicita recursos do ambiente .NET. Quando
comparada com C e C++, a linguagem é restrita e melhorada de várias formas incluindo:
• Ponteiros e aritmética sem checagem só podem ser utilizados em uma modalidade especial chamada modo inseguro (unsafe mode). Normalmente os acessos a objetos são realizados através de referências seguras, as quais não podem ser invalidadas e normalmente as operações aritméticas são checadas contra sobrecarga (overflow);
• Objetos não são liberados explicitamente, mas através de um processo de coleta de lixo (garbage collector) quando não há referências aos mesmos, prevenindo assim referências inválidas;
• Destrutores não existem. O equivalente mais próximo é a interface Disposable, que juntamente com a construção using block permitem que recursos alocados por um objeto sejam liberados prontamente. Também existem finalizadores, mas como em Java sua execução não é imediata;
• Como no Java, não é permitida herança múltipla, mas uma classe pode implementar várias interfaces abstratas. O objetivo principal é simplificar a implementação do ambiente de execução.
Pode-se constatar na Figura 3 um exemplo de código fonte implementado na
linguagem C# em que o resultado de saída será a mensagem “Alo, mundo” exibida na
tela.
Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 14, Ano 2009 • p. 425-450
ANUIC_N14_miolo.pdf 434 7/6/2010 18:17:08
Danieli Amorim de Oliveira Camargo 435
Figura 3 – Exibindo mensagem em C# (LIBERTY, 2006).
Pesquisado na internet, de maneira aleatória, vinte sites que prestam serviço de
hospedagem gratuita de páginas web, dentre eles, cinco prestam o serviço de hospedagem
de sites desenvolvidos em C#.
HTML
HTML (Hyper Text Markup Language) é uma linguagem de formatação muito simples
baseada em marcadores (tags) para a criação de documentos hypertexto. A principal
característica do hipertexto é a possibilidade de se interligar a outros documentos da web.
As versões existentes da linguagem HTML são: HTML 2.0, HTML 3.2, HTML 4.0
e o HTML 4.01. Alguns crêem que o HTML não tem futuro algum devido a existência do
XHTML. As versões do HTML mais utilizadas hoje em dia são HTML 4.01 e XHTML 1.0.
As versões HTML 5 e o XHTML 2 estão em desenvolvimento (ROGÉRIO, 2007).
A linguagem HTML foi criada em 1991 pelo inglês Tim Berners-Lee no CERN –
Laboratório Europeu de Física de Partículas, com o intuito de interligar computadores do
laboratório e instituições de pesquisa, exibindo documentos científicos de forma simples e
de fácil acesso.
A popularidade da linguagem HTML cresceu juntamente com a popularização
da web e, com essa rápida evolução, a linguagem HTML apresentou várias deficiências
que tiveram que ser solucionadas com a ajuda de algumas tecnologias que seriam capazes
de organizar, automatizar e otimizar o funcionamento da web.
A principal característica da linguagem HTML é a portabilidade, além de ser
simples e pode ser aprendida por usuários leigos sem maiores dificuldades.
Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 14, Ano 2009 • p. 425-450
ANUIC_N14_miolo.pdf 435 7/6/2010 18:17:08
436 Estudo das técnicas de desenvolvimento web e validação deste estudo com um portal para recicladores e produtores de reciclados
Para que os navegadores consigam interpretar arquivos com comandos HTML,
além de possuir as tags da respctiva linguagem, é necessário que o arquivo contenha a
extensão .html ou .htm.
Figura 4 – Código HTML.
A principal característica da linguagem HTML é a portabilidade, além de ser
simples e ser aprendida por usuários leigos sem maiores dificuldades. A Figura 5
apresenta o resultado de como a página será apresentada ao usuário final.
Figura 5 – Resultado do código HTML.
Pelo fato do HTML ser uma das raízes da internet, todos os sites de serviço de
hospedagem gratuita suportam essa tecnologia.
JAVA
JAVA é marca registrada da Sun Microsystems e define uma plataforma de programação
incluindo uma linguagem de programação, uma máquina virtual, um formato de arquivo
Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 14, Ano 2009 • p. 425-450
ANUIC_N14_miolo.pdf 436 7/6/2010 18:17:08
Danieli Amorim de Oliveira Camargo 437
(arquivo .class) e um conjunto de classes (a API do JAVA). Cada uma dessas tecnologias é
especificada pela Sun. Juntas, a máquina virtual e a API do JAVA constituem o ambiente
de execução de JAVA, ou ainda, a plataforma JAVA. (HARVEY, 2006).
A linguagem de programação JAVA é uma linguagem orientada a objetos e de
alto nível. Nela, todo o código fonte é escrito primeiro em blocos de textos e gravados com
extensão.java. Esses arquivos.java são compilados pelo compilador javac, gerando um
arquivo .class. O arquivo.class não contém o código que é entendido pelo computador,
mas ele contém bytecodes – que é o idioma da máquina virtual Java (JAVA VM).
O JAVA executa a sua aplicação através da Java Virtual Machine, que transforma
o .class em uma linguagem entendível pelo computador.
Na Figura 6 é apresentado o processo do código até ser executado na máquina. O
JAVA tem todas as vantagens de Orientação a Objetos da linguagem C++, mas exclui
algumas características como ponteiros e alocação de memória.
Figura 6 – Processo do código JAVA (JAVASUN, 2006).
Segundo Deitel (2006), a linguagem JAVA originou-se do apoio que a Sun estava
proporcionando a um projeto nos anos 90, com o codinome Green, que resultou numa
linguagem baseada em C++, que seu criador, James Gosling chamou de Oak. Depois de
uma visita da Sun a uma cafeteria, o nome Java foi sugerido e aceito.
Em 1995, com a explosão da WWW, a equipe da Sun viu o imediato potencial de
utilizar o Java para as páginas web.
O Java chamou a atenção da comunidade de negócios devido ao grande interesse
na WWW. A partir de então, o Java passou a ser utilizado para desenvolver aplicativos de
grande porte, aprimorar a funcionalidade de servidores web, fornecer aplicativos para
dispositivos voltados para o consumo popular, por exemplo, telefones celulares, entre
muitos outros propósitos.
Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 14, Ano 2009 • p. 425-450
ANUIC_N14_miolo.pdf 437 7/6/2010 18:17:08
438 Estudo das técnicas de desenvolvimento web e validação deste estudo com um portal para recicladores e produtores de reciclados
O código Java pode ser compilado e funcionar na maioria dos computadores
porque os interpretadores de Java e os ambientes de execução existem para a maioria dos
sistemas operacionais. Java possui uma coleção de bibliotecas que se estende à linguagem.
Existe uma biblioteca chamada AWT que é destinada à interface com o usuário,
uma biblioteca de I/O, uma biblioteca de rede, entre outros.
Java pode ser utilizado para criar diversos tipos de aplicativos, desde aplicações
remotas até aplicações que serão controladas pelo software, tais como APPLETS que são
carregados pela WEB e executados dentro de um browser, SERVLETS que são designados
para serem executados dentro de um servidor WEB, entre outros. (WHITE, 2008).
Abaixo são apresentados alguns aspectos de JAVA:
• Todos os tipos primitivos de JAVA têm um tamanho fixo;
• Checagem automática de limites evita o programa de ler ou escrever fora dos limites de um array;
• Testes de condição devem retornar um valor booleano;
• Suporte para manipulação de strings;
• Orientada a objetos;
• Possui herança, mas não múltipla;
• Portabilidade;
• Código aberto.
Figura 7 – Imprimindo uma linha de texto com JAVA (HARVEY, 2006).
Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 14, Ano 2009 • p. 425-450
ANUIC_N14_miolo.pdf 438 7/6/2010 18:17:08
Danieli Amorim de Oliveira Camargo 439
Figura 8 – Programa que imprime a soma de dois números em JAVA (LIBERTY, 2006).
A versão JAVA está dividida nas seguintes edições:
• Java Standart Edition (JSE): tecnologia projetada para computadores pessoais e ambientes de trabalho;
• Java Enterprise Edition (JEE): Tecnologia projetada para aplicações baseadas no servidor;
• Java Micro Edition (JME): Tecnologia direcionada para dispositivos com poucos recursos computacionais, como por exemplo, telefones celulares e palms.
Pesquisado aleatoriamente entre vinte sites de hospedagem gratuita de páginas,
nenhum deles hospeda sem custo as páginas desenvolvidas em Java.
PHP
O PHP é uma linguagem de criação de scripts do lado do servidor que foi projetada
especificamente para a web. Dentro de uma página HTML, é possível embutir código PHP
que será executado. O código PHP é interpretado no servidor web e gera HTML ou outra
saída para o usuário final (THOMSON, 2005).
A linguagem surgiu por volta de 1994, como um pacote de programas CGI
criados por Rasmus Lerdof, com o nome Personal Home Page Tools, para substituir um
conjunto de scripts Perl que ele usava no desenvolvimento de sua página pessoal. Em
1997 foi lançado o novo pacote da linguagem com o nome de PHP/FI, trazendo a
ferramenta Forms Interpreter, um interpretador de comandos SQL.
Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 14, Ano 2009 • p. 425-450
ANUIC_N14_miolo.pdf 439 7/6/2010 18:17:08
440 Estudo das técnicas de desenvolvimento web e validação deste estudo com um portal para recicladores e produtores de reciclados
Anos depois, Zeev Suraski desenvolveu o analisador do PHP 3 que contava com
o primeiro recurso de orientação a objetos, que dava poder de alcançar alguns pacotes,
tinha herança e dava aos desenvolvedores somente a possibilidade de implementar
propriedades e métodos.
Zeev e Andi Gutmans, escreveram o PHP 4, abandonando por completo o PHP 3,
dando mais poder à máquina da linguagem e maior número de recursos de orientação a
objetos. O PHP 4 apresentou uma deficiência na criação de cópias de objetos, pois a
linguagem ainda não trabalhava com apontadores ou handlers, como são as linguagens
Java , Ruby e outras. O problema fora resolvido na versão atual do PHP, a versão 5, que já
trabalha com handlers.
Seguem algumas características do PHP:
• Velocidade e robustez.
• Estruturado e orientação a objeto.
• Portabilidade - independência de plataforma - escreva uma vez, rode em qualquer lugar.
• Tipagem fraca.
• Sintaxe similar a Linguagem C/C++ e o PERL.
• Interface para diversos bancos de dados.
• Disponibilidade de código-fonte.
• Baixo custo. (THOMSON, 2005)
Figura 9 – Imprimir texto em PHP.
Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 14, Ano 2009 • p. 425-450
ANUIC_N14_miolo.pdf 440 7/6/2010 18:17:08
Danieli Amorim de Oliveira Camargo 441
Figura 10 – Imprimir a soma de dois números em PHP.
Foi pesquisado aleatoriamente entre vinte sites de hospedagem gratuita de
páginas, todos sem exceção, atendem esse serviço com a tecnologia PHP gratuitamente.
Phyton
O desenvolvimento da linguagem Phyton teve início em 1990, pelo holandês Guido van
Rossum, na CWI em Amsterdã. O conjunto de entidades e pessoas ligadas ao Python,
sobretudo via Internet, formam a Python Software Activity (PSA). Esta linguagem possui
código aberto e é gratuitamente distribuída.
Em Python, as funções são tratadas como objetos, característica de linguagens de
programação funcional como Lisp, muito utilizada em aplicações de inteligência artificial.
Outro ponto importante, é que, em Python, cada argumento de uma função pode assumir
um valor default (SILVA,2001).
A linguagem Phyton possui uma sintaxe simples e clara, não utiliza ponto-e-
vírgula ou chaves, tornando o programa mais simples de ser lido por um desenvolvedor,
e também oferece os seguintes recursos:
• programação orientada a objetos (incluindo herança múltipla);
• exceções, um moderno mecanismo para o tratamento de erros;
• módulos, uma forma inteligente de acessar e organizar código a ser reutilizado;
• coleta de lixo automática, sistema que elimina os erros causados pelo acúmulo de dados inúteis na memória do computador;
• recursos avançados de manipulação de textos, listas e outras estruturas de dados;
• possibilidade de executar o mesmo programa sem modificações em várias plataformas de hardware e sistemas.
A Figura 11 apresenta um programa em Phyton que lê o conteúdo digitado pelo
usuário de duas variáveis e apresenta na tela o resultado da operação.
Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 14, Ano 2009 • p. 425-450
ANUIC_N14_miolo.pdf 441 7/6/2010 18:17:08
442 Estudo das técnicas de desenvolvimento web e validação deste estudo com um portal para recicladores e produtores de reciclados
Figura 11 – Programa que calcula despesas domésticas, em Phyton.
Figura 12 – Resultado do programa que calcula despesas domésticas.
Foi realizada uma pesquisa aleatória entre vinte sites de hospedagem gratuita de
páginas, sendo que dentre eles, doze atendem à tecnologia Phyton.
Ruby
A linguagem Ruby é uma linguagem de programação interpretada, orientada a objetos e
com várias semelhanças com Perl, Python e SmallTalk. Foi criada pelo japonês Yukihiro
Matsumoto (Matz) na década de 90 e rapidamente ganhou popularidade (ANTONIO,
2008).
O nome “Ruby” definido entre seu criador Matsumoto (Matz) e Keiju Ishitsuka
em 24 de fevereiro de 1993, antes que qualquer linha de código tinha sido escrita para a
linguagem. Inicialmente foram propostos dois nomes: “Coral” e “Ruby”, sendo esse
último nome proposto escolhido mais tarde por Matz em um e-mail para Ishitsuka.
Seguem alguns atributos da linguagem Ruby:
• A sintaxe é enxuta, não utiliza colchetes e outros caracteres;
• Orientada a objetos;
• Todas as variáveis são objetos, os “tipos primitivos” são classes;
• Estão disponíveis diversos métodos de geração de código em tempo real, como os “attribute accessors”;
• Code blocks (blocos de código), ajudam o programador a passar um trecho de instruções para um método. A idéia é semelhante aos
Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 14, Ano 2009 • p. 425-450
ANUIC_N14_miolo.pdf 442 7/6/2010 18:17:08
Danieli Amorim de Oliveira Camargo 443
“callbacks” do Java, mas de uma forma extremamente simples e bem implementada;
• Mixins, uma forma de emular a herança múltipla, mas não permite nativamente;
• Multi-plataforma;
• Código aberto;
• Pode ser executada utilizando a Máquina Virtual Java.
Figura 13 – Código implementado em Ruby.
Foi pesquisado aleatoriamente na internet, vinte sites que hospedam páginas
gratuitamente, dentre esses, quatorze suportam a tecnologia Ruby.
4.3. Análise das características
Das técnicas de desenvolvimento web estudadas, foram separadas em dois grupos:
• As que são destinadas a apresentação das páginas: AJAX, HTML;
• As que processam informações, inclusive recuperação de dados de bancos relacionais: ASP, C Sharp, Java, PHP, Phyton e Ruby;
Do segundo grupo, foi implementado um programa para cada linguagem que
imprime a frase “Olá mundo”. Seguem abaixo as implementações:
Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 14, Ano 2009 • p. 425-450
ANUIC_N14_miolo.pdf 443 7/6/2010 18:17:08
444 Estudo das técnicas de desenvolvimento web e validação deste estudo com um portal para recicladores e produtores de reciclados
Figura 14 – Código implementado em ASP.
Figura 15 – Código implementado em Java.
Figura 16 – Código implementado em PHP.
Figura 17 – Código implementado em Python.
Figura 18 – Código implementado em Ruby.
Figura 19 – Código implementado em C#.
Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 14, Ano 2009 • p. 425-450
ANUIC_N14_miolo.pdf 444 7/6/2010 18:17:08
Danieli Amorim de Oliveira Camargo 445
De acordo com os códigos implementados, foi concluído que as linguagens que
tiveram o mínimo possível de linhas de código para impressão do texto, foram
consideradas de implementação mais rápida, enquanto que as que possuíram maior
número de linha de código, foram consideradas de implementação e aprendizado mais
demorados, por possuírem uma quantidade maior de detalhes.
Diante das características de todas as técnicas estudadas, foi elaborada um
quadro comparativo para melhor análise dos recursos de cada linguagem:
Quadro 1 – Comparação entre as técnicas de desenvolvimento WEB estudadas. Características
Técnica/ Linguagem Multi
plataforma Orientado a Objetos Destrutor
Conexão com Banco de Dados
Código Aberto Gratuidade Hospedagem
Gratuita Aprendizado
Rápido Pontuação
AJAX 1 0 0 1 1 1 1 1 6
ASP 0 1 0 1 0 0 1 1 4
C Sharp 1 1 0 1 1 1 1 1 7
HTML 1 0 0 0 1 1 1 1 5
Java 1 1 1 1 1 1 0 0 6
PHP 1 1 0 1 1 1 1 1 7
Phyton 1 1 1 1 1 1 1 1 8
Ruby 1 1 1 1 1 1 1 1 8 Legenda: 0 – não atende, 1 – atende.
Através da comparação da tabela acima, foram eleitas as técnicas: HTML e AJAX
para o layout e interação do portal e PHP para persistência e recuperação de dados para
desenvolvimento do Portal de Recicladores e Fornecedores de Reciclados.
4.4. Desenvolvimento do Portal de Recicladores e Fornecedores de Reciclados
Antes de iniciar o desenvolvimento do portal, foram feitas entrevistas com os seus
prováveis usuários: uma dona de casa, um reciclador, uma empresa que utiliza materiais
recicláveis como matéria prima e uma cooperativa. Através dessa entrevista, foi possível
definir os requisitos funcionais e não funcionais do portal.
De acordo com os aspectos definidos, foram desenvolvidos os Diagramas da
UML (FOWLER, 2004), dentre eles, o de Casos de Uso do portal, conforme apresentado a
seguir:
Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 14, Ano 2009 • p. 425-450
ANUIC_N14_miolo.pdf 445 7/6/2010 18:17:08
446 Estudo das técnicas de desenvolvimento web e validação deste estudo com um portal para recicladores e produtores de reciclados
Figura 20 – Diagrama de Casos de Uso do portal.
Após a validação dos diagramas, foi criado o banco de dados, utilizando o
Gerenciador de Banco de Dados Relacional MySql da Sun.
A primeira etapa de desenvolvimento foi implementar a administração do portal,
com validação de usuário e senha para ter acesso aos cadastrados. Segue abaixo uma tela
da administração do portal e o código implementado em PHP, HTML e AJAX dessa tela:
Figura 21 – Tela do sistema de Administração do Portal.
Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 14, Ano 2009 • p. 425-450
ANUIC_N14_miolo.pdf 446 7/6/2010 18:17:08
Danieli Amorim de Oliveira Camargo 447
Figura 22 – Trecho da implementação do sistema de Administração do portal em PHP.
Após a implementação da administração do portal, foi realizada a definição do
layout, desenvolvidos em PHP, HTML e AJAX, e consequentemente, toda a navegação,
com os cadastrados e consultas.
Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 14, Ano 2009 • p. 425-450
ANUIC_N14_miolo.pdf 447 7/6/2010 18:17:08
448 Estudo das técnicas de desenvolvimento web e validação deste estudo com um portal para recicladores e produtores de reciclados
Figura 23 – Página inicial do portal.
5. RESULTADOS
O que se observou nas linguagens estudadas, é a semelhança na codificação, com relação
ao C Sharp, JAVA e PHP, pois todas foram originadas, em sua essência, da linguagem C.
As linguagens que obtiveram a maior pontuação nas características: multi-plataforma,
orientação a objetos, destrutor, conexão com banco de dados, código aberto, sua instalação
e hospedagem serem gratuitas, bem como a curva de aprendizado ser menor , são as
linguagens C Sharp, PHP, Phyton e Ruby. Considerando que o HTML trabalha com o
layout da aplicação, deve ser utilizado, já o AJAX, é opcional, mas sua utilização no
desenvolvimento torna a aplicação mais interativa e rápida.
Através desse estudo foi possível analisar e escolher, considerando aspectos
técnicos, qual tecnologia mais adequada ao desenvolvimento. Sendo de grande valia essa
documentação em desenvolvimentos futuros.
Foi utilizado, portanto, para o desenvolvimento do portal as técnicas de
desenvolvimento web: HTML e AJAX para o layout e interação do portal; e PHP para
persistência e recuperação de dados.
Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 14, Ano 2009 • p. 425-450
ANUIC_N14_miolo.pdf 448 7/6/2010 18:17:08
Danieli Amorim de Oliveira Camargo 449
6. CONSIDERAÇÕES FINAIS
Este artigo contribuiu aos desenvolvedores a escolherem, com base nas características, a
técnica de desenvolvimento WEB mais adequada à aplicação.
Cada tecnologia, com suas características, pode ser menos ou mais indicada para
determinada aplicação, o que vai definir se será uma ou outra, são os requisitos definidos
pelo usuário ao desenvolvedor.
Se o desenvolvedor puder conhecer as principais técnicas de desenvolvimento
web através deste artigo, poderá analisar qual tecnologia poderá atender às expectativas
do usuário, sem demandar um tempo muito grande para estudar cada uma delas,
dedicando mais tempo ao desenvolvimento do projeto.
REFERÊNCIAS
ANTONIO, Cassio Souza. Aprendendo Ruby on Rails. 2008. Disponível em: <http://www.devlab.com.br/rails/>. Acessado em: 10 maio 2009.
B'FAR, Reza. Mobile Computing Principles: Designing and Developing Mobile Applications with UML and XML. Cambridge: Cambridge University Press, 2005.
CAMILIS, Rafael de. O paradigma de programação afeta a performance de aplicativos web? 2007. Disponível em: <http://www.inerciasensorial.com.br/2007/04/28/programacao/o-paradigma-deprogramacao-afeta-a-performance-de-aplicativos-web/>
CASTELLS, Manuel. A Galáxia da Internet. Espanha: Editora Jorge Zaar, 2003.
CASTRO, Emanoel. Gerações da WEB. 2005. Disponível em: <http://www.imasters.com.br/artigo/3605/gerencia/geracoes_da_web/>. Acesso em: 20 abr. 2009.
CRANE, Dave; PASCARELLO, Eric; JAMES, Darren. Ajax in action. Editora Manning Publications, 2006.
DEITEL, Harvey M.; DEITEL, Paul J. C# Como Programar. São Paulo: Editora Makron Books, 2003.
FARREL, Adrian. A Internet e seus protocolos. São Paulo: Editora Campus Elsevier, 2005.
FOWLER, M.; SCOTT, K. UML Essencial: Um breve guia para a linguagem padrão de modelagem de objetos. Bookman. Terceira Edição. 2004.
GONÇALVES, Edson. Desenvolvendo Aplicações web com NetBeans IDE 5.5. Editora Ciência Moderna, 2007.
HARVEY, Deitel M. Java: Como programar. 6 d. Rio de Janeiro. Editora Prentice Hall, 2006.
LIBERTY, Jessé. Programando C#. Rio de Janeiro: Editora Alta Books, 2006.
MUSCIANO, Chuck; KENNEDY, Bill. HTML The Definitive Guide. Cambridge: O’Reilly Publishers, 1998.
NOERGAARD, Tammy. Embedded Systems architecture. Burlington, US: Elsevier Inc., 2005.
ROGÉRIO, Pedro. Quais são as versões do HTML? 2007. Disponível em: <http://www.oficinadanet.com.br/artigo/580/quais_sao_a_versoes_do_html>. Acesso em: 2 maio 2009.
SHARP, John. Microsoft Visual C# 2005: Passo a Passo. Porto Alegre: Editora Bookman, 2007.
Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 14, Ano 2009 • p. 425-450
ANUIC_N14_miolo.pdf 449 7/6/2010 18:17:08
450 Estudo das técnicas de desenvolvimento web e validação deste estudo com um portal para recicladores e produtores de reciclados
Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 14, Ano 2009 • p. 425-450
SILVA, Alexandre Gonçalves. A linguagem Phyton. 2001. Disponível <http://www.dca.fee.unicamp.br/~alexgs/tese/plano_alexgs/node5.html>. Acesso em: 10 maio 2009.
SOARES, Walace. Ajax: Guia Prático para Windows. São Paulo: Editora Érica, 2006.
THOMPSON, Laura; WELLING, Luke. PHP e MySQL desenvolvimento web. 3. ed. Editora Campus, 2005.
TRINDADE, Cristiano. Desenvolvendo Soluções com a Tecnologia JAVA. Florianópolis: Visual Books, 2003.
WEISSINGER, A. Keyton. ASP Guia Completo. Rio de Janeiro. Editora Ciência Moderna Ltda. 1999.
WHITE, James. Java Application. Disponível em: <http://www.sun.com>. Acesso em: 20 abr. 2009.
ANUIC_N14_miolo.pdf 450 7/6/2010 18:17:08
Top Related