Next Framework 3.5 - Desenvolvimento simples de aplicações JEE (Baseado em Spring e Hibernate)

[quote=glaucogoca][quote]
rogelgarcia wrote:

    djemacao wrote:O Seam é assim, você coloca umas coisas e pum, faz uns cruds tb. O Grails então, super fácil, tipo o que fazemos com Rails.
    Na boa, brasileiro gosta tb de criar framework Java, aqui por exemplo já vi uns 5 desde que comecei com a linguagem sendo que um é aclamado e a maioria vaiado. É um VRaptor que é muito, mas muito parecido com o Spring MVC, é um Next que lembra o Seam, é um X que faz o que Y tem. Convenhamos, o que mais vão inventar?



Cara, me desculpe, mas voce está enganado.. o Seam é diferente do Next...
E o Seam também num é assim, faz e pum nao... porque dá muitos problemas.... até voce conseguir fazer alguma coisa funcionar...

Fazer no Seam essa aplicação de exemplo aí... num é tão simples assim não.

Cara, voce já usou o Seam mesmo? Fala sério, leia e aprenda:
http://docs.jboss.com/seam/2.2.0.GA/reference/en-US/html/gettingstarted.html
Para os desavisados que não conhecem, tem um tutorialzinho feito por brasileiro:
http://www.divshare.com/download/3772432-d51
[/quote]

Cara, o JBoss Seam só é produtivo se você criar tags personalizadas ou utilizar algumas que alguém já criou. Isso foi dito pelo profissional da JBoss que veio na minha empresa vender o produto e a criação das tags.

Vai lá no Richfaces, olha o upload de arquivos e conta quantas linhas tem pra ver se são poucas. Sem contar que se usar aquele upload o debug não funciona. (isso pra mim é bizarro.) :shock:

Eu já usei os dois, o JBoss Seam é bom, com as tags personalizadas e tal, mas o Next ainda é bem melhor. :wink:

[]'s

[/quote]

Fala o nome que a própria empresa do JBoss despede o coitado. Seam é um framework sob o JSF, já tem suas tags personalizadas. Se não gosta do RichFaces, coloca o IceFaces. Se não gosta de complicação, mata tudo isso e coloca Rails, pronto. Nada melhor.

[quote=alanweb]É por essas e outras coisas que as pessoas deixam de contribuir para este forum:

[quote=kikostyle][quote=peerless]Sem querer ser chato (daqui a pouco um moderador me da uma bronca), mas já sendo…

mais incrível ainda, é que o pessoal que conhece este framework, tem outro gosto em comum: Avatars de anime.
[/quote]

incrivel, se o cara é capas de juntar os amigos pra promover uma propanda do framework no forum qual seria a credibilidade do mesmo?[/quote]

[quote=djemacao]O Seam é assim, você coloca umas coisas e pum, faz uns cruds tb. O Grails então, super fácil, tipo o que fazemos com Rails.
Na boa, brasileiro gosta tb de criar framework Java, aqui por exemplo já vi uns 5 desde que comecei com a linguagem sendo que um é aclamado e a maioria vaiado. É um VRaptor que é muito, mas muito parecido com o Spring MVC, é um Next que lembra o Seam, é um X que faz o que Y tem. Convenhamos, o que mais vão inventar?[/quote]

Quando o pessoal aqui do forum resolveu criar o VRaptor deve ter sido a mesma coisa(Tentei achar posts antigos pra confirmar mas tava sem tempo), um monte de gente dizendo que é só mais um framework e tal, hoje o VRaptor cresceu e esta maduro!

E o Ruby on Rails que tambem foi criado pelo David Heinemeier Hansson, hoje é um dos frameworks pra web mais utilizados no mundo!

Algumas questões:

O que é um framework?
R: Entre outros termos, acho que nada mais é do que uma aplicação para ajudar (talvez ate para atrapalhar rss) a criar aplicações.

Quem cria/mantém um framework?
R: Empresas, comunidades ativas, pessoas comuns.

Quem mantem Vraptor, Spring, Jsf, Struts2, Wicket, etc…?
R: Empresas, comunidades ativas, pessoas comuns.

Quem mantem o Next?
R: pessoas comuns (Não foi citada nenhuma empresa).

E qual a diferença entre o Next (e qualquer outro novo framework que nao seja apoiado por uma grande empresa, ou lideres de comunidades ativas) e os outros (Vraptor, Spring, Jsf, Struts2, Wicket, etc…)?
R: A vontade (Boa vontade) de testar, contribuir com o projeto por parte dessa comunidade ou qualquer outra, e o fato de que uma grande empresa nao mantem o software.

Acho que o GUJ hoje não é uma comunidade, porque dizer simplesmente:

[quote=fabiocsilva]Até que aquele DAO ficou legal, mas a pergunta que não quer calar é: pra quê?
Por que sempre criar um framework novo ao invés de contribuir com um já existente? Não estou querendo ser chato, apenas gostaria de saber se há um motivo plausível para adotar esse framework.
Talvez devesse se chamar YAWF(Yet Another Web Framerork) ao invés de Neo :D[/quote]

é jogar um balde de agua fria, nas pessoas que estão tentando fazer alguma coisa util.

Se vocês me disserem que não querem usar um framework desse tipo (Que ainda não mantem uma comunidade ativa) em um projeto em produção tudo bem, agora ficar gritando que todo dia se inventa um framework novo é pura ignorância! É tentar freiar a as criações!

Claro, é evidente que o mercado de consultoria de frameworks web esta em alta aqui no Brasil, mas isso já é comum, sempre foi, era no desktop, agora é na web.

Em fim, não conheço o framework em questão, não participo do projeto, só estou defendendo que qualquer criação que traga algo de util é bem vinda, mas so podemos dizer se é util ou não, se testarmos, se não fazemos isso não podemos opinar![/quote]
VRaptor nasceu numa época que não tinha zilhões de frameworks e a bola da vez, na época ainda, era o bizarro Struts. Se não fosse pelo pessoal da Caelum, tb já estava desaparecido.
Mas ninguém quer parar qualquer criação. A questão é: o que um framework hoje precisa fazer que ninguém ainda fez? Foi pensando assim que fizeram o Rails. Acham que o Rails é o ponto final de tudo? Absolutamente não. Se o criador do Merb não juntasse as forças com o Rails, provavelmente teriamos dois com propostas excelentes e diferentes em partes. A questão é que ninguém está pensando fora do quadrado, é todo mundo fazendo uma coisa similar a outra em Java, sem um diferencial além de um upload de arquivos.
Falta um algo a mais e não um detalhezinho ou outro, que nem vale a pena querer um framework assim. Falta algo plugável, de fácil adição, adaptação, modificação, algo como um Eclipse para frameworks Web, entendem?
Se conseguirem pensar nisso, se fizerem isso, podem ter certeza, morrem os demais. E não importa se isso nascer no Brasil ou na África, Índia ou China. Se fizerem algo que vá além do visto atualmente, o mundo vai querer, vão por mim.

PS: Espero que vejam isso como uma crítica construtiva.

Qualquer novo framework é bem-vindo. Usa quem quer. É simples assim. Já falei sobre isso aqui: http://www.guj.com.br/posts/list/105/145644.java#791146

O problema é que agora surgiu um framework em Java diferente e interessante. http://www.playframework.org. É o primeiro que eu usaria ao invés do Mentawai.

[quote=glaucogoca]
Cara, o JBoss Seam só é produtivo se você criar tags personalizadas ou utilizar algumas que alguém já criou. Isso foi dito pelo profissional da JBoss que veio na minha empresa vender o produto e a criação das tags.

Vai lá no Richfaces, olha o upload de arquivos e conta quantas linhas tem pra ver se são poucas. Sem contar que se usar aquele upload o debug não funciona. (isso pra mim é bizarro.) :shock:

Eu já usei os dois, o JBoss Seam é bom, com as tags personalizadas e tal, mas o Next ainda é bem melhor. :wink:

[]'s[/quote]

Glauco, provavelmente você não entendeu o que o profissional estava dizendo. As tags personalizadas proveem do projeto opensource chamado “X-Seam” (https://xseam.dev.java.net), e a idéia é simplesmente fornecer templates facelets para atividades comuns ao DESENVOLVIMENTO JSF. O foco é muito mais View, do que qualquer outra coisa. O Seam sem X-Seam continua tendo todas suas funcionalidades como bijeção, escopos de conversação e BPM, envio de e-mail, transformações de conteúdo (PDF, Spreadshet, etc), independência de View (JSF, GWT, Wicket e SPIs portáveis), crud framework, tooling, remoting, processamento assíncrono, etc.

Eu acho boa a iniciativa de qualquer projeto opensource.
Como mencionado, utiliza quem quer.

Ótima iniciativa… parabéns!!

pode ser uma alternativa software livre ao jCompany

Na verdade esse pessoal que fala mal de jCompany ou um framework no estilo do Next, são pessoas que não conhecem o framework e nem querem dedicar algum tempo para aprende-lo, pois para entender uma arquitetura demanda conhecimento.

Eu trabalho com jCompany JSF e Struts, e achei um pouco dificil no começo (6 meses iniciais)
hj, o vejo como uma mão na roda

Quando chegar em casa vou dar uma olhada no Next

edit: so complementando… ja trabalhei em empresas que tinham frameworks muiiiiiito piores que o jCompany… só para ter a sua “própria arquitetura”…sem exagero…umas coisas bizarras…

[] ´s

Legal esse play framework…

[quote=djemacao][quote=alanweb]É por essas e outras coisas que as pessoas deixam de contribuir para este forum:

[quote=kikostyle][quote=peerless]Sem querer ser chato (daqui a pouco um moderador me da uma bronca), mas já sendo…

mais incrível ainda, é que o pessoal que conhece este framework, tem outro gosto em comum: Avatars de anime.
[/quote]

incrivel, se o cara é capas de juntar os amigos pra promover uma propanda do framework no forum qual seria a credibilidade do mesmo?[/quote]

[quote=djemacao]O Seam é assim, você coloca umas coisas e pum, faz uns cruds tb. O Grails então, super fácil, tipo o que fazemos com Rails.
Na boa, brasileiro gosta tb de criar framework Java, aqui por exemplo já vi uns 5 desde que comecei com a linguagem sendo que um é aclamado e a maioria vaiado. É um VRaptor que é muito, mas muito parecido com o Spring MVC, é um Next que lembra o Seam, é um X que faz o que Y tem. Convenhamos, o que mais vão inventar?[/quote]

Quando o pessoal aqui do forum resolveu criar o VRaptor deve ter sido a mesma coisa(Tentei achar posts antigos pra confirmar mas tava sem tempo), um monte de gente dizendo que é só mais um framework e tal, hoje o VRaptor cresceu e esta maduro!

E o Ruby on Rails que tambem foi criado pelo David Heinemeier Hansson, hoje é um dos frameworks pra web mais utilizados no mundo!

Algumas questões:

O que é um framework?
R: Entre outros termos, acho que nada mais é do que uma aplicação para ajudar (talvez ate para atrapalhar rss) a criar aplicações.

Quem cria/mantém um framework?
R: Empresas, comunidades ativas, pessoas comuns.

Quem mantem Vraptor, Spring, Jsf, Struts2, Wicket, etc…?
R: Empresas, comunidades ativas, pessoas comuns.

Quem mantem o Next?
R: pessoas comuns (Não foi citada nenhuma empresa).

E qual a diferença entre o Next (e qualquer outro novo framework que nao seja apoiado por uma grande empresa, ou lideres de comunidades ativas) e os outros (Vraptor, Spring, Jsf, Struts2, Wicket, etc…)?
R: A vontade (Boa vontade) de testar, contribuir com o projeto por parte dessa comunidade ou qualquer outra, e o fato de que uma grande empresa nao mantem o software.

Acho que o GUJ hoje não é uma comunidade, porque dizer simplesmente:

[quote=fabiocsilva]Até que aquele DAO ficou legal, mas a pergunta que não quer calar é: pra quê?
Por que sempre criar um framework novo ao invés de contribuir com um já existente? Não estou querendo ser chato, apenas gostaria de saber se há um motivo plausível para adotar esse framework.
Talvez devesse se chamar YAWF(Yet Another Web Framerork) ao invés de Neo :D[/quote]

é jogar um balde de agua fria, nas pessoas que estão tentando fazer alguma coisa util.

Se vocês me disserem que não querem usar um framework desse tipo (Que ainda não mantem uma comunidade ativa) em um projeto em produção tudo bem, agora ficar gritando que todo dia se inventa um framework novo é pura ignorância! É tentar freiar a as criações!

Claro, é evidente que o mercado de consultoria de frameworks web esta em alta aqui no Brasil, mas isso já é comum, sempre foi, era no desktop, agora é na web.

Em fim, não conheço o framework em questão, não participo do projeto, só estou defendendo que qualquer criação que traga algo de util é bem vinda, mas so podemos dizer se é util ou não, se testarmos, se não fazemos isso não podemos opinar![/quote]
VRaptor nasceu numa época que não tinha zilhões de frameworks e a bola da vez, na época ainda, era o bizarro Struts. Se não fosse pelo pessoal da Caelum, tb já estava desaparecido.
Mas ninguém quer parar qualquer criação. A questão é: o que um framework hoje precisa fazer que ninguém ainda fez? Foi pensando assim que fizeram o Rails. Acham que o Rails é o ponto final de tudo? Absolutamente não. Se o criador do Merb não juntasse as forças com o Rails, provavelmente teriamos dois com propostas excelentes e diferentes em partes. A questão é que ninguém está pensando fora do quadrado, é todo mundo fazendo uma coisa similar a outra em Java, sem um diferencial além de um upload de arquivos.
Falta um algo a mais e não um detalhezinho ou outro, que nem vale a pena querer um framework assim. Falta algo plugável, de fácil adição, adaptação, modificação, algo como um Eclipse para frameworks Web, entendem?
Se conseguirem pensar nisso, se fizerem isso, podem ter certeza, morrem os demais. E não importa se isso nascer no Brasil ou na África, Índia ou China. Se fizerem algo que vá além do visto atualmente, o mundo vai querer, vão por mim.

PS: Espero que vejam isso como uma crítica construtiva. [/quote]

Tranquilo djemacao… suas observações são muito pertinentes…

Vou mostrar um diferencial que o framework tem aqui então…

Vou inclusive explicar a motivação para isso…

Quando JEE começou, tinhamos Servlets. Só que devenvolver uma aplicação só com servlets, era ruim pois imprimir HTML num servlet não era legal. Então surgiram os JSPs, assim você poderia ter seu código Java no Servlet e depois redirecionar a requisição para o JSP renderizar o HTML.

Com o JSP, surgiram as Tags, que tinham o mesmo problema do Servlet, escrever HTML dentro do código Java. O pessoal vendo isso criou os tag files, que também não resolviam o problema, porque voce teria lógica dentro desses tag files.

O que foi criado no Next então. Tags com templates.

Voce tem a tag, em código java, depois que essa tag, faz o processamento. O processamento é redirecionado para o JSP. E ainda, esse JSP que é apenas o template da tag, pode ser modificado de aplicação para aplicação. Basta colocar o arquivo de template na sua aplicação e alterar conforme desejado.

Exemplo:

<t:listagem>  
    <t:janelaResultados>  
        <t:tabelaResultados>  
            <t:property name="id"/>  
            <t:property name="nome"/>  
            <t:property name="preco"/>  
        </t:tabelaResultados>  
    </t:janelaResultados>  
</t:listagem>  

Esse código renderiza uma tela já com link editar e excluir… mas esses links estão como texto… e eu gostaria que fossem imagens
Mas todas as suas telas já estão com esse padrão…

Para isso voce copia o template da tabelaResultados para sua aplicação e troca essa linha:

<n:link action="editar" parameters="${n:idProperty(n:reevaluate(TtabelaResultados.name,pageContext))}=${n:id(n:reevaluate(TtabelaResultados.name,pageContext))}">editar</n:link>

por

<n:link action="editar" parameters="${n:idProperty(n:reevaluate(TtabelaResultados.name,pageContext))}=${n:id(n:reevaluate(TtabelaResultados.name,pageContext))}"><img src="imgs/editar.png"/></n:link>

Assim todas as outras telas saem modificadas…

O exemplo do botão é um dos mais simples… mas poderíamos mudar as coisas de lugar… trocar o funcionamento… fazer até um Ajax se quisermos… enquanto isso o JSP permanece intacto…

Outra coisa original nesse framework… Olha o tamanho dos JSPs
Depois vocês calculam enquanto estão desenvolvendo aplicações em que parte do desenvolvimento vocês gastam mais tempo… se é fazendo código Java… ou fazendo View…

É daí que vem a principal vantagem do framework… As coisas são fáceis de fazer… e é por isso que dizemos que é um framework de Produtividade.

Melhorando o que eu falei: Quanto tempo vocês gastam implementando código Java, brigando com o framework, e fazendo View?

Ele faz isso de maneira diferente do que seria feito com facelet, tiles, freemaker ou velocity?

Apesar de eu achar que criar um novo framework web é fazer “mais do mesmo”…

Pelo pouco que eu vi, parece que ficou interessante.

Parabéns pelo trabalho e por compartilhar com a comunidade.

[]s

[quote=Alessandro Lazarotti][quote=rogelgarcia]
O que foi criado no Next então. Tags com templates.
[/quote]
Ele faz isso de maneira diferente do que seria feito com facelet, tiles, freemaker ou velocity?[/quote]

Sim… é diferente… nele voce tem código Java e Template para a mesma tag… não é só o template e não é só o Java

Se voce tem a tag X por exemplo… Voce terá o X.java e o X.jsp

Escrevi um artigo, no site do Next para explicar melhor a motivação da criação de um framework… talvez ajude quem estiver com dúvidas, de porque mais um framework…

[size=18]Next - A motivação para um novo framework[/size]

Acho que o que está acontecendo também, é que o pessoal está esperando uma super arquitetura, com uma série de conceitos novos.

O Next, não é isso, não é uma nova arquitetura, um novo completamente diferente do que já foi visto, nada disso.

Pelo contrario, a intenção do Next é justamente facilitar o aprendizado, por isso você não tem aprender quase mais nada além do que voce já sabe. O raciocinio de desenvolvimento web, puro e simples está nele, logo, qualquer um que saiba como funciona um desenvolvimento web, consegue entender o framework.
A intenção dele, é propor soluções, de uma forma simples para os problemas existentes no desenvolvimento web. E o problema do desenvolvimento web, não é criar super arquiteturas.
Como o Next pode ajudar?
Provendo funcionalidades que ajudam nos problemas do dia a dia. É criando uma tela de CRUD de forma mais fácil, relatórios, ajudando a recuperar os dados do banco e depois persistindo, AJAX, upload, criação de telas… etc…
Esses são os problemas que vocês tem que enfrentar todos os dias… e é nesse ponto que o Next vai ajudar…

Trazendo tudo isso mastigado… para facilitar o trabalho que você sempre tem… e aí vem a história da Produtividade. :smiley:

Se pegarmos hoje, dois programadores, que saibam Servlets e JSPs.
Colocasse-mos os dois lado a lado para desenvolver a mesma aplicação.
Um desenvolve com o Next.
O outro com JBoss Seam, por exemplo.

Depois de 10 horas o primeiro já estaria criando sistemas profissionais até com certa fluencia.
O segundo ainda estaria lendo o livro para entender como funciona o ciclo de vida do JSF.

(Desculpem a crítca ao JSF, mas mesmo quem meche com JSF e gosta, sabe que é assim. Eu já mechi também.)

Entendem que a proposta é diferente?

Sim… perfeitamente… Estudamos essa arquitetura plugável para as próximas versões do Next…

E inclusive modularizar o Next caso a pessoa, só deseje utilizar a parte de View… o MVC todo… A parte de persistencia… etc…

Assim quem utiliza o VRaptor ou Spring por exemplo, pode simplesmente adicionar a parte View numa aplicação já existente e dar um aumento da produtividade…

Nossa,

Acho assim, todo mundo que trabalha com Java reclama da quantidade de framewoks que disponibilizamos, e de fato…na minha opinião…isso é bastante complicado…

Nesse modelo do Next que “engloba” uma série de outras frameworks mais consolidadas acho bem bacanã e honestamente, acredito que seja o futuro da web em geral em uma tentativa de padronização.

No caso do next se for ruim ou boa a framework, é da opinião de cada um e deve ser respeitada mas antes da gente criticar, reclamando de mais alguma framework no mercado, vamos tentar fazer um simples CRUD, dar uma olhadinha na documentação, essas coisas…

De qualquer forma, parabéns a quem criou por fornecer mais uma opção.

Pergunta ao autor:

Por que não abre pra comunidade Open Source ?

Qual o roadmap para os próximos releases ?

Mais uam vez, parabéns pela iniciativa

Bacana esse frameWork hein … para coisas simples parece que a curva de aprendizagem é pequena(Hoje uso jsf + facelets + spring + hibernate …) … vou acompanhar … é muito bacana termos iniciativas aqui no Brazil :slight_smile:

[quote=djemacao]
VRaptor nasceu numa época que não tinha zilhões de frameworks e a bola da vez, na época ainda, era o bizarro Struts. [/quote]

Talvez pro mercado no Brasil essa bola fosse o Struts, mas varios outros frameworks ha haviam sido desenvolvidos, acho que ate o jsf na 1a versão ja existia.

[quote=djemacao]
Falta um algo a mais e não um detalhezinho ou outro, que nem vale a pena querer um framework assim. Falta algo plugável, de fácil adição, adaptação, modificação, algo como um Eclipse para frameworks Web, entendem?
Se conseguirem pensar nisso, se fizerem isso, podem ter certeza, morrem os demais. E não importa se isso nascer no Brasil ou na África, Índia ou China. Se fizerem algo que vá além do visto atualmente, o mundo vai querer, vão por mim.[/quote]

Ja “tentaram” fazer isso JSF!

O pessoal ja meteu malha nesse ai tambem rsss!

saoj - Agora imagina se você tivesse desistido, com certeza voce tambem recebeu criticas como essas!

O nome disso é framework Full-Stack. O Mentawai (http://www.mentaframework.org/) foi um dos primeiros em Java a ir por esse caminho. A maioria dos milhões de web frameworks por aí são apenas controladores.

Já usei o Neo agora chamado de next em 3 projetos pequenos e aprovo!

Olá vinicius… o Next já é open source… está hospedado tanto no Source Forge quanto no Google Code

Estamos estudando a ordem em que iremos fazer as coisas mas temos os seguintes objetivos primários para as próximas versões do Next:
[list]Passar o framework todo para inglês[/list]
[list]Divulgação internacional[/list]
[list]Como o Next tem algumas funcionalidades que hoje o Spring implementa, deixar a implementação default do Spring[/list]
[list]Modularizar o framework, assim poderão ser utilizados os módulos individualmente[/list]
[list]Adicionar novos gadgets[/list]
[list]Novo engine de templates - Com mais performance, em testes preliminares, chegou a ter a mesma performance e as vezes mais rápido do que JSP + JSTL puro[/list]
[list]Engine de persistencia tanto para ler quanto para gravar os dados com mais features… (Entenda como um Hibernate turbinado) Hoje existe auxilio do Next para trabalhar com o Hibernate, a intenção é a extenção desse auxilio…[/list]
[list]Tem um engine Javascript que foi pensado, mas a implementação dele é bem complexa, então talvez fique mais pra frente para amadurecer a ideia (ou talvez partes dele sejam implementados)[/list]
[list]Utilização do Spring Roo para geração e manutençao de aplicações[/list]
[list]Utilização de AOP no desenvolvimento (estamos estudando se é interessante)[/list]
[list]Distribuição da aplicação em vários servidores de forma simples[/list]

Resumindo o foco é: Interface (AJAX e Usabilidade), Modularização e Flexibilização, Escalabilidade (acho que não faltou nada né!? eheheh :D)

Obrigado!