Brainstorm para o AMADIS 1.4

Da AMADIS

O AMADIS finalmente saiu da casca, mas não encontra-se bem formado e pronto para um uso mais intenso. Durante o projeto muitos programadores passaram por ele, o que gerou uma grande incoerência entre os conceitos que o fundamentavam e o modo como foi implementado. O resultado foi um ambiente, de certa forma, instável, com problemas pequenos, mas que geram muito transtorno e uma grande dificuldade de manutenção do ambiente.

Pensando sobre estes problemas uma reestruturação completa da plataforma será refeita, para fins de ganho de estabilidade e coerência dentro do código e funcionalidades. Pois não é aceitável ter duas partes do ambiente, com funcionamentos semelhantes, dar problemas totalmente diferentes, sendo que em grande maioria do código é compartilhado entre as funcionalidades.

As metas a serem alcançadas serão:

  • Estabilidade no funcionamento
  • Maior agilidade da interface
  • Compatibilidade com os principais navegadores (IE5.5, IE6.0, IE7.0, FF, Saffari)
  • Construção modular
  • Substituição da construção de templates encapsulada

As metas podem parecer muito vagas, pois abrangem os mesmos pontos da maioria dos projetos de aplicações web. Mas o objetivo desse documento é indicar quais soluções seram adotadas para o alcanse das metas.

Soluções a serem adotadas

Durante uma fase do projeto, notou-se que muitas das decisões da equipe tomara uma posição imediatista, imaginando-se uma apresentação de resultados em um prazo muito curto. O que acarretou, somado a inexperiência da mesma, em implementações sem fundamentos e má formação da API da plataforma, gerando problemas intermitentes durante a execução da aplicação, e provocando a frustação e irritação dos usuários.

Depois de muito tempo de projeto, e assistindo outros acontecimentos no mundo do desenvolvimento tecnológico, foi possível identificar soluções que viabilizem a reconstrução do AMADIS em um prazo regular, e com garantias de estabilidade e confiabilidade maiores. Por este motivo a solução mais viável é utilizar coisas prontas encontradas na internet para construção da camada inferior do AMADIS. Para estes fins foram selecionados:

  • Zend Framework - Framework desenvolvido pela empresa Zend, mantenedora do PHP, este produto tem como objetivo facilitar o desenvolvimento de aplicações web seguindo o Design Pattern MVC, e já vem com várias soluções de cache, templates, banco de dados, feeds, json, search entre outros.
  • Dojo Toolkit - Framework javascript utilizado para a construção de RIA(Rich Internet Applications) ex: Google Gmail e Novo Yahoo Mail entre outros.
  • CMDevel - Framework para construção da camada de persistência do AMADIS. Será mantido devido ao prazo curto e o Zend_Db ainda não econtra-se estável o suficiente.

Abaixo segue a lista de soluções para cada um dos ítens citados como metas, anteriormente:

  1. Estabilidade de funcionamento: quando o AMADIS foi criado, a equipe atuante naquela época decidiu criar um framework que serviria para facilitar a construção das bases de qualquer ambiente de EAD, e proveria a construção de consultas SQL e geração de templates para que o desenvolvedor pudesse ter mais atenção com as funcionalidades do ambiente, com isso nasceu o CMDevel. Ele foi de grande ajuda, mas a sua manutenção muitas vezes prejudicou o desenvolvimento, contudo, hoje o CMDevel apresenta uma grande estabilidade e seu módulo CMPersistence continuará sendo usado como Objeto Relacional de banco de dados. Mas futuramente poderá ser substituido pelo pacote Zend_Db.
  1. Maior agilidade da interface: para subir mais um degrau na evolução das aplicações web, o AMADIS terá que apresentar mais recursos beneficiados pelo AJAX, até o sua completa utilização no AMADIS 2.0. Por este motivo todos os formulários menores de envio de mensagens, recados, comentários, notícias, postagens nos fóruns e blogs serão executadas por AJAX.
  1. Compatibilidade com os principais navegadores: o desenvolvimento de javascript sempre é a parte mais complicada de qualquer projeto web, portanto a decisão foi encontrar uma solução semelhante ao CMDevel ou Zend Framework para javascript, e durante a procura, foi possível encontrar vários como o Prototype, DyApi, ScriptAculo, Rico e Dojo Toolkit. A escolha foi difícil, pois uns são mais simples, outros mais completos, outros mais fáceis de usar, mas o critério de escolha envolveu: continuidade do projeto e estabilidade. O Dojo foi escolhido por apresentar esses requisitos e também por ter uma API mais voltada para o desenvolvimento de widgets, e não para manipulação das telas de forma desordenada.
  1. Construção modular: a construção modular será complementada de modo usual, e não mais teoricamente, pois com a utilização do Zend Framework, poderá ser utilizado MVC Design Pattern da maneira correta, e as funcionalidades serão distribuidas e carregadas pela aplicação dinamicamente.
  1. Substituição da construção de templates encapsulada: no Zend_views é possivel ter o html das telas separado das classes dos widgets, e mantes a estrutura de widgets, ganhando uma maior mobilidade e facilitando a vida do designer, sendo necessária a intervenção de programadores nos templates, somente no momento de atribuir propriedades ao widget.

Links Relacionados

Ferramentas pessoais
Parceiros
















SourceForge.net Logo

Supported by Cenqua