Implementando Paginas Web Moderna con Java - Vaadin

Implementando Paginas Web Moderna con Java - Vaadin

A023c64d05ba29cfd774f26a20b8e43a?s=128

Geovanny Mendoza Gonzalez

October 12, 2019
Tweet

Transcript

  1. Implementando Paginas Web Moderna con Java Geovanny Mendoza @geovanny0401

  2. Acerca de mí Jug Leander 11+ de experiencia Ing. Sistemas

    Especialista en Ing. Software Developer FullStack en IBM Blog: http://geovanny0401.blogspot.com/
  3. Agenda Introducción a Vaadin Característica Principales Introducción a Spring Boot

    Demo
  4. Vaadin es una plataforma de código abierto que simplifica el

    desarrollo de Aplicaciones Web
  5. FRAMEWORK JAVA HERRAMIENTAS STARTERS COMPONENTES WEB

  6. FRAMEWORK JAVA HERRAMIENTAS STARTERS COMPONENTES WEB

  7. VAADIN FLOW HERRAMIENTAS STARTERS COMPONENTES WEB

  8. Arquitectura de Vaadin

  9. @Route("greeting") public class HelloWorld extends VerticalLayout { public HelloWorld() {

    TextField textField = new TextField("Name"); Button button = new Button("Greet"); button.addClickListener(event -> add(new Span("Hi, " + textField.getValue()))); add(textField, button); } }
  10. Web Server (Payara, WildFly, Tomcat, Jetty, Glassfish, Weblogic…) @Route("greeting") public

    class HelloWorld extends VerticalLayout { public HelloWorld() { TextField textField = new TextField("Name"); Button button = new Button("Greet"); button.addClickListener(event -> add(new Span("Hi, " + textField.getValue()))); add(textField, button); } } app.war
  11. @Route("greeting") public class HelloWorld extends VerticalLayout { public HelloWorld() {

    TextField textField = new TextField("Name"); Button button = new Button("Greet"); button.addClickListener(event -> add(new Span("Hi, " + textField.getValue()))); add(textField, button); } }
  12. @Route("greeting") public class HelloWorld extends VerticalLayout { public HelloWorld() {

    TextField textField = new TextField("Name"); Button button = new Button("Greet"); button.addClickListener(event -> add(new Span("Hi, " + textField.getValue()))); add(textField, button); } }
  13. @Route("greeting") public class HelloWorld extends VerticalLayout { public HelloWorld() {

    TextField textField = new TextField("Name"); Button button = new Button("Greet"); button.addClickListener(event -> add(new Span("Hi, " + textField.getValue()))); add(textField, button); } }
  14. @Route("greeting") public class HelloWorld extends VerticalLayout { public HelloWorld() {

    TextField textField = new TextField("Name"); Button button = new Button("Greet"); button.addClickListener(event -> add(new Span("Hi, " + textField.getValue()))); add(textField, button); } }
  15. @Route("greeting") public class HelloWorld extends VerticalLayout { public HelloWorld() {

    TextField textField = new TextField("Name"); Button button = new Button("Greet"); button.addClickListener(event -> add(new Span("Hi, " + textField.getValue()))); add(textField, button); } }
  16. @Route("greeting") public class HelloWorld extends VerticalLayout { public HelloWorld() {

    TextField textField = new TextField("Name"); Button button = new Button("Greet"); button.addClickListener(event -> add(new Span("Hi, " + textField.getValue()))); add(textField, button); } }
  17. @Route("greeting") public class HelloWorld extends VerticalLayout { public HelloWorld() {

    TextField textField = new TextField("Name"); Button button = new Button("Greet"); button.addClickListener(event -> add(new Span("Hi, " + textField.getValue()))); add(textField, button); } }
  18. @Route("greeting") public class HelloWorld extends VerticalLayout { public HelloWorld() {

    TextField textField = new TextField("Name"); Button button = new Button("Greet"); button.addClickListener(event -> add(new Span("Hi, " + textField.getValue()))); add(textField, button); } }
  19. Soporta todos los navegadores modernos con polyfills Compatibilidad con navegadores

    móviles para iOS y Android Aplicaciones de escritorio que utilizan navegadores integrados 1. Compatibilidad con todos los navegadores
  20. 2. API Estable API de componentes Java conocidos Los mismos

    componentes desde 2002 APIs del lado del cliente basadas en estándares de componentes web HTML
  21. 3. Diseño Responsivo Adaptación automática a diferentes tamaños de pantalla

    Utilice CSS o Java para cambiar el comportamiento
  22. 4. Progressive web applications (PWA) Instalar aplicaciones web en su

    escritorio o dispositivo Experiencia de usuario de tipo nativo
  23. None
  24. None
  25. None
  26. None
  27. None
  28. None
  29. None
  30. None
  31. None
  32. None
  33. None
  34. None
  35. None
  36. @Route("") @Theme(value = Lumo.class, variant = Lumo.DARK) public class MainView

    extends VerticalLayout { ... }
  37. None
  38. None
  39. None
  40. Más de 30 Componentes Integrados UI - WEB

  41. Más de 1700 complementos de terceros

  42. None
  43. Starters https://bakery-flow.demo.vaadin.com/ https://vaadin.com/start/latest/simple-ui https://vaadin.com/start/latest/business-app https://vaadin.com/start/latest

  44. INTRODUCCIÓN A SPRING Data JPA

  45. None
  46. Hibernate: http://hibernate.org/ • JPA: La tecnica para convertir datos del

    sistemas de tipos de un lenguaje porientado a objetos y el modelo relacioal de la base de datos se conoce como mapeo objeto relacional (ORM, Object Relational Mapping) • JPA (Java Persistence API) es la especificación de ORM para Java. • Implementaciones JPA: Spring Data(1/4) Toplink: https://www.oracle.com/technetwork/middleware/toplink/overview/index.html
  47. Spring Data(2/4) Objetos Tablas • Relación:

  48. Spring Data(3/4) • Spring Boot nos permite usar la dependencia

    de Spring Data de manera mas facíl. • El proyecto Spring Data ofrece mecanimos para simplificar el acceso a diferentes bases de datos: • Spring Data JPA, Spring Data MongoDB, Spring Data JDBC extensions….
  49. Spring Data(4/4) • La principales funcionalidades de Spring Data JPA

    son: • Conversion automatica entre objetos Java y el esquema de la base de datos. • Creación de consultas en base a métodos en interfaces. • En esta charla vamos a usar una base de datos en memoria H2.
  50. Referencias http://vaadin.com/tutorials/ http://alejandrodu.com/ http://geovanny0401.blogspot.com

  51. DEMO Vaadin Flow con Spring Data JPA y DBMS H2

  52. Gracias Vaadin Ltd