![]() |
![]() |
![]() |
|
![]() |
|
www.linkcom.com.br | ![]() |
|
Nota do autor
Artigo
Por que mais um framework?
Por exemplo, utilizamos o hibernate para fazer o mapeamento dos objetos ao banco de dados. Mas em cada aplicação temos que implementar um método findAll() em cada DAO. Ou então, criamos um campo do tipo Date em alguma classe e precisamos declarar uma validação para datas em algum XML. Esse tipo de trabalho que ainda tem que ser feito mesmo utilizando frameworks é que o NEO tenta resolver. O NEO não propõe mais um framework, mas sim o próximo passo dos frameworks. Tanto que o NEO utiliza como base os frameworks Spring e Hibernate. O que o NEO propõe está além do que esses framework já propuseram. A facilidade de desenvolvimento é um ponto chave do NEO. Eu também sou programador e criei um framework para facilitar o trabalho do programador (eu, no caso :D). Uma das formas de facilitar o desenvolvimento é a não utilização de XML. Antes de existir o NEO, nós utilizávamos Struts para desenvolver na empresa. E eu ficava desanimado porque depois de criar uma Action com um bocado de código ainda tinha que declarar um form, uma action e forwards no struts.xml. Eu me perguntava, porque tenho que declarar isso tudo? Geralmente para fazer uma tela eu tinha que utilizar 3 XMLs. Um para o struts, um para a validação e um para o mapeamento no banco de dados. No NEO esses arquivos simplismente não existem. O NEO, ao ligar a aplicação, procura por classes especiais (como Actions do struts) e faz o registro automaticamente. Não é necessário indicar em nenhum lugar que as classes existem. O NEO simplismente acha. Outro recurso, é que códigos comuns já vem implementados. Quantas vezes você tem que fazer uma tela de CRUD por dia? Ou um método findBy dentro de um DAO. O NEO fornece DAOs implementados, isto é, com funcionalidades que podem ser utilizadas sem nenhuma linha de código. Além disso ele possui Controllers especificos para as situações mais comuns como CRUDs e relatórios. Não é necessário nenhuma linha de código Java (a não ser a linha que declara a classe) para fazer um CRUD ou DAO. Se desejar modificar o comportamento padrão, você só precisará escrever o que for diferente. A validação do NEO é feita através de annotations. O simples fato de anotar um getter com @Required faz com que qualquer tela que utilize essa propriedade ganhe a validação automática. Também é feita uma validação no servidor. Campos que forem do tipo Date por exemplo já ganham validação do tipo Date, não é preciso indicar ao framework que o campo date é um date. Com nenhuma linha de código Java é possível fazer uma dependencia de combos utilizando Ajax. Pronto! O código acima irá criar todo o javascript necessário para fazer o reload utilizando ajax. Há! Também não é necessário informar que no campo pais, estado ou cidade você deseja um combo. O Framework já sabe. Todas as propriedades que forem entidades já são combo por padrão. A lista a ser preenchida em cada combo vem do DAO que não foi necessário códificar.
Nos JSPs não é necessário falar que determinado input deve possuir máscara para data. Se a propriedade a que se refere o input é do tipo data a máscara será colocada. Se for Double, será colocada uma máscara para Double, se for CPF será colocada uma máscara para CPF. O NEO possui outros tipos de dados como CPF, CNPJ, CEP e Money. A classe Money possui inclusive métodos para calcular com dinheiro que evitam a perda dos centavos em operações matemáticas. Essas são algumas idéias que o NEO possui e que diferenciam ele dos outros frameworks. O intuito do NEO é resolver o problema. O NEO efetua configurações, ajustes, realiza operações, escolhe propriedades tudo de acordo com o que foi programado. Ou seja, você programa o mínimo necessário e o NEO faz o resto. Na nossa empresa a pior estimativa de melhora no desenvolvimento depois do NEO foi de 30%. O NEO existe há dois anos mas só agora está sendo liberado o código fonte. O desenvolvimento do framework foi direcionado pelas necessidades da Linkcom (empresa onde trabalho). Por isso alguns ajustes ou novas funcionalidades ainda são necessários. Mas o framework já possui um conjunto bom de funcionalidades para se desenvolver aplicações. Inclusive, o sistema da Universidade FUMEC é desenvolvido utilizando o NEO. Dúvidas serão respondidas no fórum do framework. Sugestões são muito bem vindas. Bugs serão corrigidos o mais rápido possível. Espero que o framework seja de grande utilidade para vocês no desenvolvimento de aplicações.
|
Apoio
YourKit
YourKit is kindly supporting open source projects with its full-featured Java Profiler.
YourKit, LLC is the creator of innovative and intelligent tools for profiling
Java and .NET applications. Take a look at YourKit's leading software products:
YourKit Java Profiler and
YourKit .NET Profiler.
Últimas postagens
Erro ao fazer update [RESOLVIDO]
Autor: Tchaco
Erro CrudController
Autor: edu_fernandes
Artigos, Livros e documentação
Autor: Nunes
Crud Master Detail
Autor: carlos ribeiro
[RESOLVIDO] Problema ao iniciar aplicação com NEO
Autor: R.Albany
gerar relatórios
Autor: mouzer
[RESOLVIDO] Missing required Java project: 'Neo'
Autor: r3n4n
The method ognl(String) in the type NeoFunctions is not applicable for the arguments ()
Autor: r3n4n
Dúvida com videos em flash e jsp
Autor: thiago cassimiro
Criptografar senhas Postgresql
Autor: labavel
Fazer upload da imagem em disco e no banco
Autor: labavel
Estilo no detalhe
Autor: Tchaco
Acessar o equivalente ao Neo.getUser() dentro da JSP
Autor: konkix
Dúvida de iniciante
Autor: Eder
Acesso a banco de dados
Autor: Nunes
Gravar Imagem no Banco
Autor: Tchaco
Campos AUTOCOMPLETE
Autor: vanessa
Assinatura Digital
Autor: biharck
Projeto NEO pode ser utilizado em um grande cliente do grande ABC.
Autor: Nunes
Layout Mestre Detalhe
Autor: viniciusst
Problemas com o type CPFCNPJ
Autor: viniciusst
Combo de Estado
Autor: viniciusst
Suporte a dois SGBD's Simultâneos
Autor: biharck
Many-to-Many
Autor: Tux
Gerando relatórios
Autor: viniciusst
Problemas com filtro listagem
Autor: vberga
Projeto descontinuado
Autor: viniciusst
Crud com erro - MySQL
Autor: viniciusst
Erro de cast no DAO
Autor: biharck
@DescriptionProperty Multiplos
Autor: joaopedro
Geração de tabelas - CRUD
Autor: Nunes
iReport
Autor: jlevi
Impressão de PDF em Bamatech MP20-MI
Autor: Alisson
Retorno - Novidades
Autor: vinicius.janones
CRUD Avançado
Autor: cassioseffrin
CRUD
Autor: miltonmmjr
Upload Multiplo de Imagem
Autor: robmsjr
Problema com anotação
Autor: tulio
Integração com Hibernate
Autor: Nunes
Dúvida quanto à referência a imagens
Autor: mmfalcao
Problema com atributo do tipo byte[]
Autor: tulio
Relacionamento Many to Many
Autor: LeonardoBH
Problema ao subir aplicação de upload de arquivos
Autor: cassioseffrin
Neo versão 3.4.0
Autor: pedro.goncalves
Problemas neo 3.4 + jboss 5 e Cascade no Hibernate
Autor: vberga
Erro ao anotar @Bean
Autor: edson.goncalez
Suporte a paginação
Autor: int80h
Menu vertical
Autor: fabricio.costa
Crud
Autor: fabricio.costa
Relatorio JSP
Autor: vberga
|
| Copyright © 2007 www.neoframework.org. Projeto sob a licença LGPL. |