Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Implementando Paginas Web Moderna con Java - Va...

Implementando Paginas Web Moderna con Java - Vaadin

Geovanny Mendoza

October 12, 2019
Tweet

More Decks by Geovanny Mendoza

Other Decks in Technology

Transcript

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

    Especialista en Ing. Software Developer FullStack en IBM Blog: http://geovanny0401.blogspot.com/
  2. @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); } }
  3. 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
  4. @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); } }
  5. @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); } }
  6. @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); } }
  7. @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); } }
  8. @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); } }
  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. @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); } }
  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. 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
  13. 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
  14. 4. Progressive web applications (PWA) Instalar aplicaciones web en su

    escritorio o dispositivo Experiencia de usuario de tipo nativo
  15. 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
  16. 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….
  17. 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.