Next Framework - Desenvolvimento web de forma simples e rápida (utiliza Spring e Hibernate)

Foi disponibilizado o Release Candidate 4 do Next Framework.

Sou o fundador do projeto e gostaria de apresentá-lo para quem não conhece.

O Next é um framework open source (LGPL), para desenvolvimento de aplicações J2EE, que visa a simplicidade para facilitar o trabalho do desenvolvedor. Ele nasceu de um outro projeto, também conduzido por mim, chamado NEO Framework. Os dois frameworks são 100% compatíveis e consideramos que o Next é na verdade, a continuação do Neo (o fonte dos dois é o mesmo, só muda o pacote). Pela continuidade do Next em relação ao Neo ele já começa na sua versão 3.5.0. É um framework estável que já foi utilizado em grandes projetos para Coca-Cola, Ricardo Eletro, Universidade FUMEC, entre outros. O Next está na versão Release Candidate 4 que é provavelmente a ultima versão antes da final.

O Next é baseado em Spring e Hibernate, portanto não tentamos reinventar a roda. O que foi feito é apenas uma camada facilitadora para dar mais produtividade e simplicidade ao desenvolvimento de aplicações. No site exitem vários vídeos e tutoriais mostrando como é feito o desenvolvimento com o Next (os videos são relativos ao desenvolvimento com o NEO, mas é 100% compativel com o Next).
As vantagens do Next são:
- Não utiliza XML, como todo framework hoje em dia
- Baixa curva de aprendizado, aprender o Next é fácil, em uma semana um desenvolvedor que já sabe J2EE consegue tirar proveito e desenvolver aplicações utilizando o framework
- Documentação, videos e tutoriais, para ajudar no aprendizado
- Camada de visão flexivel baseada em templates, existe um MVC para cada tag do NEXT, e a camada view (template) de cada tag pode ser trocada, dando personalidade a sua aplicação
- QueryBuilder, é como o Criteria do Hibernate, só que mais poderoso e mais simples de utilizar, queries limpas
- DAOs, Services, Controllers já implementados para os tipos de uso mais comuns
- Baixo número de configuração e anotações, além de nao precisar de XML a configuração do framework é simples e não requer conhecimento de um número grande de anotações
- Resolve o problema do desenvolvimento web, ao invés de criar um novo problema para ser resolvido
- Camada de visão, tags para os casos mais comuns de desenvolvimento
- Validação e máscaras, para os tipos comuns e tipos brasileiros como CEP, CPF, CNPJ
- Upload de arquivos facilitado
E a maior vantagem é o desenvolvimento rápido de aplicações. Experimentem fazer um tutorial de algum dos videos ou o tutorial do primeiro capítulo da documentação.

Ainda falta no framework:
- Internacionalização (possível apenas utilizando o engine do Spring e apenas para textos, o framework não facilita o uso)
- Testes Unitários (do framework, testes unitários na aplicação são suportados)
Mas já pensamos em colocar essas funcionalidades em próximas versões…

Espero que gostem e as opiniões são muito bem vindas

Obrigado

Rógel

Links:
Site Next Framework

Está aí, o mais novo irmão no NEO com varias novidades, Hibernate 3 e Spring 3. Muito bom!

Oi Rógel. Legal cara, lembro quando vc postou um tempão atras sobre o NEO… bacana que teve continuidade do trabalho, parabéns!

Agora, tu colocou ali, o source não tem teste? Como tu consegue tocar o projeto sem teste?

Fala Fabio… beleza cara?!

Pois é, o projeto continua… desde que lançamos o NEO já fizemos bastante melhorias… inclusive na documentação que cresceu significativamente…

Agora to querendo colocar nova força no projeto… inclusive tem mais desenvolvedores ajudando…

Sobre os testes, na verdade nós não temos testes automatizados, mas sempre que uma funcionalidade nova ou alteração é feita, são criados testes para garantir o funcionamento… Esses testes que podem inclusive ser aplicações servem para verificar se o framework está consistente… O único impecilho é que temos que rodar manualmente…
Quando desenvolvemos o framework pensamos em várias coisas, não apenas se irá funcionar, mas também se é intuitivo e fácil para o programador. Assim, sempre que possível, tentamos construir o framework de forma que a maioria dos erros são detectados em tempo de compilação. Isso ajuda bastante na hora de testar…
Geralmente não acontece de ter bugs pois antes de publicarmos novas versões, migramos as aplicações que nós temos e verificamos se está tudo ok…
De qualquer maneira o framework agora já está bem estável, e os bugs que corrigimos são pequenos…
Os testes maiores mesmo são feitos quando colocamos novas features…

Estamos estudando uma reestruturação geral do NEXT, e é quase certo que nessa reestruturação serão feitos os testes unitários… (pelo menos nos protótipos já construidos os testes foram feitos :D)

Se puder, dá uma testada no projeto… Voce vai ver que a filosofia de desenvolvimento dele é um pouco diferente dos demais frameworks e com isso ele fica bem simples e fácil de mecher…
Com 10 minutos você consegue construir uma aplicação para começar a “brincar”… (veja os tutoriais e documentação)

É provavel que depois do Release Candidate 4 (versão atual) lançaremos a versão FINAL

Valew pela força…

Até mais

Rógel

[quote=rogelgarcia]Fala Fabio… beleza cara?!

Pois é, o projeto continua… desde que lançamos o NEO já fizemos bastante melhorias… inclusive na documentação que cresceu significativamente…

Agora to querendo colocar nova força no projeto… inclusive tem mais desenvolvedores ajudando…

Sobre os testes, na verdade nós não temos testes automatizados, mas sempre que uma funcionalidade nova ou alteração é feita, são criados testes para garantir o funcionamento… Esses testes que podem inclusive ser aplicações servem para verificar se o framework está consistente… O único impecilho é que temos que rodar manualmente…
Quando desenvolvemos o framework pensamos em várias coisas, não apenas se irá funcionar, mas também se é intuitivo e fácil para o programador. Assim, sempre que possível, tentamos construir o framework de forma que a maioria dos erros são detectados em tempo de compilação. Isso ajuda bastante na hora de testar…
Geralmente não acontece de ter bugs pois antes de publicarmos novas versões, migramos as aplicações que nós temos e verificamos se está tudo ok…
De qualquer maneira o framework agora já está bem estável, e os bugs que corrigimos são pequenos…
Os testes maiores mesmo são feitos quando colocamos novas features…

Estamos estudando uma reestruturação geral do NEXT, e é quase certo que nessa reestruturação serão feitos os testes unitários… (pelo menos nos protótipos já construidos os testes foram feitos :D)

Se puder, dá uma testada no projeto… Voce vai ver que a filosofia de desenvolvimento dele é um pouco diferente dos demais frameworks e com isso ele fica bem simples e fácil de mecher…
Com 10 minutos você consegue construir uma aplicação para começar a “brincar”… (veja os tutoriais e documentação)

É provavel que depois do Release Candidate 4 (versão atual) lançaremos a versão FINAL

Valew pela força…

Até mais

Rógel[/quote]

Oi Rogel,

o problema de não se ter testes automatizados é um pouco mais embaixo: tu não consegue medir a quantidade do seu código que está coberta por testes, logo, tu não pode garantir em métricas a qualidade do seu software.

Abraço.

[quote=peerless]
Oi Rogel,

o problema de não se ter testes automatizados é um pouco mais embaixo: tu não consegue medir a quantidade do seu código que está coberta por testes, logo, tu não pode garantir em métricas a qualidade do seu software.

Abraço.[/quote]

Concordo plenamente peer… o que acontece é que os recursos para desenvolvimento do framework ainda são limitados, então damos preferencia para o que é mais importante, como suporte e documentação… Se fossemos cobrir todo o código com testes unitários, gastariamos praticamente o mesmo tempo de desenvolvimento do framework com testes… E pela experiencia que nós temos, a taxa de bugs é pequena e é preferivel investir em suporte do que testes…
Por isso confiamos nos colaboradores e nos nossos testes, que testam as versões a serem lançadas, para verificar se existem bugs…

Não estou tirando a importancia dos testes, a questão é que precisamos dar foco… E mesmo tendo projetos grandes como os que citei anteriormente para a Coca-Cola, Ricardo Eletro, até hoje os teste unitários não foram a demanda principal do projeto…
Confesso que em determinados momentos os testes ajudariam bastante, mas hoje o esforço seria muito grande para cobrir todo o projeto…
Como disse faremos a reformulação do código e com isso adicionaremos os testes unitários…

A pouco tempo atrás, foi feita uma apresentação do framework, onde a aplicação foi desenvolvida na frente dos participantes, sem utilização de ferramentas nem nada (a nao ser o eclipse)… Foi utilizada uma versão nightly build para essa apresentação, que não ficava apenas em cadastros básicos… Mesmo assim, não houve nenhum bug durante a apresentação de 4 horas (nem bug do framework, nem bug de desenvimento)…
Nesse tempo fizemos em torno de 6 casos de uso e criamos a aplicação do zero…
Isso mostra como é simples desenvolver com a ferramenta e como a taxa de erros e necessidade de manutençao é pequena… Além do projeto estar bem robusto…

Mesmo assim, colocaremos os testes nas proximas versoes…

Obrigado pelo comentário… Se tiver mais algum questionamento, é só falar… Sempre é bom conversar para saber o que os desenvolvedores desejam para sempre melhorarmos o projeto…

Até mais

Rógel

Já trabalhei com este framework e com certeza tem muita qualidade…
Posso citar como pontos fortes dele a simplicidade e agilidade de se construir aplicações, e tbm é uma ótima indicação para galera que não curte xml,vou expor algumas opiniões pessoais sobre o framework:

É um dos pontos fortes do framework, bem mais prático que ficar dando um createQuery, um list, embrulhar em um try/catch e bla bla bla…

Seus templates são de fácil gerenciamento e garantem uma padronização da camada de visão…

Existem alguns frameworks hj em dia que vc passa um aperto danado para configurar essas tags :twisted: , outro dia mesmo perdi um tempão para configurar uma tag para upload de arquivos em um outro framework :twisted: :twisted: … No next em pouco tempo vc monta um upload funcional…

Acho super importante dar um gás na documentação, para orientar a galera que está começando com o framework…

A utilização dessas camadas de alto nível do framework agilizam o desenvolvimento e caso necessário podem ser facilmente especializadas…

Boa sorte Rogel, e recomendo a todos baixarem uma versão do next…

A Framework NEXT é muito BOA, tive o prazer de desenvolver um exemplo básico e conheço um sistema corporativo imenso que foi desenvolvido em uma versão anterior. Para o desenvolvedor ela elimina os xml’s e possui POUCAS anotações, o que diminui consideravelmente a burocracia da configuração e integração entre frameworks, ela aumenta a produtividade por esta razão e por já existerem lógicas defaults. A sua flexibilidade também é muita boa pois na medida que o sitema se especifíca as classes podem ser especializadas para atender os critérios necessários. Em uma aplicação básica a configuração se resume basicamente ao bean, sendo que todas as outras configurações necessárias e até a criação de tabelas já são automáticas e invísiveis a quem faz. Um bom teste para analisar a pontencialidade e as melhorias da framework NEXT, anilisando de um ponto de vista corporativo onde prazos,esforço, recursos e capital, são essenciais é tentar desenvolver uma aplicação básica utilizando o NEXT framework e frameworks avulsas.

Boa Rógel!

Nunca na historia desse pais vi um framework tao rápido com segurança para o desenvolvimento JEE. Fora a flexibilidade que existe.

O upload de arquivo é algo sensacional, voce pode escolher salvar em banco ou em disco de forma muito simples.
Tive que fazer um upload usando rich faces e pelo amor de Deus que tristeza.

A parte de MVC das tags é algo incrivel que nenhum framework tem é que traz grandes beneficios.
Quem dera a empresa em que trabalho escolhesse o NEXT para desenvolvimento, eu seria muito mais feliz. :smiley:

Conte com meu apoio rogel que o NEXT tem muito a contribuir com os desenvolvedores do Brasil baronil.

Abraços,
Glauco Cardoso

É com muito orgulho que anunciamos que o primeiro Software de Minas no Portal do Software Público Brasileiro será uma aplicação que foi desenvolvida utilizando o Neo Framework.

Trata-se da GEPLANES - Gestão de Planejamento Estratégico - cujo lançamento será realizado no dia 20 de Abril no portal www.softwarepublico.gov.br.

Acesse o site http://geplanes.com.br/plus//modulos/conteudo/?tac=eventos e confira os detalhes.

[quote=GiovaneFreitas]É com muito orgulho que anunciamos que o primeiro Software de Minas no Portal do Software Público Brasileiro será uma aplicação que foi desenvolvida utilizando o Neo Framework.

Trata-se da GEPLANES - Gestão de Planejamento Estratégico - cujo lançamento será realizado no dia 20 de Abril no portal www.softwarepublico.gov.br.

Acesse o site http://geplanes.com.br/plus//modulos/conteudo/?tac=eventos e confira os detalhes.[/quote]

Bacana Giovane

Agora que eu estou vendo… eu participei desse projeto … heheheh

(põe mais screen shots no site… esse sistema é bacana… tem umas telas bem cabulosas)