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

71 respostas
rogelgarcia
[img]http://www.nextframework.org/logonextframework.jpg[/img]

Novo framework brasileiro liberado. O Next www.nextframework.org é um framework JEE baseado em Spring e Hibernate que tem como foco principal a simplicidade no desenvolvimendo de aplicações web. A ideia do Next é facilitar o desenvolvimento de aplicações resolvendo problemas mas sem adicionar novos paradgmas ou complicadores. Isso faz com que a curva de apredizado seja pequena e o trabalho com o framework seje facilitado. Por ser baseado em Spring e Hibernate, todas as funcionalidades desses frameworks podem ser utilizadas sem problemas em conjunto com o Next. Algumas características do Next são:

[list]Não utilização de XML. A configuração é feita através de um número reduzido de annotations.[/list]
[list]Baixa curva de aprendizado.[/list]
[list]Documentação, vídeos e tutoriais para ajudar no aprendizado.[/list]
[list]Funcionalidades padrão no desenvolvimento já implementadas como DAOs, Cruds, Relatórios[/list]
[list]Controllers com várias actions, isso possibilita que uma classe de controller possa receber vários tipos de requisição[/list]
[list]Templates para a camada de visão, as tags além de uma classe Java possuem também um arquivo de template que pode ser alterado para cada aplicação, é como um MVC na camada de visão[/list]
[list]Número reduzido de tags, facilita o aprendizado sem perder o poder de criação[/list]
[list]Convention over configuration em praticamente todo o framework, só sendo necessária a configuração do que fugir do padrão[/list]
[list]Classe construtora de queries bem mais poderosa que o Criteria do Hibernate[/list]
[list]Validação e máscaras, para os tipos comuns e tipos brasileiros como CEP, CPF, CNPJ [/list]
[list]Upload de arquivos facilitado [/list]

Alguns exemplos de utilização do framework:

DAO para funcionário com um método findByCPF criado, utiliza o construtor de queries. A classe GenericDAO provê vários métodos genéricos já implementados como findAll, load, save:

public class FuncionarioDAO extends GenericDAO<Funcionario> {

 public Funcionario findByCPF(Cpf cpf){
  return query() // como estamos num DAO de Funcionario, nao precisamos falar que a clausula from é de Funcionario
      .joinFetch("funcionario.cargo")
      .where("funcionario.cpf = ?", cpf)
      .unique();
 }

}

Controller do tipo Crud para a classe funcionário. Toda a funcionalidade está herdada da classe CrudController. Utiliza uma anotação @Controller para configurar a url:

@Controller(path="/modulo/crud/funcionario")
public class FuncionarioCrud extends CrudController<FuncionarioFiltro, Funcionario, Funcionario>{
}

JSP de listagem de dados para um crud de funcionario. Repare que temos propriedades do tipo Date (dataNascimento), Cpf (cpf), entidade Pais (municipio.estado.pais) mas nenhuma informação extra sobre a renderização foi informada, o Next sabe como renderizar cada um dos tipos de dados automaticamente. Também é possível navegar na árvore de objetos como no exemplo municipio.estado.pais:

<%@ taglib prefix="t" uri="template"%>
<t:listagem>
   <t:janelaResultados>
       <t:tabelaResultados>
             <t:property name="id"/>
             <t:property name="nome"/>
             <t:property name="dataNascimento"/>
             <t:property name="salario"/>
             <t:property name="cpf"/>
             <t:property name="foto"/>
             <t:property name="municipio.estado.pais"/>
             <t:property name="municipio.estado"/>
             <t:property name="municipio"/>
       </t:tabelaResultados>
   </t:janelaResultados>
</t:listagem>

Esses são só alguns exemplos de funcionalidades do framework. No site do framework http://www.nextframework.org, podem ser encontrados tutoriais (inclusive em vídeo), além de uma documentação escrita que dá mais informações e exemplos do que pode ser feito.

A semelhança com o framework NEO, conhecido de alguns aqui não é mera coincidencia. O Next é na verdade a continuação do framework Neo, por isso, já começa na sua versão 3.5.

O Next é open-source e está sob a licença LGPL.

71 Respostas

glaucogoca

Um ótima notícia para começar a semana.
Muito bom framework.
Eu aprovo!
Abraços

ricardo.junin

Excelente framework e de alta produtividade eu acho que tudo deveria utilizar conveção ao invés configuração, pena que o mundo não é perfeito. Será que você poderia dizer o que mudou nesta nova versão para a anterior ???

peerless

incrivel como brotam “smalltalkers” nos topicos relacionados a este framework… :lol:

rogelgarcia

Ainda bem que tem o peerless para modificar essa história … hehhehe

Valew peer… por falar nisso… já deu uma olhada no framework? Para ver mais fácil, vai nos tutoriais que tem vários screen casts…

Como diria o francisco: “Num é porque fui eu que fiz não, mas é porque é bom mesmo” :smiley:

Valew…

rogelgarcia

As principais mudanças são:

  • Spring 3
  • Upload facilitado
  • Novo layout padrão
  • Melhor performance de renderização de JSPs
  • Correção de pequenos bugs…
B

Opa… Eu não sou smalltalk e posso garantir que o framework tem qualidade… :wink:

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.

B

Qual é o problema nisso ? Nos trabalhavamos juntos em uma equipe de desenvolvimento,conhecemos e já trabalhamos com este framework, por esse motivo estamos dando um apoio para ele…
Agora sinceramente este não é o foco do tópico…Se você não tem nada para falar a respeito do framework é melhor não comentar né…

Hellmanss

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.

Criou 2 usuarios para inflar o tópico! :lol: :lol:

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 :smiley:

kikostyle

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.

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

rogelgarcia

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

O pessoal deveria contribuir com o NEO então, pois existe desde 2007 como open-source… e desde 2005 como projeto fechado… :smiley:
O Next é apenas uma mudança no nome, mas o projeto é o mesmo… mesmo código, só muda o pacote…

Mas vou explicar porque…

  1. O Next possui conceitos que não são encontrados em nenhum outro framework, como templates para a camada de visão. Onde cada tag tem um arquivo .java e um arquivo .jsp, isso permite que o template seja modificado independente do código java, dando personalidade a aplicação.
  2. Construtor de queries mais poderoso que o Criteria do Hibernate
  3. Classes para persistir árvores de objetos… (Mestre/detalhe por exemplo) com um único comando
  4. Conjunto de tags altamente produtivo, onde não é necessário indicar que um input é do tipo date, ou time ou qualquer outro tipo… porque o framework reconhece sozinho por exemplo
  5. Foi o primeiro framework a utilizar annotations para configurar os componentes, validações, etc
  6. Foi o primeiro framework a utilizar generics para criar classes pre montadas como o DAO citado
  7. Foi o primeiro framework que utilizou Controllers com várias Actions…
  8. Upload de arquivos… sempre foi um parto… no Next é facil
  9. Coisas comuns como reloads de combo via ajax… etc

E a filosofia de simplicidade do framework é diferente, ele resolve o problema do programador realmente… Experimente fazer alguns exemplos do site, veja os screen casts… e voce vai ver que não é YAWF
O Next cresceu a partir da demanda REAL do desenvolvimento de sistemas das empresas. E não como um super projeto que tem super arquiteturas que voce gasta um ano para se tornar eficiente.

Se a filosofia é diferente, nada mais justo do que um framework diferente.
Mas é questão de gosto também, tem gente que prefere Spring, tem gente que prefere JBoss Seam… Eu considero, caso contrario não teria feito o framework, que o Next é um dos mais produtivos… Também não foi reinvenção da roda, pois utiliza o Spring e o Hibernate, o que o Next oferece, é o que esses dois frameworks ainda não apresentaram… mesmo porque eu acho que não está no escopo deles.

Até mais

Obrigado

proteus_adi

Um framework “facilitador” baseado em outros frameworks de mercado…

mmmm,
Talvez eu baixe pra fazer uns testes com sistemas CRUD tipo Cadastro para padaria…
Mas, usar num sistema comercial onde eu tenha q botar meu nominho no final… eu num arrisco não…

Ainda que o treco seja bom…

Quem mantem essa coisa?

rogelgarcia

proteus_adi:
Um framework “facilitador” baseado em outros frameworks de mercado…

mmmm,
Talvez eu baixe pra fazer uns testes com sistemas CRUD tipo Cadastro para padaria…
Mas, usar num sistema comercial onde eu tenha q botar meu nominho no final… eu num arrisco não…

Ainda que o treco seja bom…

Quem mantem essa coisa?

Empresas que tem projetos que utilizam o framework (NEO):
Universidade FUMEC
Ricardo Eletro
Refil - Distribuidora Coca Cola

São os maiores…

Os projetos com o Next ainda estão sendo desenvolvidos, mesmo porque o Next é “relativamente” novo… (vou pedir autorização das empresas para postar os projetos delas aqui)

Lembrem-se… esse não é um projeto que nasceu na academia… e sim dentro de uma empresa… ou seja, ele tinha a obrigação de cumprir o seu papel…

O projeto, apesar dos exemplos CRUD, não servem só para CRUD…

Se quiserem, podem criar um caso de uso qualquer, que seja relativamente pequeno, eu implemento e posto o código aqui no fórum para vocês verem… (tem que ser relativamente pequeno, apenas para caber aqui no fórum)

Até mais

ricardo.junin

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

[quote]

Vamo focar no framework e ao dar opiniões é melhor ser mais profundo e consistente com com relação as crítica e sugestões, para saber se tem ou não credibilidade é melhor testar primeiro …

glaucogoca

Galera,
vamos conhecer o framework para depois, se for o caso, criticar.

Conheço pessoas que acham o jCompany a melhor coisa do mundo e tem meu amigo Gleuber que só programa em Pascal com access,
só porque não conhecem (ou tem preguiça de conhecer) outra coisa. :lol:

Abram a mente :wink:
[]'s

Leozin

Você mora no Brasil?!

biharck

Senhores, apenas para postar, minha empresa utiliza este framework, entre outros, e a forma de integração do spring, hibernate e afins, facilita muito a vida e tempo de nossos desenvolvedores.
Atualmente trabalhamos com projetos em Struts, JSF e Next. O que mais se destaca é tempo de execução, facilidade de entendimento do source entre outros.
Sendo assim apoio este projeto.

rogelgarcia

Tem essa outra empresa:
Konkix

Que desenvolve sistemas para celular, que também utiliza o Next…

rogelgarcia

Tem um outro sistema, que eu participei inclusive, para a Citröen…

Era um sistema feito para celular, só que a parte servidor, foi feita no Next…
A parte view, foi modificada, para a geração das tags de acordo que o aplicativo que rodava no celular pedia…
http://www.citroen.com.br/_v2/mobile/modelos.asp

Nessa página tem um flash com telas do sistema…

fabiofalci

rogelgarcia:
Se quiserem, podem criar um caso de uso qualquer, que seja relativamente pequeno, eu implemento e posto o código aqui no fórum para vocês verem… (tem que ser relativamente pequeno, apenas para caber aqui no fórum)

Existe tanto projetinho oferencedo mil maravilhas que fica difícil chamar a atenção. Por mais que vc fale que o next é isso, é aquilo, é o primeiro framework a usar tal coisa, etc. Não me convence muito.
Até olhei o site, mas sinceramente, muito texto, vídeo, etc. Que tal algo mais objetivo?
Cria uns projetinho de exemplo no github, libera pra galera baixar, fuçar e assim ver os beneficios.

maior_abandonado

talvez seja impreção minha mas o pessoal ta todo desconfiado e botando defeito, sendo que se ele for tudo o que se propõe então é um excelente framework…

parabens, achei bem interessante… até gostaria de estuda-lo, mas vo da preferencia no momento por alguns outros que tem mais mercado… gostaria de ve-lo no futuro…

rogelgarcia

fabiofalci:
rogelgarcia:
Se quiserem, podem criar um caso de uso qualquer, que seja relativamente pequeno, eu implemento e posto o código aqui no fórum para vocês verem… (tem que ser relativamente pequeno, apenas para caber aqui no fórum)

Existe tanto projetinho oferencedo mil maravilhas que fica difícil chamar a atenção. Por mais que vc fale que o next é isso, é aquilo, é o primeiro framework a usar tal coisa, etc. Não me convence muito.
Até olhei o site, mas sinceramente, muito texto, vídeo, etc. Que tal algo mais objetivo?
Cria uns projetinho de exemplo no github, libera pra galera baixar, fuçar e assim ver os beneficios.

Fala fabio, tudo bom?

Criei uma aplicação, pequena, para servir de exemplo mesmo, mas já dá pra ver alguma coisa…
Utilizei a idéia do nosso amigo que queria fazer um sistema para padaria…
Criei 2 CRUDs, sendo que um possui UPLOAD
E mais uma tela, fora do padrão…
São 5 entidades:

  • Funcionario: para guardar os registros de funcionario
  • Pao: para guardar os nomes e preços dos pães
  • Arquivo: para guardar a foto do funcionario
  • Venda: para guardar uma venda
  • ItemVenda: para guardar cada item de uma venda

[color=darkblue]A aplicação consiste em um cadastro de pão.
Um cadastro de funcionário, onde deve ser possível fazer um upload para a foto do mesmo. Essa foto será mostrada tanto na tela de listagem de dados, quanto na entrada de dados.
E um formulário para cadastrar uma venda e seus itens. A venda terá uma referência para um funcionário.[/color]

A aplicação pode ser baixada em: http://www.nextframework.org/download/padaria.zip
Ela está pronta para funcionar no Tomcat 6… é só descompactar…
Tem uma pasta src com os fontes…
Para configurar o banco de dados, edite o arquivo connection.properties que está dentro de WEB-INF/classes e lembre-se de colocar o JAR do driver do seu banco de dados. As tabelas serão criadas automaticamente…

Para facilitar o trabalho, vou colocar aqui alguns códigos que tiveram alguma intervenção e imagens da aplicação:

Para funcionar o Upload, deve ser criada uma classe na aplicação que implemente File, exemplo:

@Entity
public class Arquivo implements File {
	
	Long cdfile;
	String name;
	String contenttype;
	byte[] content;
	Long size;
	
	@Id
	@GeneratedValue(strategy = GenerationType.AUTO, generator = "sq_Arquivo")
	@SequenceGenerator(name = "sq_Arquivo", sequenceName = "sq_Arquivo")
	public Long getCdfile() {
		return cdfile;
	}
	public String getName() {
		return name;
	}
	public String getContenttype() {
		return contenttype;
	}
	public byte[] getContent() {
		return content;
	}
	public Long getSize() {
		return size;
	}
	public void setCdfile(Long cdfile) {
		this.cdfile = cdfile;
	}
	public void setName(String name) {
		this.name = name;
	}
	public void setContenttype(String contenttype) {
		this.contenttype = contenttype;
	}
	public void setContent(byte[] content) {
		this.content = content;
	}
	public void setSize(Long size) {
		this.size = size;
	}

}

É uma entidade normal do hibernate, com getters e setters… Os atributos necessários estão definidos por getters e setters da interface File.
Com essa classe o upload de arquivos fica habilitado.

Para utilizar o arquivo, no Funcionario, é trivial:

...
public class Funcionario {
         .... //outros atributos
         Arquivo foto;

         @ManyToOne(fetch=FetchType.LAZY)
         public Arquivo getFoto() {
                  return foto;
         }

         .... // getters e setters

Quando um funcionário for persistido, o arquivo será detectado e todo o código necessário para a sua persistencia será executado…

Em um JSP, para criar o campo de upload para a foto, basta fazer:

<t:property name="foto"/>

Na listagem de funcionário eu farei testes na foto para verificar se ela existe e então exibir a imagem. Será necessário buscar a foto quando buscar o funcionário, então o DAO de Funcionario ficou assim:

public class FuncionarioDAO extends GenericDAO<Funcionario>{

	@Override
	public void updateListagemQuery(QueryBuilder<Funcionario> query, FiltroListagem filtro) {
		query.leftOuterJoinFetch("funcionario.foto"); // atualizamos a query de listagem de dados para carregar também a foto
	}
}

Também fiz um controller personalizado para a venda… Esse controller ficou assim:

@Controller(path="/site/Venda") //configura a URL
public class VendaController extends MultiActionController {
	
	VendaDAO vendaDAO; // o DAO de Venda será injetado por existir um setter para ele
	
	public void setVendaDAO(VendaDAO vendaDAO) {
		this.vendaDAO = vendaDAO;
	}

	public ModelAndView criar(WebRequestContext request){ // Action para criar uma nova venda
		request.setAttribute("venda", new Venda());
		return new ModelAndView("venda"); //redirecionando para o JSP
	}
	
	public ModelAndView salvar(WebRequestContext request, Venda venda){ //Action para salvar a venda
		vendaDAO.saveOrUpdate(venda); // salvamos a venda no banco de dados
		request.addMessage("Venda criada com sucesso!"); //exibimos uma mensagem de sucesso
 		return sendRedirectToAction("criar"); //enviamos um redirecionamento para a acao 'criar'
	}
}

Para salvar a venda junto com seus itens (mestre/detalhe), o DAO de Venda sofreu a seguinte alteração:

public class VendaDAO extends GenericDAO<Venda>{
	
	@Override
	public void updateSaveOrUpdate(SaveOrUpdateStrategy save) {
		save.saveOrUpdateManaged("itens");//salva os itens da venda junto com a venda em apenas uma transação
	}
}

Basicamente, essas foram as alterações necessárias… Os outros DAOs e Controllers ficaram no padrão, ou seja, não foi necessário codificar nada extra…


Vamos aos JSPs e telas então

Cadastro de Pão, ficou padronizado:

<%@ taglib prefix="t" uri="template"%>
<t:listagem>
	<t:janelaResultados>
		<t:tabelaResultados>
			<t:property name="id"/>
			<t:property name="nome"/>
			<t:property name="preco"/>
		</t:tabelaResultados>
	</t:janelaResultados>
</t:listagem>

<%@ taglib prefix="t" uri="template"%>
<t:entrada>
	<t:janelaEntrada>
		<t:tabelaEntrada>
			<t:property name="id"/>
			<t:property name="nome"/>
			<t:property name="preco"/>
		</t:tabelaEntrada>
	</t:janelaEntrada>
</t:entrada>

Cadastro de funcionário, sofreu algumas alterações para exibir e foto do Funcionario.

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="n" uri="next"%>
<%@ taglib prefix="t" uri="template"%>

<t:listagem>
	<t:janelaResultados>
		<t:tabelaResultados>
			<t:property name="id"/>
			<n:column header="Foto" width="40">
				<c:if test="${!empty funcionario.foto}">
					<img src="${app}/DOWNLOADFILE/${funcionario.foto.cdfile}" width="32"/><!-- <t:property name="foto"/> -->
				</c:if>
			</n:column>
			<t:property name="nome"/>
		</t:tabelaResultados>
	</t:janelaResultados>
</t:listagem>

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="n" uri="next"%>
<%@ taglib prefix="t" uri="template"%>

<t:entrada>
	<t:janelaEntrada>
		<t:tabelaEntrada>
			<t:property name="id"/>
			<n:panel>Foto</n:panel>
			<n:panel>
				<c:if test="${!empty funcionario.foto}">
					<img src="${app}/DOWNLOADFILE/${funcionario.foto.cdfile}"/><BR/>				
				</c:if>
				<t:property name="foto"/>
			</n:panel>
			<t:property name="nome"/>
		</t:tabelaEntrada>
	</t:janelaEntrada>
</t:entrada>

O JSP para cadastro da venda, que foi um JSP fora do padrão:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="n" uri="next"%>
<%@ taglib prefix="t" uri="template"%>

<t:tela titulo="Venda">
	<n:bean name="venda">
		<t:propertyConfig mode="input" renderAs="double">
		<n:panelGrid columns="2" class="inputWindow" width="100%">
			<t:property name="funcionario" labelStyle="width: 100px"/>
			<t:property name="data" type="hidden" write="true"/>
			<n:panel colspan="2">
				<t:detalhe name="itens">
					<t:property name="pao"/>
					<t:property name="quantidade"/>
				</t:detalhe>
			</n:panel>
			<n:submit action="salvar">Efetuar venda</n:submit>
		</n:panelGrid>
		</t:propertyConfig>
	</n:bean>
</t:tela>

A tag n:bean serve para podermos utilizar os t:property do bean selecionado
O n:panelGrid cria uma tabela com duas colunas para a tela ter uma organização
A tag t:propertyConfig indica a todos os t:property que eles estão em modo INPUT e deve renderizar utilizando duas colunas (DOUBLE, uma para o label, e uma para o INPUT)
A tag t:detalhe cria um detalhe (dataGrid) para a propriedade itens da venda, colocando um botão para adicionar e remover itens dinamicamente…


Acho que já dá pra ter uma noção… se tiver alguma dúvida ou curiosidade… basta perguntar…

Até mais

Obrigado

ivo_costa

Alguem poderia citar outros frameworks no estilo desse next?

D

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?

rogelgarcia

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?

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.

fredferrao

maior_abandonado:
talvez seja impreção minha mas o pessoal ta todo desconfiado e botando defeito, sendo que se ele for tudo o que se propõe então é um excelente framework…

parabens, achei bem interessante… até gostaria de estuda-lo, mas vo da preferencia no momento por alguns outros que tem mais mercado… gostaria de ve-lo no futuro…

Concordo com voce, pessoal só ta malhando sem sequer experimentar o framework, fazer testes e etc. E a ideia dele parece bacana mesmo.

Ou agora é proibido criar framework???

D

rogelgarcia:
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?

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

Agora, o que Next faz que isso não faz? E tem mais, eu nunca tive dificuldade em ver o Seam funcionar, nem tive problemas. E já usei com Jetty, Tomcat e GlassFish. Nem precisei do JBoss.
Não leve como crítica ruim ao seu framework, é que quando conhecemos vários, vemos apenas o famoso “mais do mesmo”. Revolucionar que nem o Rails que faz todo mundo imitar até hoje num apareceu 1, desculpe a sinceridade.

kikostyle

jCompany

Já trabalhei com ele, só dor de cabeça, é pra quem não sabe montar a sua propria arquitetura direiro e prefere pagar por um monte de coisa open source do mercado em um pacotinho.

kikostyle

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?

Isso tudo pq vender frameworks e consultoria tem dado grana.

nofan

Ótima iniciativa, parabens!

Infelizmente tambem estou focado em estudar outros frameworks mas pretendo acompanhar a evolução deste framework!

kikostyle

fredferrao:
maior_abandonado:
talvez seja impreção minha mas o pessoal ta todo desconfiado e botando defeito, sendo que se ele for tudo o que se propõe então é um excelente framework…

parabens, achei bem interessante… até gostaria de estuda-lo, mas vo da preferencia no momento por alguns outros que tem mais mercado… gostaria de ve-lo no futuro…

Concordo com voce, pessoal só ta malhando sem sequer experimentar o framework, fazer testes e etc. E a ideia dele parece bacana mesmo.

Ou agora é proibido criar framework???

Não sei vc mas eu já to meio de saco cheio de ver toda semana surgir um framework novo.

Jose111

Cara muito boa sua iniciativa rogelgarcia, essa história de que existe tal coisa nao adianta eu criar algo parecido pra mim é bravata,
porque pode ter mais X frameworks que fazem o que o Next faz, mas ele pode se a alternativa para quem nao gosta de nenhum deles…

Se por existir algo “grande” voce nao pode criar algo semelhante entao pq nao vejo a galera criticando os topicos desse nosso amigo aqui.

D

Jose111:
Cara muito boa sua iniciativa rogelgarcia, essa história de que existe tal coisa nao adianta eu criar algo parecido pra mim é bravata,
porque pode ter mais X frameworks que fazem o que o Next faz, mas ele pode se a alternativa para quem nao gosta de nenhum deles…

Se por existir algo “grande” voce nao pode criar algo semelhante entao pq nao vejo a galera criticando os topicos desse nosso amigo aqui.

É porque não lançam uma IDE todos os dias. Sai contando qtos frameworks foram lançado em 1 ano e quantos são brasileiros.

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

rogelgarcia

djemacao:
rogelgarcia:
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?

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

Agora, o que Next faz que isso não faz? E tem mais, eu nunca tive dificuldade em ver o Seam funcionar, nem tive problemas. E já usei com Jetty, Tomcat e GlassFish. Nem precisei do JBoss.
Não leve como crítica ruim ao seu framework, é que quando conhecemos vários, vemos apenas o famoso “mais do mesmo”. Revolucionar que nem o Rails que faz todo mundo imitar até hoje num apareceu 1, desculpe a sinceridade.

Tranquilo cara, mas já trabalhei com o Seam já… é diferente mesmo…

Mas como eu disse ali atrás… o framework já existe a bastante tempo, inclusive a mais tempo que o Seam, então não foi tentativa de imitar um ou outro não… Ele surgiu como uma coisa original mesmo… Mas mesmo tendo surgido esses outros frameworks que tem algumas ideias que também estão presentes no Next, o Next ainda tem uma proposta diferente e algumas features não presentes em outros… Em primeiro momento, parece que é a mesma coisa, mas depois que voce trabalha, voce ve que tem certas diferenças… principalmente, pelo fato do JBoss Seam, na camada de visão utilizar framework orientado a componentes como o JSF…

Uma diferença grande que já dá pra percerber que o Next tem, é na questão do upload por exemplo… veja que não teve nada de código complicado para fazer o upload, só implementar uma classe com getters e setters…

Valew

benflodin

mesmo se o framework nao for a bala de prata o importante e’ a intencao de colaborar e dar alternativas

Parabens :smiley:

rogelgarcia

Valew galera…

Obrigado a todos pela força no framework…

Mas podem continuar opinando… todas as criticas ou sugestões são bem vindas…

:smiley:

Se quiserem postar no fórum do framework, 100% também…

Quem quiser acompanhar as notícias do framework… tem um feed RSS na página principal… você pode adicionar o do google por exemplo, e receber notícias no seu gmail…

A

É por essas e outras coisas que as pessoas deixam de contribuir para este forum:

kikostyle:
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.

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

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?

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:

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

é 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!

D

glaucogoca:

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  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  muitos problemas.... até voce conseguir fazer alguma coisa funcionar...

Fazer no Seam essa aplicação de exemplo ... 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

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

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.

D

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

kikostyle:
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.

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

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?

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:

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

é 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!


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.

saoj

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.

Alessandro_Lazarotti

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

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.

Alessandro_Lazarotti

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

aconstantino

Ó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

rogelgarcia

Legal esse play framework…

rogelgarcia

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

kikostyle:
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.

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

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?

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:

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

é 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!


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.

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.

rogelgarcia

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

Alessandro_Lazarotti

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

J

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

rogelgarcia

Alessandro Lazarotti:
rogelgarcia:

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

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

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

rogelgarcia

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?

rogelgarcia

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…

vinicius.martinez

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

O

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:

A

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.

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.

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.

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!

saoj

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.

L

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

rogelgarcia

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!

ranophoenix

Garcia,

Por que vocês não padronizaram o idioma utilizado nas tags? Particularmente, além de não achar muito elegante, acredito que a utilização de tags em português talvez dificulte uma possível divulgação e utilização do framework fora das fronteiras tupiniquins, se esse for um dos objetivos da equipe. De qualquer forma, acho que ou todas as tags devem ser inglês ou português, e não os dois.

Parabéns pelo projeto e acho que quanto mais projeto open source existerem, melhor. Gosto muito de, quando tenho um tempo sobrando, olhar o código-fonte de projetos para ver como certas mentes resolveram determinados problemas.

Adelar

Já está na lista pra ver :slight_smile:

ranophoenix

É mesmo!

Então tá blz! Agora é bola frente e que vocês tenham êxito nesses objetivos! :wink:

bgbraga

Polêmicas, polêmicas.

Acho que toda essa discussão foi motivada por essa frase do Rogel.
Se ele tivesse escrito simplesmente: Framework Neo renomeado para Next, teriam menos criticas a um “novo framework”.
As pessoas estão cansadas de novos frameworks web e eu compreendo porque.

Mas no fundo tudo isso foi bom. Foi bom “cutucarem” o Rogel para ele criar um exemplo de app com o Next (o software da padaria), criar o artigo explicando a motivação do framework, etc.

Tenho certeza que agora as coisas estão mais claras para novos usuários ou pessoas que queiram aprender sobre o Next.
Por isso uma pequena polêmica de vez enquando é bom para sair da rotina, chamar atenção para algo, acertar o que estava faltando, etc.

Não sou a favor de criticar sem avaliar o trabalho, mas no fundo quem ganhou com tudo isso foi o Next. Isso que é legal de projetos Open Source - o contato com a comunidade. Até das coisas ruins podemos tirar coisas positivas.

A proposito, já conhecia do Neo (agora Next) a muito tempo e ele realmente é um fw bem antigo.

Todo esse envolvimento com Open Source é bom. Devia fazer mais parte da nossa cultura. Daqui a um tempo o Next pode ser O framework e utilizado por muitos ou o Rogel pode usar toda essa experiência adquirida e contribuir com outros projetos de sucesso, ou mesmo usar no dia a dia.

Sigam em frente.

Jesuino_Master

Olá :slight_smile:

Acho que o medo é outro. Li o tópico inteiro, como ninguém tocou nesse ponto, vou falar.

Um dos problemas não seria a “torre de babel” causada por diversos frameworks MVC? Embora ainda seja Java, podemos hoje trabalhar em um projeto para manutenção/extensão em Struts e amanhã JSF, e depois VRaptor… Isso dificulta achar profissionais em mundo onde achar pessoas que pelo menos saibam o básico bem… Eu trabalho com outra tecnologia e sei a dificuldade que temos na manutenção só pelo fato do programador inventar umas lógicas estranhas no programa :S

Comecei a notar isso quando há uns meses quando um amigo me pediu uma ajuda em uma nova aplicação WEB, em Java, e eu sugeri Struts 2+ JPA + Spring. A pergunta dele foi:

“É fácil achar gente que conhece isso?”

É claro que sabemos que quem está atento a fóruns/notícias sabe o que realmente “está pegando”, mas não são todos profissionais que fazem isso…

Eu não censuro nenhuma iniciativa nova, até porque acho que ninguém tem o direito disso porque não impacta diretamente na vida da pessoa. Acho que questionar alguns pontos é sadio, obviamente, pois permite o crescimento do projeto! Mas chegar jogando uma balde de água fria não leva a nada…

Agora falando sobre o framework. Vi o anúncio no JavaFree. Sugeriram que o Rógel Garcia fizesse um comparativo com o VRaptor. Caras, ele poderia levar como uma ofensa ou fazer corpo mole para escrever o comparativo, mas em poucos minutos estava lá o texto. Por isso eu fiz o que tenho feito com VRaptor, Play, Grails(…): testei, e vi que o framework faz o essencial e que cobre as necessidades de um framework MVC, só não li a fundo por falta de tempo…

Hoje, a minha opção, quando tenho que fazer algo Java WEB, ainda é Struts2 + Hibernate + Spring(estou crescendo nesse ainda), mas sei que tenho trabalhos evolutivos crescentes em paralelo e o melhor de tudo, feito por brasileiros, como o Next e o VRaptor…

Boa sorte Rógel Garcia!

OBS: A torre de babel também traz benefícios. Vide artigo do Eduardo Guerra na Mundo Java 39: Herança e Composição - OS princípios por trás dos padrões - No final ele cita alguns pontos que impactam a adoção de um framework. Isso pode ser considerado um avanço, pois todos irão pensar em aspectos do lado do desenvolvedor antes de construir um frame…

ksmvalente

Achei muito interessante a proposta do framework.

Parei para dar uma olhada, já li quase toda documentação disponível no site. Achei realmente que torna o desenvolvimento mais produtivo e puder ver que é um framework feito para o mercado, resolve problemas rotineiros, e não é cheio de novos paradigmas e conceitos.

Vou começar a utilizar em projetos pessoais.

Parabéns pela iniciativa.

Abdon

Muito legal mesmo! Na minha opinião faltam coisas como o Next, Spring Roo, playframework em java.

Parabéns e Sucesso !

Malkz

Olá Roger,

Valeu pelo framework muito legal, claro que existem outras soluções , mas o importante é que seu projeto cresça e quem sabe não possa figurar entre os frameworks mais comerciais. Confesso que Java sem os frameworks não seria muito legal, mas para se fazer um bom trabalho hoje precisamos usar vários deles e isso de certa forma atrapalha no requisito simplicidade e praticidade. Atualmente meu foco está nos mais comerciais devido aos projetos em que trabalho, mas não quer dizer que o Neo/Next não possa ser uma solução pro futuro.

Abçs

motta_tb

li o topico inteiro e quase metade do site do next

ehhehehe

acho interessante que se eu tiver alguma duvida mais sinistra, tenho acesso ao criador da parada.

nao cheguei a codificar usando o novo framework, mas dou-lhe os parabens pela iniciativa.

Javart

Gostei do NEXT e ainda tem um otimo site !!!

Isso ai inovar é preciso.

R

esse next é actionBase ou Faces?

rogelgarcia

É action based… nos internos usa um pouco do Spring MVC!

Criado 28 de fevereiro de 2010
Ultima resposta 13 de abr. de 2011
Respostas 71
Participantes 37