Top Banner
Creando aplicaciones Web con AngularJS y JavaEE 7 ıctor Orozco Nabenik 05/03/2015
23
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Inciando con AngularJS y JavaEE 7

Creando aplicaciones Web con AngularJS yJavaEE 7

Vıctor Orozco

Nabenik

05/03/2015

Page 2: Inciando con AngularJS y JavaEE 7

Cliente/servidor

HTTP/1.1 = protocolo asıncrono y sin estado para transmitir texto

Page 3: Inciando con AngularJS y JavaEE 7

Cliente/servidor

HTTP/1.1 = protocolo asıncrono y sin estado para transmitir texto

Page 4: Inciando con AngularJS y JavaEE 7

Cliente/servidor

I Request -> (HTML) -> Response

I Servidor: PHP, JSP, ASP

I Servidor Java: JSP/Servlets, JSF, Struts, Spring MVC

Page 5: Inciando con AngularJS y JavaEE 7

Cliente/servidor

I Request -> (HTML) -> Response

I Servidor: PHP, JSP, ASP

I Servidor Java: JSP/Servlets, JSF, Struts, Spring MVC

Page 6: Inciando con AngularJS y JavaEE 7

Cliente/servidor

I Rich clients/RIA = obsolesencia?

I Request -> (App) -> Response

I Cliente: ActiveX, Applets, Flash, Silverlight, JavaFX

Page 7: Inciando con AngularJS y JavaEE 7

Cliente/servidor

I Rich clients/RIA = obsolesencia?

I Request -> (App) -> Response

I Cliente: ActiveX, Applets, Flash, Silverlight, JavaFX

Page 8: Inciando con AngularJS y JavaEE 7

Clientes JavaScript

I AJAX

I jQuery, YUI, Dojo

...

I GWT, Icefaces/Primefaces, Vaadin

I HTML5, CSS3, WebSockets, WebRTC, HTML Components

Page 9: Inciando con AngularJS y JavaEE 7

Clientes JavaScript

1995-2012: JavaScript SUCKS! - Developer Foo conconocimientos de otro lenguaje que no sea JS.

I Orientado a hacks

I Imperativo (manipulacion DOM)

I CoffeeScript, Dart, Kotlin, RapydScript, TypeScript, AtScript

I MVVM (su buen vecino MS)

2012-2015: JavaScript SUCKS . . . less

Page 10: Inciando con AngularJS y JavaEE 7

Clientes JavaScript/HTML5

I Rich clients = HTML+JS+CSS3

I MVVM +- MVC del lado del cliente

I JSON/XML

I Rest - Request-response

I Websockets - Full duplex

Page 11: Inciando con AngularJS y JavaEE 7

Arquitectura 2015

Page 12: Inciando con AngularJS y JavaEE 7

Arquitectura 2015

Page 13: Inciando con AngularJS y JavaEE 7

Arquitectura 2015

Page 14: Inciando con AngularJS y JavaEE 7

Arquitectura 2015

Page 15: Inciando con AngularJS y JavaEE 7

AngularJS

I AngularJS fue creado por desarrolladores Java, estamos enfamilia :) 1

I Inyeccion de dependencias

I Data binding

I Directives, partial layouts

I SPI

I JS puro (AngularJS 1)

I Clientes hibridos (moviles) - Cordova + AngularJS

1http://java.dzone.com/articles/java-origins-angular-js

Page 16: Inciando con AngularJS y JavaEE 7

JavaEE 7

I API Rest - JAX-RS 2.0

I WebSocket - WebSocket 1.0, Servlet 3.1

I JSON - JSON API 1.0

I SOA, Microservices

Page 17: Inciando con AngularJS y JavaEE 7

JavaEE 7

Page 18: Inciando con AngularJS y JavaEE 7

JavaEE 7

Page 19: Inciando con AngularJS y JavaEE 7

Ventajas

I Existen n cantidad de bibliotecas JavaScript

I Independencia de backend

I Escalabilidad (stateless)

I Thin server apps

I Mejor tiempo de respuesta en comparacion a JSF/SpringMVC

Page 20: Inciando con AngularJS y JavaEE 7

Desventajas

I Existen n cantidad de bibliotecas JavaScript

I Complejidad y restricciones de REST

I AngularJS no sera compatible hacia atras

Page 21: Inciando con AngularJS y JavaEE 7

Demo

I Call for papers

I H2 + WildFly

I Bean Validation, JPA, JAX-RS, JSON

I AngularJS vanilla

I Forge

I http://github.com/tuxtor/cfp-angularjs-demo

Page 22: Inciando con AngularJS y JavaEE 7

QA

I AngularJS - https://angularjs.org/

I JavaEE - http://docs.oracle.com/javaee/7/index.htmlI Libros recomendados:

I Java EE 7 Essentials - Arun GuptaI Developing RESTful Services with JAX-RS 2.0 - Masoud

Kalali, Bhakti MehtaI Eloquent JavaScript - Marijn Haverbeke

Page 23: Inciando con AngularJS y JavaEE 7

Gracias

I [email protected]

I http://tuxtor.shekalug.org

I http://github.com/tuxtor/slides

This work is licensed under a Creative CommonsAttribution-ShareAlike 3.0 Guatemala License.