Desenvolvimento de aplicativos da Web - Web application development

O desenvolvimento de aplicativos da Web é o processo e a prática de desenvolver aplicativos da Web. Há um consenso de que os processos envolvidos são extensões dos processos padrão de engenharia de software. Considerando isso, junto com suas características exclusivas, os frameworks populares usados ​​incluem a abordagem em espiral e a abordagem orientada a negócios para o desenvolvimento de aplicativos, entre outros modelos que atendem aos requisitos de um processo iterativo.

Assim como acontece com um aplicativo de desktop tradicional, os aplicativos da web apresentam vários níveis de risco. Uma página inicial pessoal é muito menos arriscada do que, por exemplo, um site de negociação de ações. Para alguns projetos , segurança , bugs de software , etc. são os principais problemas. Se o tempo para o mercado ou a complexidade técnica for uma preocupação, documentação , planejamento de teste , controle de mudanças , análise de requisitos , descrição arquitetônica e design formal e práticas de construção podem mitigar o risco.

Tecnologias

Um estudo realizado envolvendo a prática de engenharia da web revelou que o desenvolvimento de aplicativos da web tem várias características que devem ser abordadas, incluindo: tempos de ciclo de vida de desenvolvimento curtos; diferentes modelos de negócios; equipes de desenvolvimento multidisciplinares; pequenas equipes de desenvolvimento trabalhando em tarefas semelhantes; análise e avaliação de negócios com usuários finais; requisitos explícitos e treinamento rigoroso em relação aos requisitos; e manutenção.

Algumas das tecnologias utilizadas incluem: Ajax , ASP , ASP.NET , ActionScript , CSS , ColdFusion , CGI , HTML , Java , JavaScript , Visual LANSA , Lasso , Node.js , OSGI , Perl , PHP , Python , Ruby , Xojo .

Modelo de ciclo de vida

Tempo de lançamento no mercado , crescimento da empresa e rotatividade de requisitos, três coisas que são enfatizadas nos negócios baseados na web, coincidem com os princípios das práticas Agile . Alguns modelos de ciclo de vida ágil são:

Testando

Os aplicativos da Web passam pela mesma unidade , integração e teste de sistema que os aplicativos de desktop tradicionais. Possui os mesmos objetivos, que envolvem: 1) a verificação de que o aplicativo está funcionando corretamente; e, 2) a identificação de erros que precisam de correção. O processo de teste de aplicativos web, entretanto, possui algumas características especiais, o que o torna um pouco diferente de um teste utilizado para um software. Isso inclui o fato de que os aplicativos da web tendem a ter muitas informações que podem conter erros, omissões, rótulos incorretos, redundância e assim por diante. Eles também podem envolver várias camadas de aplicativos da web e várias configurações dinâmicas. Testar e encontrar erros, portanto, envolve processos mais complexos, como a inclusão de análises operacionais para cada camada ou configuração.

Os clientes de aplicativos da Web variam muito, portanto, as equipes podem realizar alguns testes adicionais, como: Segurança, Desempenho , Carga e Estresse , validação de HTML / CSS , Acessibilidade , Usabilidade e Navegador cruzado .

Muitos tipos de testes são automatizados . No nível do componente , um dos pacotes xUnit pode ser uma ferramenta útil. Ou uma organização pode criar sua própria estrutura de teste de unidade. No nível da GUI, Watir ou iMacros são úteis.

Ferramentas

No caso do ASP.NET , os desenvolvedores podem usar o Microsoft Visual Studio para escrever código. Mas, como a maioria das outras linguagens de programação, eles também podem usar um editor de texto ( Notepad ++ por exemplo). O WebORB Integration Server para .NET pode ser usado para integrar serviços, dados e mídia .NET com qualquer cliente da web. Inclui ferramentas de produtividade do desenvolvedor e APIs para comunicação remota, mensagens e gerenciamento de dados.

Para ColdFusion e os mecanismos CFML de código aberto relacionados, existem várias ferramentas disponíveis para escrever código. Isso inclui Adobe Dreamweaver CS4, o plug-in CFEclipse para Eclipse (software) e Adobe CF Builder. Também se pode usar qualquer editor de texto, como Notepad ++ ou TextEdit .

Muitas ferramentas suportam a linguagem de programação Java . Os mais populares incluem Apache Tomcat , GlassFish , JDeveloper e Netbeans , mas existem muitos outros.

Para PHP , o Zend Development Environment oferece várias ferramentas de depuração e um rico conjunto de recursos para tornar o desenvolvimento de PHP mais fácil. O WebORB Integration Server para PHP pode ser usado para integrar classes e dados PHP com qualquer cliente da web. Inclui ferramentas de produtividade do desenvolvedor e APIs para comunicação remota, mensagens e gerenciamento de dados. Ferramentas como o Hammerkit abstraem o PHP em um ambiente de programação visual e utilizam métodos de software baseados em componentes para acelerar o desenvolvimento.

Outras ferramentas incluem vários aplicativos de desenvolvimento da web, navegadores e clientes FTP .

Frameworks e uso

Praticar a reutilização de código e usar estruturas de aplicativos da web pode melhorar muito a produtividade e o tempo de colocação no mercado (McConnell 1996: 537). A reutilização de componentes desenvolvidos externamente pode permitir que uma organização obtenha os benefícios acima, enquanto potencialmente economiza dinheiro. No entanto, para componentes menores, pode ser tão fácil desenvolver seus próprios componentes quanto aprender novas APIs . Além disso, se um componente for essencial para o negócio, uma organização pode querer controlar seu desenvolvimento.

Veja também

Referências

Leitura adicional