SlideShare una empresa de Scribd logo
1 de 27
Descargar para leer sin conexión
Um frameworkWEB MVC para desenvolvimento ágil com JAVA
Formação acadêmica
Pós-graduado em Segurança de redes e sistemas
Graduado em Sistemas de informação - Faculdade Santa Maria
Graduado em Analise e desenvolvimento de sistemas - UNIBRATEC
Oracle Certified Java Associate 5/6
Oracle Certified Java Programmer 6
Membro do PMI® Management Institute
Sobre o palestrante
Yelken H. F. Gonzales
Experiência profissional
Analista de sistemas no grupo Ferreira Costa
Atuou como desenvolvedor no portal de dados abertos do governo do estado de PE e na implantação e
desenvolvimento de inovações tecnológicas no grupo Ferreira Costa
Atuou em empresas e orgão público como: Safari Studio, BankSystem Software Builder, Prefeitura de
Olinda
Campeão no Hackathon Telefonica Vivo / Firefox OS de melhor aplicativo na Campus Party de 2013
Projeto SkyON o qual faço parte da equipe em segundo lugar no Hackathon da NASA em Recife
Motivação da palestra
Cometi vários erros em um projeto de
automação na WEB
Conceitos básicos
Frameworks WEB
O que é Framework?
‘‘
Um framework é uma abstração
que une códigos comuns entre
vários projetos de software
provendo uma funcionalidade
genérica.
• Popularidade
• Filosofia
• Sustentabilidade
• Técnica
• Segurança
• Documentação
• Licença
• Tem recurso no mercado?
• Experimente!
Critérios para escolher um framework
E MVC ?
‘‘
MVC é um padrão de
arquitetura que descreve como
três camadas de
desenvolvimento relacionam
entre si.
• Framework MVC para WEB
• Focado no desenvolvimento
rápido
• Action based
• Open source
• Iniciativa da comunidade JAVA
Brasileira
• Criado na USP em 2003
• Mantido pela CAELUM
Enfim o VRaptor!!
• 1.0 em 2003
• 2.0 em 2006 baseada no Ruby
on Rails
• 3.0 em 2009 com conceito forte
de configuração, injeção de
dependência, annotations e
serviços WEB
• 4.0 em 2014 com uma evolução
maior em CDI
Versões do VRaptor
• Alta produtividade
• Baixa curva de aprendizagem
• Testabilidade
• Economia de tempo no projeto e
consequentemente dinheiro
• Flexibilidade
• Documentação em português
Vantagens
•Não possui componentes próprios como o JSF
•Maior dependência do HTML, CSS e Javascript
Desvantagens
•Aprenda HTML, CSS e JS.
•Jquery ,Jquery UI, YUI, ExtJS e AngularJS
•Use o VRaptor!
Solução para as desvantagens
Convention over
configuration
web.xml
Recursos
Controllers
@Resource
public class ProdutosController {

 

 private ProdutoDao dao;
!

 public List<Produto> lista() {

 
 return dao.listaTodos();

 }
}
View
<ul>

 <c:forEach items=“${produtoList}” var=“produto">

 
 <li> ${produto.id} - ${produto.nome} </li>

 </c:forEach>
</ul>
Injeção de dependência
@Component
public class ProdutoDao { //... }
!
@Resource
public class ProdutosController {

 private ProdutoDao dao;

 

 public ProdutosController(ProdutoDao dao) {

 
 this.dao = dao;

 }
}
Redirecionamentos
public void adiciona(Produto produto){

 dao.adiciona(produto);

 result.redirectTo(this).lista();
}
Validação
public void adiciona(Funcionario funcionario) {

 if (funcionario.getNome().isEmpty()) {

 
 validator.add(new ValidationMessage(“nome.invalido","erro"));

 }

 

 validator.onErrorUsePageOf(this).formulario();

 dao.adiciona(funcionario);
};
REST
public class ProdutosController {
!
@Get(“/produtos")
public List<Produto> lista() {…}
!
@Post(“/produtos")
public void adiciona(Produto produto) {…}
!
@Get(“/produtos/{produto.id}")
public void visualiza(Produto produto) {…}
!
}
JSON e XML (AJAX)
public void loadJson(Cliente cliente {

 result.use(json()).from(cliente).serialize();
}
!
public void loadXml(Cliente cliente) {

 result.use(xml()).from(cliente).serialize();
}
Vamos a parte
prática
• github.com/caelum/vraptor
• caelum-vraptor@googlegroups.com
• http://vraptor.caelum.com.br/
comunidade.jsp
Comunidade
Dúvidas
@yelkezin Yelken Heckman ylk.com.br
Obrigado!

Más contenido relacionado

La actualidad más candente

React - Biblioteca Javascript para criação de UI
React - Biblioteca Javascript para criação de UIReact - Biblioteca Javascript para criação de UI
React - Biblioteca Javascript para criação de UICleiton Francisco
 
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Daniel Makiyama
 
ASP.NET Web Forms X ASP.NET MVC
ASP.NET Web Forms X ASP.NET MVCASP.NET Web Forms X ASP.NET MVC
ASP.NET Web Forms X ASP.NET MVCguest489a65e
 
JSF 2 e Primefaces - 4º Encontro Mensal do Gojava
JSF 2 e Primefaces - 4º Encontro Mensal do GojavaJSF 2 e Primefaces - 4º Encontro Mensal do Gojava
JSF 2 e Primefaces - 4º Encontro Mensal do GojavaFrederico Maia Arantes
 
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...Rodrigo Branas
 
O framework spring
O framework springO framework spring
O framework springBruno Catão
 
Vue.js - o framework progressivo
Vue.js - o framework progressivoVue.js - o framework progressivo
Vue.js - o framework progressivoVinicius Reis
 
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.jsJava script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.jsVinicius Reis
 
Os 10 maus hábitos dos desenvolvedores JSF
Os 10 maus hábitos dos desenvolvedores JSFOs 10 maus hábitos dos desenvolvedores JSF
Os 10 maus hábitos dos desenvolvedores JSFRafael Ponte
 
Introdução ao desenvolvimento de aplicações web
Introdução ao desenvolvimento de aplicações webIntrodução ao desenvolvimento de aplicações web
Introdução ao desenvolvimento de aplicações webRodrigo Branas
 
ASP .NET MVC - Você esta pronto para a pílula vermelha?
ASP .NET MVC - Você esta pronto para a pílula vermelha?ASP .NET MVC - Você esta pronto para a pílula vermelha?
ASP .NET MVC - Você esta pronto para a pílula vermelha?Douglas Aguiar
 
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...Daniel Makiyama
 
Diego Narducci - React + Angular
Diego Narducci - React + AngularDiego Narducci - React + Angular
Diego Narducci - React + AngularDiego Narducci
 
Aula Introdução a VRaptor 4 - Pós Java UTFPR
Aula Introdução a VRaptor 4 - Pós Java UTFPRAula Introdução a VRaptor 4 - Pós Java UTFPR
Aula Introdução a VRaptor 4 - Pós Java UTFPRAndré Luiz Forchesatto
 

La actualidad más candente (20)

Arquitetura do Framework Spring
Arquitetura do Framework SpringArquitetura do Framework Spring
Arquitetura do Framework Spring
 
React - Biblioteca Javascript para criação de UI
React - Biblioteca Javascript para criação de UIReact - Biblioteca Javascript para criação de UI
React - Biblioteca Javascript para criação de UI
 
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
 
ASP.NET Web Forms X ASP.NET MVC
ASP.NET Web Forms X ASP.NET MVCASP.NET Web Forms X ASP.NET MVC
ASP.NET Web Forms X ASP.NET MVC
 
JSF 2 e Primefaces - 4º Encontro Mensal do Gojava
JSF 2 e Primefaces - 4º Encontro Mensal do GojavaJSF 2 e Primefaces - 4º Encontro Mensal do Gojava
JSF 2 e Primefaces - 4º Encontro Mensal do Gojava
 
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
 
Desenvolviemento web com ASP.Net e MVC
Desenvolviemento web com ASP.Net e MVCDesenvolviemento web com ASP.Net e MVC
Desenvolviemento web com ASP.Net e MVC
 
O framework spring
O framework springO framework spring
O framework spring
 
JavaFX 1.2
JavaFX 1.2JavaFX 1.2
JavaFX 1.2
 
Vue.js - o framework progressivo
Vue.js - o framework progressivoVue.js - o framework progressivo
Vue.js - o framework progressivo
 
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.jsJava script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
 
Os 10 maus hábitos dos desenvolvedores JSF
Os 10 maus hábitos dos desenvolvedores JSFOs 10 maus hábitos dos desenvolvedores JSF
Os 10 maus hábitos dos desenvolvedores JSF
 
Introdução ao desenvolvimento de aplicações web
Introdução ao desenvolvimento de aplicações webIntrodução ao desenvolvimento de aplicações web
Introdução ao desenvolvimento de aplicações web
 
ASP .NET MVC - Você esta pronto para a pílula vermelha?
ASP .NET MVC - Você esta pronto para a pílula vermelha?ASP .NET MVC - Você esta pronto para a pílula vermelha?
ASP .NET MVC - Você esta pronto para a pílula vermelha?
 
JSF - JavaServer Faces
JSF - JavaServer FacesJSF - JavaServer Faces
JSF - JavaServer Faces
 
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
 
Diego Narducci - React + Angular
Diego Narducci - React + AngularDiego Narducci - React + Angular
Diego Narducci - React + Angular
 
Angular js
Angular jsAngular js
Angular js
 
React - Introdução
React - IntroduçãoReact - Introdução
React - Introdução
 
Aula Introdução a VRaptor 4 - Pós Java UTFPR
Aula Introdução a VRaptor 4 - Pós Java UTFPRAula Introdução a VRaptor 4 - Pós Java UTFPR
Aula Introdução a VRaptor 4 - Pós Java UTFPR
 

Destacado

CDI e as ideias pro futuro do VRaptor
CDI e as ideias pro futuro do VRaptorCDI e as ideias pro futuro do VRaptor
CDI e as ideias pro futuro do VRaptorCaelum
 
Refatoração de código com Capitão Nascimento versão completa
Refatoração de código com Capitão Nascimento versão completaRefatoração de código com Capitão Nascimento versão completa
Refatoração de código com Capitão Nascimento versão completaEduardo Bregaida
 
Caelum java-web-vraptor-hibernate-ajax-fj28
Caelum java-web-vraptor-hibernate-ajax-fj28Caelum java-web-vraptor-hibernate-ajax-fj28
Caelum java-web-vraptor-hibernate-ajax-fj28Valdinho Pereira
 
Apresentação VRaptor 3
Apresentação VRaptor 3Apresentação VRaptor 3
Apresentação VRaptor 3Alabê Duarte
 
Introducing dwr (direct web remoting)
Introducing dwr (direct web remoting)Introducing dwr (direct web remoting)
Introducing dwr (direct web remoting)Ashish Boobun
 
Framework MVC - vRaptor
Framework MVC - vRaptorFramework MVC - vRaptor
Framework MVC - vRaptorÉdipo Souza
 
VRaptor 3, JPA, Hibernate, Geotools e OpenLayers, ajudando Pedro Alvares Cabr...
VRaptor 3, JPA, Hibernate, Geotools e OpenLayers, ajudando Pedro Alvares Cabr...VRaptor 3, JPA, Hibernate, Geotools e OpenLayers, ajudando Pedro Alvares Cabr...
VRaptor 3, JPA, Hibernate, Geotools e OpenLayers, ajudando Pedro Alvares Cabr...Carlos A. Junior Spohr Poletto
 
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3André Luiz Forchesatto
 
Porque você deveria usar CDI nos seus projetos Java! - JavaOne LA 2012 - Sérg...
Porque você deveria usar CDI nos seus projetos Java! - JavaOne LA 2012 - Sérg...Porque você deveria usar CDI nos seus projetos Java! - JavaOne LA 2012 - Sérg...
Porque você deveria usar CDI nos seus projetos Java! - JavaOne LA 2012 - Sérg...Caelum
 
VRaptor - Ciclo CASIN 2011
VRaptor - Ciclo CASIN 2011VRaptor - Ciclo CASIN 2011
VRaptor - Ciclo CASIN 2011Daniel Kist
 

Destacado (14)

Introdução ao vraptor
Introdução ao vraptorIntrodução ao vraptor
Introdução ao vraptor
 
CDI e as ideias pro futuro do VRaptor
CDI e as ideias pro futuro do VRaptorCDI e as ideias pro futuro do VRaptor
CDI e as ideias pro futuro do VRaptor
 
Refatoração de código com Capitão Nascimento versão completa
Refatoração de código com Capitão Nascimento versão completaRefatoração de código com Capitão Nascimento versão completa
Refatoração de código com Capitão Nascimento versão completa
 
Caelum java-web-vraptor-hibernate-ajax-fj28
Caelum java-web-vraptor-hibernate-ajax-fj28Caelum java-web-vraptor-hibernate-ajax-fj28
Caelum java-web-vraptor-hibernate-ajax-fj28
 
Apresentação sobre VRaptor na Campus Recife 2014
Apresentação sobre VRaptor na Campus Recife 2014Apresentação sobre VRaptor na Campus Recife 2014
Apresentação sobre VRaptor na Campus Recife 2014
 
Palestra VRaptor 3
Palestra VRaptor 3Palestra VRaptor 3
Palestra VRaptor 3
 
Apresentação VRaptor 3
Apresentação VRaptor 3Apresentação VRaptor 3
Apresentação VRaptor 3
 
Vraptor 3
Vraptor 3Vraptor 3
Vraptor 3
 
Introducing dwr (direct web remoting)
Introducing dwr (direct web remoting)Introducing dwr (direct web remoting)
Introducing dwr (direct web remoting)
 
Framework MVC - vRaptor
Framework MVC - vRaptorFramework MVC - vRaptor
Framework MVC - vRaptor
 
VRaptor 3, JPA, Hibernate, Geotools e OpenLayers, ajudando Pedro Alvares Cabr...
VRaptor 3, JPA, Hibernate, Geotools e OpenLayers, ajudando Pedro Alvares Cabr...VRaptor 3, JPA, Hibernate, Geotools e OpenLayers, ajudando Pedro Alvares Cabr...
VRaptor 3, JPA, Hibernate, Geotools e OpenLayers, ajudando Pedro Alvares Cabr...
 
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
 
Porque você deveria usar CDI nos seus projetos Java! - JavaOne LA 2012 - Sérg...
Porque você deveria usar CDI nos seus projetos Java! - JavaOne LA 2012 - Sérg...Porque você deveria usar CDI nos seus projetos Java! - JavaOne LA 2012 - Sérg...
Porque você deveria usar CDI nos seus projetos Java! - JavaOne LA 2012 - Sérg...
 
VRaptor - Ciclo CASIN 2011
VRaptor - Ciclo CASIN 2011VRaptor - Ciclo CASIN 2011
VRaptor - Ciclo CASIN 2011
 

Similar a VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA

Jsf com hibernate, spring security e maven
Jsf com hibernate, spring security e mavenJsf com hibernate, spring security e maven
Jsf com hibernate, spring security e mavenLeandro Costa
 
Apostila de Fundamentos Java
Apostila de Fundamentos JavaApostila de Fundamentos Java
Apostila de Fundamentos JavaMarcio Marinho
 
TDC2011: Arquitetura de Software Enterprise
TDC2011: Arquitetura de Software EnterpriseTDC2011: Arquitetura de Software Enterprise
TDC2011: Arquitetura de Software EnterpriseDr. Spock
 
Certificacoes java
Certificacoes javaCertificacoes java
Certificacoes javaBruno Garcia
 
Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.Valmir Justo
 
RubyConf 17 - Colocando sua aplicação vue nos trilhos
RubyConf 17 - Colocando sua aplicação vue nos trilhosRubyConf 17 - Colocando sua aplicação vue nos trilhos
RubyConf 17 - Colocando sua aplicação vue nos trilhosFelipe Gadelha Ruoso
 
Visão Geral do Java para Iniciantes - FLISOL 2011
Visão Geral do Java para Iniciantes - FLISOL 2011Visão Geral do Java para Iniciantes - FLISOL 2011
Visão Geral do Java para Iniciantes - FLISOL 2011Frederico Maia Arantes
 
Curso PHP UNIFACS 2014.1 – Frameworks
Curso PHP UNIFACS 2014.1 – FrameworksCurso PHP UNIFACS 2014.1 – Frameworks
Curso PHP UNIFACS 2014.1 – FrameworksJonata Weber
 
Implementando APIs seguras na nuvem - Outubro-2018 - Azure Brasil
Implementando APIs seguras na nuvem - Outubro-2018 - Azure BrasilImplementando APIs seguras na nuvem - Outubro-2018 - Azure Brasil
Implementando APIs seguras na nuvem - Outubro-2018 - Azure BrasilRenato Groff
 
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse VirgoModularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse VirgoRegis Machado
 
Web Tools Pt B R
Web Tools Pt  B RWeb Tools Pt  B R
Web Tools Pt B Rguestb9d145
 
Javascript levado a sério
Javascript levado a sérioJavascript levado a sério
Javascript levado a sériosaspi2
 
Currículo (Português)
Currículo (Português)Currículo (Português)
Currículo (Português)cristianojava
 

Similar a VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA (20)

Jsf com hibernate, spring security e maven
Jsf com hibernate, spring security e mavenJsf com hibernate, spring security e maven
Jsf com hibernate, spring security e maven
 
Apostila de Fundamentos Java
Apostila de Fundamentos JavaApostila de Fundamentos Java
Apostila de Fundamentos Java
 
TDC2011: Arquitetura de Software Enterprise
TDC2011: Arquitetura de Software EnterpriseTDC2011: Arquitetura de Software Enterprise
TDC2011: Arquitetura de Software Enterprise
 
FlexMania 2010
FlexMania 2010FlexMania 2010
FlexMania 2010
 
Certificacoes java
Certificacoes javaCertificacoes java
Certificacoes java
 
Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.
 
RubyConf 17 - Colocando sua aplicação vue nos trilhos
RubyConf 17 - Colocando sua aplicação vue nos trilhosRubyConf 17 - Colocando sua aplicação vue nos trilhos
RubyConf 17 - Colocando sua aplicação vue nos trilhos
 
Java v1.1
Java v1.1Java v1.1
Java v1.1
 
Visão Geral do Java para Iniciantes - FLISOL 2011
Visão Geral do Java para Iniciantes - FLISOL 2011Visão Geral do Java para Iniciantes - FLISOL 2011
Visão Geral do Java para Iniciantes - FLISOL 2011
 
Supero Framework New
Supero Framework NewSupero Framework New
Supero Framework New
 
Owasp Chapter Belo Horizonte
Owasp Chapter Belo HorizonteOwasp Chapter Belo Horizonte
Owasp Chapter Belo Horizonte
 
Curso PHP UNIFACS 2014.1 – Frameworks
Curso PHP UNIFACS 2014.1 – FrameworksCurso PHP UNIFACS 2014.1 – Frameworks
Curso PHP UNIFACS 2014.1 – Frameworks
 
Powerlogic ISV Partner
Powerlogic ISV PartnerPowerlogic ISV Partner
Powerlogic ISV Partner
 
Implementando APIs seguras na nuvem - Outubro-2018 - Azure Brasil
Implementando APIs seguras na nuvem - Outubro-2018 - Azure BrasilImplementando APIs seguras na nuvem - Outubro-2018 - Azure Brasil
Implementando APIs seguras na nuvem - Outubro-2018 - Azure Brasil
 
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse VirgoModularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
 
Web Tools Pt B R
Web Tools Pt  B RWeb Tools Pt  B R
Web Tools Pt B R
 
Javascript levado a sério
Javascript levado a sérioJavascript levado a sério
Javascript levado a sério
 
Currículo (Português)
Currículo (Português)Currículo (Português)
Currículo (Português)
 
Java Web, o Tutorial
Java Web, o TutorialJava Web, o Tutorial
Java Web, o Tutorial
 
Web Tools Pt Br
Web Tools Pt BrWeb Tools Pt Br
Web Tools Pt Br
 

VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA

  • 1. Um frameworkWEB MVC para desenvolvimento ágil com JAVA
  • 2. Formação acadêmica Pós-graduado em Segurança de redes e sistemas Graduado em Sistemas de informação - Faculdade Santa Maria Graduado em Analise e desenvolvimento de sistemas - UNIBRATEC Oracle Certified Java Associate 5/6 Oracle Certified Java Programmer 6 Membro do PMI® Management Institute Sobre o palestrante Yelken H. F. Gonzales Experiência profissional Analista de sistemas no grupo Ferreira Costa Atuou como desenvolvedor no portal de dados abertos do governo do estado de PE e na implantação e desenvolvimento de inovações tecnológicas no grupo Ferreira Costa Atuou em empresas e orgão público como: Safari Studio, BankSystem Software Builder, Prefeitura de Olinda Campeão no Hackathon Telefonica Vivo / Firefox OS de melhor aplicativo na Campus Party de 2013 Projeto SkyON o qual faço parte da equipe em segundo lugar no Hackathon da NASA em Recife
  • 3. Motivação da palestra Cometi vários erros em um projeto de automação na WEB
  • 6. O que é Framework? ‘‘ Um framework é uma abstração que une códigos comuns entre vários projetos de software provendo uma funcionalidade genérica.
  • 7. • Popularidade • Filosofia • Sustentabilidade • Técnica • Segurança • Documentação • Licença • Tem recurso no mercado? • Experimente! Critérios para escolher um framework
  • 8. E MVC ? ‘‘ MVC é um padrão de arquitetura que descreve como três camadas de desenvolvimento relacionam entre si.
  • 9. • Framework MVC para WEB • Focado no desenvolvimento rápido • Action based • Open source • Iniciativa da comunidade JAVA Brasileira • Criado na USP em 2003 • Mantido pela CAELUM Enfim o VRaptor!!
  • 10. • 1.0 em 2003 • 2.0 em 2006 baseada no Ruby on Rails • 3.0 em 2009 com conceito forte de configuração, injeção de dependência, annotations e serviços WEB • 4.0 em 2014 com uma evolução maior em CDI Versões do VRaptor
  • 11. • Alta produtividade • Baixa curva de aprendizagem • Testabilidade • Economia de tempo no projeto e consequentemente dinheiro • Flexibilidade • Documentação em português Vantagens
  • 12. •Não possui componentes próprios como o JSF •Maior dependência do HTML, CSS e Javascript Desvantagens
  • 13. •Aprenda HTML, CSS e JS. •Jquery ,Jquery UI, YUI, ExtJS e AngularJS •Use o VRaptor! Solução para as desvantagens
  • 17. Controllers @Resource public class ProdutosController { private ProdutoDao dao; ! public List<Produto> lista() { return dao.listaTodos(); } }
  • 18. View <ul> <c:forEach items=“${produtoList}” var=“produto"> <li> ${produto.id} - ${produto.nome} </li> </c:forEach> </ul>
  • 19. Injeção de dependência @Component public class ProdutoDao { //... } ! @Resource public class ProdutosController { private ProdutoDao dao; public ProdutosController(ProdutoDao dao) { this.dao = dao; } }
  • 20. Redirecionamentos public void adiciona(Produto produto){ dao.adiciona(produto); result.redirectTo(this).lista(); }
  • 21. Validação public void adiciona(Funcionario funcionario) { if (funcionario.getNome().isEmpty()) { validator.add(new ValidationMessage(“nome.invalido","erro")); } validator.onErrorUsePageOf(this).formulario(); dao.adiciona(funcionario); };
  • 22. REST public class ProdutosController { ! @Get(“/produtos") public List<Produto> lista() {…} ! @Post(“/produtos") public void adiciona(Produto produto) {…} ! @Get(“/produtos/{produto.id}") public void visualiza(Produto produto) {…} ! }
  • 23. JSON e XML (AJAX) public void loadJson(Cliente cliente { result.use(json()).from(cliente).serialize(); } ! public void loadXml(Cliente cliente) { result.use(xml()).from(cliente).serialize(); }
  • 25. • github.com/caelum/vraptor • caelum-vraptor@googlegroups.com • http://vraptor.caelum.com.br/ comunidade.jsp Comunidade
  • 27. @yelkezin Yelken Heckman ylk.com.br Obrigado!