Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3

37
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3 André Luiz Forchesatto e Maurício Berté

description

Palestra apresentada no II BootCamp OescLivre e Unoesc São Miguel com o tema: Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3, onde apresentamos uma alternativa de divisão de tarefas utilizadas na Camtwo com os frameworks citados.

Transcript of Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3

Page 1: Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3

Dividindo responsabilidades com

VRaptor, Rest, HTML5 e CSS3

André Luiz Forchesatto e Maurício Berté

Page 2: Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3

É possível aproveitar a expertise de equipes multidisciplinares em projetos WEB?

Page 3: Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3

Multidisciplinaridade

● java, php, c++, c#,

ruby, javaScript

● integração: rest, soap

● persistência

● sistemas distribuídos

● XHTML

● CSS

● JavaScript

● Tratamento de

imagens

back-end front-end

Page 4: Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3

Desenvolvimento WEB

● Componet Based○ Simplicidade no desenvolvimento e aprendizado;○ Conjunto de componentes visuais. Semelhante ao

que acontece no desktop;○ Exige pouco conhecimento de html+css+javascript

● Exemplos:○ JSF○ .NET

Page 5: Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3

Desenvolvimento WEB

● Action Based○ Framework MVC○ Baseado em ações○ Não possuem componentes visuais;○ Maior flexibilidade no desenvolvimento;○ Exige mais conhecimento HTML+CSS+JavaScript

● Exemplos○ VRaptor○ Spring MVC○ RubyOnRails○ ASP NET MVC

Page 6: Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3

Uma proposta

● Action Based● Rest

● HTML 5● CSS 3● JavaScript

VRaptor

BootStrap

Page 7: Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3

VRaptor

"VRaptor 3 é uma framework MVC para web focado no desenvolvimento ágil."

Page 8: Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3

Por que VRaptor

Page 9: Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3

Por onde começar

http://vraptor.caelum.com.br

http://www.caelum.com.br/apostilas/

Page 10: Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3

Padrões

Configuração por convenção

Page 11: Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3

Padrão Controller

Page 12: Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3

Padrão View

● Segue Padrão JSP com HTML normal● name dos componentes são os atributos das

classes

Page 13: Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3

Rest

A Transferência de Estado Representacional (Representational State Transfer) ou somente (REST) é uma técnica de engenharia de software para sistemas hipermídia distribuídos como a World Wide Web.

Roy Fielding "A REST (Transferência do Estado Representacional) é pretendida como uma imagem do design da aplicação se comportará: uma rede de websites (um estado virtual), onde o usuário progride com uma aplicação selecionando as ligações (transições do estado), tendo como resultado a página seguinte (que representa o estado seguinte da aplicação) que está sendo transferida ao usuário e apresentada para seu uso."

Page 14: Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3

REST

● REST é um conjunto de restrições que define um padrão arquitetural;

● Permitir o endereçamento dos recursos do seu sistema de uma forma padronizada;

● Protocolo HTTP não somente como uma maneira de transmitir dados;

Page 15: Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3

REST

● Triangulo REST○ Substantivos: Recursos○ Verbos: Operações

■ GET■ POST■ PUT■ DELETE■ HEAD, OPTIONS e TRACE

○ Content type: Representação

Page 16: Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3

REST + VRaptor

Page 17: Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3

REST na VIEW

Page 18: Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3

Quais são os ganhos?

● Menor acoplamento da view com controller

● O programador web não precisa conhecer os

métodos presentes na classe Java

● Trabalho somente com os componentes HTML

Page 19: Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3

E a VIEW ?

Page 20: Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3

Antes dos ajustes profissionais

Page 21: Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3

Após ajustes profissionais

Page 22: Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3

Devo me preocupar com...

O que vai acessar meu sistema?

● computador

● tablet

● smartphone

● televisão

● videogame

Page 23: Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3

Devo me preocupar com:

Qual a difrença entre os dispositos?

● Desempenho○ Processamento

● Tamanho da tela○ Resolução

● Forma de acesso○ recursos de dados

Page 24: Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3

HTML5 e CSS3

Page 25: Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3

Quem criou isso?

Em 2004;

● Mozilla● Apple● Opera

Page 26: Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3

HTML5

Quais são as novidades?

● Novos tipos de elementos● Audio e Vídeo● Canvas● SVG● e muito mais

Page 27: Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3

CSS3

Quais são as novidades?

● Cantos arredondados● Sombras● Gradiente● Transparência● Canvas● Uso de fonts específicas

Page 28: Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3

oba... posso usar tudo isso?depende...

Page 29: Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3

a palavra é MODERAÇÃO

mas porque?

● HTML5 e CSS3 estão sendo desenvolvidos e homologados por partes.

● Browsers antigos

● Diferentes motores de renderização

Page 30: Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3

Motores de Renderização

Motor Browsers

Webkit Safari e Google Chrome

Geko Firefox, Mozilla e Camino

Trident Internet Explorer 4 ao 9

Presto Opera ao 10

Page 31: Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Page 32: Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Page 33: Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Page 34: Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Page 35: Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3

HTML/CSS/JavaScript

Bootstrap

Page 36: Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3

Tudo começa em:

http://twitter.github.com/bootstrap

Page 37: Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3

Perguntas?

André Luiz Forchesatto http://about.me/andreforchesatto

Maurício Bertéhttp://about.me/mauricioberte

Projeto exemplo: https://github.com/forchesatto/opineEvento