
JavaScript Everywhere
Adam D. Scott
- Editorial
- O'Reilly
- Año
- 2020
- Páginas
- ~344
- Nivel
- Intermedio
De qué trata
Adam D. Scott muestra cómo usar un único lenguaje, JavaScript, para construir todas las capas de una aplicación: la API, la web, la app móvil y la de escritorio. El subtítulo nombra la pila: GraphQL, React, React Native y Electron, en las versiones de 2020. Es para desarrolladores con nivel intermedio de JavaScript que conocen HTML y CSS y quieren una visión full-stack y multiplataforma. No hace falta experiencia previa con cada herramienta.
En el backend crea una API GraphQL con Node.js, Express y Apollo Server, con datos en MongoDB mediante Mongoose. Cubre la autenticación de usuarios con JWT, permisos, paginación, seguridad básica y el despliegue de la API. En la parte web, el cliente React usa Apollo Client para consultar la API, styled-components para los estilos, rutas, formularios y manejo de la sesión. Después reutiliza la misma API y la misma autenticación en una app móvil para iOS y Android hecha con React Native y en una app de escritorio con Electron, incluyendo el empaquetado y la distribución de cada una.
Todo el libro gira en torno a una sola aplicación CRUD de notas que se va ampliando de capítulo en capítulo. Los repositorios oficiales traen el código de partida, las soluciones de cada capítulo y la versión final. Su valor está en ver cómo una misma API sirve a varios clientes y cómo se comparte la autenticación entre plataformas. Como abarca tanto, no va a fondo en ninguna tecnología: React, GraphQL o React Native se ven solo lo necesario para el proyecto. Además, algunas dependencias (Apollo, Expo, servicios de hosting) han cambiado desde 2020.
- JavaScript full-stack
- Node.js
- Express
- GraphQL
- Apollo Server
- MongoDB
- Mongoose
- JWT
- React
- Apollo Client
- styled-components
- React Native
- Electron
¿Cómo enseña?
Con proyectos
- ✗ Sin ejercicios
- ✓ Incluye proyectos
Proyectos
API GraphQL de notas
Backend con Node.js, Express, Apollo Server y MongoDB/Mongoose: usuarios, notas y favoritos, autenticación con JWT, permisos y paginación.
Cliente web de notas
Aplicación React que consume la API con Apollo Client, usa styled-components para los estilos e incluye rutas, formularios de registro e inicio de sesión y operaciones CRUD sobre notas.
App móvil multiplataforma
Versión para iOS y Android con React Native que reutiliza la misma API GraphQL y la misma autenticación.
App de escritorio
Versión de escritorio hecha con Electron que envuelve el cliente web y se empaqueta para distribuirla.

