</> CodeBooks
    ← Volver a JavaScript (página 5)
    Portada de Client-Server Web Apps with JavaScript and Java

    Client-Server Web Apps with JavaScript and Java

    Casimir Saternos

    Editorial
    O'Reilly
    Año
    2014
    Páginas
    ~260
    Nivel
    Intermedio

    De qué trata

    Libro de O'Reilly (2014) en el que Casimir Saternos explica a los programadores Java cómo pasar del desarrollo web dirigido por el servidor (JSP, frameworks MVC del lado del servidor) a aplicaciones cliente-servidor: un cliente JavaScript que consume APIs web servidas por la JVM. Está pensado para desarrolladores Java de nivel intermedio que conocen el ecosistema tradicional (Maven, servidores de aplicaciones JEE) y quieren ponerse al día con JavaScript, REST y las herramientas front-end de su época.

    El autor explica primero por qué separar cliente y servidor (organización del código, prototipado rápido, productividad y rendimiento) y repasa JavaScript desde la mirada de un programador Java: ámbito, funciones de primera clase, objetos y buenas prácticas. Luego trata REST y JSON a fondo (restricciones de REST, códigos HTTP, HATEOAS, diseño práctico de APIs), las librerías JSON para Java, Maven y los puntos de partida del front-end: HTML5 Boilerplate, Bootstrap, plantillas en el cliente y asset pipelines. Hay un amplio repaso de servidores ligeros en la JVM: el servidor HTTP de Java, Jetty y Netty embebidos, Restlet, Spring Roo, Play y Jython. Los capítulos finales abordan empaquetado y despliegue (JEE frente a servidores embebidos), virtualización con VirtualBox, Amazon EC2, Vagrant, Packer y Docker, y pruebas con JUnit, Jasmine y Cucumber.

    Casi todos los capítulos terminan con un pequeño proyecto, entre ellos un cliente jQuery sobre un servidor Jython y una aplicación AngularJS con un backend JRuby y Sinatra. Lo valioso del libro es su visión de arquitectura: argumenta bien por qué conviene desacoplar el front-end y cómo encajar la JVM en ese modelo. Pero en el lado del cliente ha envejecido (jQuery y AngularJS 1.x) y no cubre Spring Boot ni los frameworks SPA modernos. Es más un panorama amplio que un tratado profundo de una sola pila, y conviene llegar con buena base de Java.

    • Arquitectura cliente-servidor
    • REST
    • JSON
    • Diseño de APIs web
    • Java y JVM
    • Maven
    • Jetty y Netty
    • Play Framework
    • jQuery
    • AngularJS
    • Docker y Vagrant
    • JUnit, Jasmine y Cucumber

    ¿Cómo enseña?

    TeóricoPráctico

    Teoría + práctica

    • ✗ Sin ejercicios
    • ✓ Incluye proyectos

    Proyectos

    API JSON con Java y lenguajes de la JVM

    Proyectos que generan y consumen JSON desde Java y desde lenguajes de scripting de la JVM, y una API diseñada siguiendo las pautas del libro que se prueba con curl y jQuery.

    Cliente jQuery con servidor Jython

    Aplicación con un servidor web en Jython que ofrece APIs simuladas y un cliente en HTML y jQuery que recorre el DOM y hace llamadas Ajax.

    Aplicación AngularJS con JRuby y Sinatra

    Backend ligero con Sinatra sobre JRuby que procesa JSON, consumido por un cliente AngularJS. Sirve para comparar la manipulación directa del DOM con jQuery y el enfoque basado en el modelo de Angular.

    Despliegue, contenedores y pruebas

    Proyectos prácticos para empaquetar y desplegar el cliente y el servidor, ejecutar Java en Docker junto con Vagrant, y montar pruebas con JUnit, Jasmine y Cucumber, con informes de Maven Site.

    Más de JavaScript con nivel Intermedio