1. Libros
  2. Angular y Node.js - Optimice el desarrollo de sus aplicaciones web con una arquitectura MEAN

Angular y Node.js Optimice el desarrollo de sus aplicaciones web con una arquitectura MEAN

  • 5% de descuento en todos los libros, con el código 5DESCUENTO
  • Disponible. Expedido en 24 horas
  • Envío gratis a partir de 25 € de compra
  • Versión online gratis por un año
  • 5% de descuento en todos los libros, con el código 5DESCUENTO
  • Consulta inmediata
  • Versión online digital, no descargable
  • Acceso ilimitado 24/7, durante 10 años
  • Acceso ilimitado 24/7, durante 10 años
  • Todos los libros online de ENI
  • Más de 5 novedades todos los meses
  • Novedades disponibles el mismo día de su publicación
  • Acceso 100% online

Presentación

Este libro se dirige a cualquier informático que desee optimizar el desarrollo industrial de sus aplicaciones web, con la implementación de una arquitectura MEAN (basada en MongoDB, el framework Express, el framework Angular y un servidor Node.js). El autor le da las claves para cumplir con los nuevos requisitos cada vez más exigentes, de este tipo de desarrollo, a saber, la necesidad de reutilizar componentes de software para aumentar la productividad del desarrollo y la optimización de la carga del servidor, que no para de aumentar.

El desarrollo de una aplicación Angular dentro de una arquitectura MEAN, se beneficia de la consistencia del uso de JavaScript y su extensión TypeScript, a nivel del cliente y del servidor. En los primeros dos capítulos, el lector encontrará la información necesaria para comprender este lenguaje, que permite la programación orientada a objetos con clases. A continuación se detallan, por un lado, la implementación de un servidor Node.js extremadamente reactivo y por otro lado, el framework de aplicación Angular (en la versión 8 en el momento de la escritura de este libro). Esto le permite crear aplicaciones de una sola página (interactuando con el servidor solo para intercambiar datos) y demuestra una modularidad ejemplar, organizada en dos niveles: módulos y componentes. El libro también presenta el sistema de gestión de base de datos NoSQL MongoDB que, combinado con los otros dos pilares de la arquitectura, permitirá un acceso eficiente a un volumen muy alto de datos.

Siendo la visualización de información un área emblemática de Angular, también se estudia la visualización de gráficos y la anotación gráfica de Google Maps. Por último, también se presenta al final del libro el uso de tres librerías de componentes gráficos muy populares (PrimeNG, Material y ngx-bootstrap).

A lo largo del libro, un hilo común con numerosos ejemplos de código guía al lector hacia la creación de una aplicación de comercio electrónico, un ejemplo ideal para ilustrar la implementación de una arquitectura MEAN.

¡Nuevo! Rondas de preguntas disponibles con la versión online.

¡Ronda de preguntas
incluida en
la versión online !
  • Ponga a prueba sus conocimientos al final de cada capítulo
  • Evalúe sus competencias

Índice

  • Introducción
    • 1. Introducción
    • 2. La arquitectura MEAN para una aplicación web
      • 2.1 El principio de las aplicaciones mono página (single page applications)
      • 2.2 El paradigma de diseño modelo vista-controlador
    • 3. Angular en el centro de la arquitectura MEAN
    • 4. Presentación de El hilo rojo: una aplicación de e-commerce
  • El lenguaje JavaScript
    • 1. Introducción a JavaScript
      • 1.1 Breve repaso histórico
      • 1.2 Panorama de la utilización de JavaScript
      • 1.3 Las librerías y los frameworks aplicativos JavaScript
    • 2. ¿ Dónde escribir código JavaScript ?
    • 3. Las herramientas del navegador y la depuración
    • 4. Los elementos de programación básicos
      • 4.1 Las variables
        • 4.1.1 Los tipos internos
        • 4.1.2 El transtipado
      • 4.2 Las estructuras de datos comunes
      • 4.3 Aplicación de expresiones regulares
      • 4.4 Los bloques de instrucciones
      • 4.5 Las estructuras condicionales
        • 4.5.1 La estructura if ... else ...
        • 4.5.2 La estructura switch de conmutador múltiple
      • 4.6 Las estructuras iterativas
        • 4.6.1 Las estructuras iterativas con índices de bucle
        • 4.6.2 Las estructuras iterativas sin índices de bucle
    • 5. La programación funcional en JavaScript
      • 5.1 Una función que se pasa como argumento (función de callback)
        • 5.1.1 Ejemplo con el método forEach()
        • 5.1.2 Ejemplo con el método map()
      • 5.2 Una función devuelve una función (factory)
    • 6. La programación orientada a objetos con JavaScript
      • 6.1 Los principios de la programación orientada a objetos con JavaScript
      • 6.2 Los objetos literales
      • 6.3 La herencia por encadenamiento de prototipos
        • 6.3.1 La propiedad __proto__ del objeto del que heredan
        • 6.3.2 La propiedad prototype
      • 6.4 La creación de un objeto por medio de la llamada de una función constructora
      • 6.5 Ejemplos de implementaciones de un método
      • 6.6 La problemática del objeto actual (this)
      • 6.7 La herencia
      • 6.8 El encadenamiento de métodos
    • 7. Las principales aportaciones de la norme ECMAScript 6
      • 7.1 La norma ECMAScript
      • 7.2 La palabra reservada let
      • 7.3 La interpolación de variables en las cadenas
      • 7.4 Los argumentos por defecto
      • 7.5 Una manipulación más cómoda de las listas
        • 7.5.1 La estructura for (... of ...) ...
        • 7.5.2 El método includes()
      • 7.6 El operador "fat arrow" (=>)
      • 7.7 Las clases
    • 8. La programación reactiva, observables y promises (promesas)
      • 8.1 Primer ejemplo: un observable en un botón
      • 8.2 Segundo ejemplo: un observable sobre un entero
      • 8.3 Tercer ejemplo: un observable sobre un timer
      • 8.4 Las promises
  • Extensiones JavaScript para las clases
    • 1. Presentación de las extensiones de JavaScript
    • 2. El lenguaje TypeScript
      • 2.1 El transpiler tsc
      • 2.2 Tipado estático de las variables
        • 2.2.1 Los tipos básicos
        • 2.2.2 Tipado de variables no escalares
        • 2.2.3 El tipo enum
        • 2.2.4 El tipo genérico any
        • 2.2.5 Tipado de las funciones
      • 2.3 Las clases
        • 2.3.1 La herencia
        • 2.3.2 Las interfaces
        • 2.3.3 La programación genérica
    • 3. El lenguaje Dart
      • 3.1 Instalación y prueba de Dart
      • 3.2 Generación del código JavaScript con Dart
      • 3.3 Las clases
        • 3.3.1 La herencia
        • 3.3.2 Las interfaces
  • La plataforma Node.js
    • 1. Presentación de Node.js
    • 2. Instalación y prueba de Node.js
      • 2.1 Creación del archivo de prueba
      • 2.2 Instalación y prueba de Node.js en Ubuntu
      • 2.3 Instalación y prueba de Node.js en Windows
      • 2.4 Instalación y prueba de Node.js en Mac OS
    • 3. La modularidad de Node.js
      • 3.1 Los módulos y los paquetes
        • 3.1.1 El administrador de módulos de Node.js: npm
        • 3.1.2 Especificación de las dependencias: el archivo package.json
      • 3.2 Creación de un primer servidor Node.js de prueba
      • 3.3 Creación y reutilización de un módulo
      • 3.4 Creación de un servidor que devuelva los datos
      • 3.5 El módulo express
        • 3.5.1 Gestión de rutas REST con el módulo express
        • 3.5.2 Gestión de las plantillas con el módulo express
        • 3.5.3 Especificación de las dependencias en un archivo package.json
        • 3.5.4 Instalación del módulo express
      • 3.6 El módulo fs (FileSystem)
      • 3.7 Prueba de un servidor Node.js
        • 3.7.1 Creación de un archivo de datos JSON
        • 3.7.2 La problemática del control de acceso HTTP
        • 3.7.3 Retorno al cliente de un archivo JSON
        • 3.7.4 Configuración de las rutas
        • 3.7.5 Gestión de los argumentos
    • 4. Securización de un servidor Node.js (protocolo HTTPS)
      • 4.1 Creación de la autoridad de certificación
      • 4.2 Creación del certificado
      • 4.3 Creación del servidor
    • 5. Conocimientos adquiridos en este capítulo
  • El SGBD NoSQL MongoDB
    • 1. Introducción
    • 2. ¿ Por qué utilizar una base de datos NoSQL ?
    • 3. Presentación de MongoDB
      • 3.1 Las colecciones y los documentos
      • 3.2 Los índices
    • 4. Implementación de MongoDB
      • 4.1 Instalación de MongoDB
        • 4.1.1 Instalación de MongoDB en Linux
        • 4.1.2 Instalación de MongoDB en Windows o en Mac OS
        • 4.1.3 Utilización de MongoDB en línea de comandos
      • 4.2 Visualización de la lista de las bases de datos
      • 4.3 Creación de una base de datos
      • 4.4 Visualización de la lista de las colecciones
      • 4.5 Creación de una colección
        • 4.5.1 Inserción de los documentos en una colección
        • 4.5.2 Importación de documentos a partir de un archivo
        • 4.5.3 Exportación de los documentos de una colección en un archivo JSON
      • 4.6 Interrogación de una colección
        • 4.6.1 Interrogación a través de un objeto "filtro"
        • 4.6.2 Los operadores de comparación, los operadores de conjuntos y lógicos
        • 4.6.3 El operador $exists
        • 4.6.4 El operador $in
        • 4.6.5 El operador $nin
        • 4.6.6 El operador $or
        • 4.6.7 El operador $not
        • 4.6.8 El operador $nor
      • 4.7 Aplicación de expresiones regulares
      • 4.8 Las proyecciones y el método distinct()
        • 4.8.1 Las proyecciones
        • 4.8.2 El método distinct()
      • 4.9 Referenciado los documentos y joins
        • 4.9.1 Los objetos anidados (nested objects)
        • 4.9.2 Los objetos referenciados
        • 4.9.3 Los joins
      • 4.10 Actualización y eliminación de un documento
        • 4.10.1 Actualización de un documento
        • 4.10.2 Eliminación de un documento
      • 4.11 Eliminación de una colección
    • 5. Utilización de MongoDB a través de Node.js
      • 5.1 Instalación del módulo MongoDB para Node.js
      • 5.2 Conexión al servidor MongoDB
      • 5.3 Inserción de datos desde un servidor Node.js
      • 5.4 Consultar datos desde un servidor Node.js
        • 5.4.1 Explotación del resultado del método find()
        • 5.4.2 Utilización del método toArray()
      • 5.5 Sincronización de las consultas
        • 5.5.1 Utilización de las funciones de callback
        • 5.5.2 Utilización del módulo async
        • 5.5.3 El método async.series()
        • 5.5.4 El método async.waterfall()
    • 6. Interrogación de MongoDB con las rutas gestionadas por express
      • 6.1 La estructura de un servidor Node.js que consulta a MongoDB
      • 6.2 La problemática del cross-origin resource sharing
      • 6.3 Ejemplos de gestión de rutas
        • 6.3.1 Gestión de una ruta para listar las marcas
        • 6.3.2 Gestión de una ruta para filtrar los productos
        • 6.3.3 Búsqueda de un producto a partir de su identificador interno
    • 7. El hilo rojo del lado servidor
      • 7.1 Creación de la colección
      • 7.2 Implementación de dos búsquedas sobre los productos
        • 7.2.1 La superestructura del servidor
        • 7.2.2 Gestión de la ruta que filtra los documentos usando diferentes criterios
        • 7.2.3 Gestión de la ruta que devuelve un documento a través de su identificador interno
        • 7.2.4 Ejemplos de consulta en el servidor
    • 8. Conocimientos adquiridos en este capítulo
  • Introducción al framework aplicativo Angular
    • 1. Presentación de Angular
      • 1.1 Una evolución radical de AngularJS
      • 1.2 La modularidad de la aplicación: los módulos y los componentes
        • 1.2.1 Los módulos
        • 1.2.2 Los componentes y los servicios
      • 1.3 Manipulación de los componentes como etiquetas
      • 1.4 Utilización de una extensión en JavaScript (TypeScript o Dart)
    • 2. Angular respecto al framework MVC (incluso VVM)
    • 3. Implementación de una aplicación Angular
      • 3.1 Presentación de Angular CLI
      • 3.2 Instalación de Angular CLI
      • 3.3 Creación de un proyecto Angular con Angular CLI
      • 3.4 Estructura de las carpetas de un proyecto Angular CLI
      • 3.5 Un primer componente creado por Angular CLI
      • 3.6 El root module creado por Angular CLI
      • 3.7 Actualización de Angular a través de Angular CLI
    • 4. Generación del código JavaScript a partir de TypeScript
    • 5. Los decoradores
    • 6. Creación de un nuevo componente que muestra un mensaje
      • 6.1 Creación del componente
        • 6.1.1 La plantilla HTML
        • 6.1.2 La hoja de estilos
      • 6.2 Interfaz de componentes en el componente raíz
      • 6.3 Especificación de los componentes en el módulo
      • 6.4 Activación del módulo
      • 6.5 La página web front
    • 7. El ciclo de vida de un componente
      • 7.1 El hook ngOnChanges()
      • 7.2 El hook ngOnInit()
      • 7.3 El hook ngDoCheck()
      • 7.4 El hook ngOnDestroy()
    • 8. Conocimientos adquiridos en este capítulo
  • Angular: las plantillas, bindings y directivas
    • 1. Las plantillas
      • 1.1 Anidación de las plantillas
      • 1.2 Las plantillas insertadas (embedded templates)
      • 1.3 Las plantillas externalizadas
    • 2. Data bindings entre el componente y la plantilla
      • 2.1 Acceso a los elementos del DOM
      • 2.2 Interpolación de una variable en una plantilla
      • 2.3 Property binding
      • 2.4 Event binding
      • 2.5 Two-way data binding
    • 3. Las directivas
      • 3.1 Las directivas estructurales
        • 3.1.1 La directiva *ngFor
        • 3.1.2 La directiva *ngIf
      • 3.2 Las directivas de atributos
      • 3.3 Envío de información de un componente a su padre (@Output())
    • 4. Los pipes
    • 5. Ejemplo de resumen: un formulario de autenticación
    • 6. El hilo rojo: creación de un componente que muestra los productos
      • 6.1 El componente
        • 6.1.1 La clase que implementa el componente
        • 6.1.2 La plantilla HTML
        • 6.1.3 La hoja de estilos
      • 6.2 El módulo que especifica el componente
      • 6.3 Activación del módulo
      • 6.4 La página web front
      • 6.5 Lanzamiento de la aplicación
    • 7. Conocimientos adquiridos en este capítulo
  • Angular y la conexión a Node.js: los servicios
    • 1. Introducción
    • 2. Inyección de dependencias
    • 3. Utilización de los servicios para la transferencia de datos
      • 3.1 Recuperación de datos formateados en JSON
      • 3.2 Envío de datos JSON al servidor
      • 3.3 Envío de datos a través de Query string
    • 4. Implementación de los servicios en El hilo rojo
      • 4.1 Declaración de las rutas del lado servidor
      • 4.2 Gestión de los productos
        • 4.2.1 Visualización de los selectores
        • 4.2.2 Visualización de los productos según los criterios de búsqueda
        • 4.2.3 Visualización de los productos asociados a las palabras clave
        • 4.2.4 Acceso a un producto por su identificador
      • 4.3 Gestión de la cesta de la compra
        • 4.3.1 Visualización de los identificadores de los productos de la cesta de la compra
        • 4.3.2 Visualización de todos los productos de la cesta de la compra
        • 4.3.3 Adición de un producto en la cesta de la compra
        • 4.3.4 Eliminación de un producto de la cesta de la compra
        • 4.3.5 Reinicialización de la cesta de la compra
    • 5. La librería NgRx y los stores
    • 6. Conocimientos adquiridos en este capítulo
  • Angular y la gestión de las rutas internas
    • 1. Principio general del enrutado
      • 1.1 ¿ Por qué establecer un enrutado ?
      • 1.2 Las rutas, el router, las tablas de enrutado
      • 1.3 Las vistas activadas por las rutas
      • 1.4 Ejemplo de enrutado
      • 1.5 Definición de un árbol de vistas
      • 1.6 Utilización de los outlets con nombre
    • 2. La sintaxis de las rutas
      • 2.1 Las dos sintaxis de una ruta: cadena o link parameters array
      • 2.2 Las rutas absolutas y las rutas relativas
      • 2.3 Configuración de las rutas
      • 2.4 Asociación de una ruta a un auxiliary outlet
    • 3. Selección de las rutas
      • 3.1 La directiva routerLink
      • 3.2 El método navigate()
      • 3.3 Ejemplo de ruta
    • 4. Gestión de las rutas del controlador hacia el componente destino
      • 4.1 Configuración de la tabla de enrutado
      • 4.2 Las propiedades de una ruta
      • 4.3 Soporte de una ruta por varios módulos/tablas de enrutado
      • 4.4 Control de las rutas: guardián
      • 4.5 Invocación de un componente
      • 4.6 Captura de una ruta durante la invocación de un componente
    • 5. Gestión de rutas en El hilo rojo
      • 5.1 El módulo de enrutado asociado al root module
      • 5.2 El módulo de enrutado asociado al feature module research
      • 5.3 El módulo de enrutado asociado al feature module cart
    • 6. Conocimientos adquiridos en este capítulo
  • Angular y la visualización de información
    • 1. Introducción
    • 2. Creación de charts con D3.js y dc.js
      • 2.1 Instalación de D3.js
      • 2.2 El lenguaje SVG
      • 2.3 Generación de elementos gráficos asociados a los objetos de una colección
      • 2.4 Selección y modificación de elementos del DOM
        • 2.4.1 Adición de elementos gráficos
        • 2.4.2 Sustitución de elementos gráficos
      • 2.5 Implementación de listeners de eventos
      • 2.6 Integración de D3.js en Angular
        • 2.6.1 Un servidor virtual de datos comerciales
        • 2.6.2 El servicio que accede a los datos del servidor
        • 2.6.3 La plantilla del componente que muestra un histograma
        • 2.6.4 Implementación del componente que muestra un histograma
      • 2.7 Las librerías dc.js y Crossfilter
        • 2.7.1 Instalación de dc.js y de Crossfilter
        • 2.7.2 Implementación del componente que muestra el histograma
    • 3. Integración de mapas Google Map en un proyecto Angular
      • 3.1 Instalación de los requisitos previos técnicos
        • 3.1.1 Instalación de los tipos TypeScript
        • 3.1.2 Instalación de la librería PrimeNG
      • 3.2 Presentación de un mapa Google Map estático
      • 3.3 Un componente PrimeNG para gestionar un mapa Google Map
      • 3.4 Gestión de un chart asociado a un Google Map
    • 4. Implementación de componentes gráficos
      • 4.1 Otro ejemplo de componente PrimeNG (Calendar)
      • 4.2 La librería de componentes Material
      • 4.3 La librería ngx-bootstrap
    • 5. Conocimientos adquiridos en este capítulo
  • Prueba y despliegue
    • 1. Test
    • 2. Despliegue
      • 2.1 Despliegue con Apache
      • 2.2 Despliegue con Node.js
      • 2.3 Despliegue con http-server (acceso directo a Node.js)
    • 3. Para ir más lejos
    • índice

Autor

Pierre POMPIDORMás información

Profesor de informática en la Universidad de Montpellier, Pierre POMPIDOR enseña diseño y programación de aplicaciones web, así como visualización de información a estudiantes de Licenciatura y Máster. A través de este libro y a toda su pedagogía, transmite al lector sus conocimientos sobre el desarrollo industrial de aplicaciones web con una arquitectura MEAN.

Características

  • Nivel Medio a Experto
  • Número de páginas 386 páginas
  • Publicación junio 2020
    • Encuadernación rústica - 17 x 21 cm
    • ISBN: 978-2-409-02613-3
    • EAN: 9782409026133
    • Ref. ENI: EIT2ANGNOD
  • Nivel Experto a Medio
  • Publicación junio 2020
    • HTML
    • ISBN: 978-2-409-02614-0
    • EAN: 9782409026140
    • Ref. ENI: LNEIT2ANGNOD

Descargas

Al completar este formulario, acepta recibir información y comunicaciones comerciales sobre nuestros productos y servicios. Puede darse de baja de nuestra newsletter en cualquier momento. Si desea conocer más información acerca de nuestra política de protección de datos, pulse aquí.
  • Descargar los ejemplos del libro (1.75 Mo)