Este libro sobre JavaScript está dirigido a los desarrolladores que desean mejorar sus habilidades y competencias de JavaScript y pasar del dominio sintáctico, al dominio del ciclo completo de desarrollo. Una primera experiencia de desarrollo con JavaScript, en su sintaxis básica, es esencial para una buena comprensión de este libro.
JavaScript es un lenguaje particularmente potente, con una expresividad bastante libre. Si no se controla adecuadamente es nivel de...
Este libro sobre JavaScript está dirigido a los desarrolladores que desean mejorar sus habilidades y competencias de JavaScript y pasar del dominio sintáctico, al dominio del ciclo completo de desarrollo. Una primera experiencia de desarrollo con JavaScript, en su sintaxis básica, es esencial para una buena comprensión de este libro.
JavaScript es un lenguaje particularmente potente, con una expresividad bastante libre. Si no se controla adecuadamente es nivel de libertad, se convierte rápidamente en una fuente de dificultades, especialmente para obtener un código de calidad en un tiempo razonable. Después de leer este libro, sabrá cómo iniciar rápidamente sus proyectos, crear código portable y eficiente y continuar su trabajo en varios contextos y soportes. Para ello, el autor se ha centrado en las buenas prácticas como la organización del código en módulos independientes, la realización de pruebas unitarias, la depuración, la elección de librerías externas, etc.
Podrá gestionar proyectos de distintos tamaños sin perder de vista la arquitectura de sus aplicaciones, trabaje tanto de forma individual como en equipo. Se sentirá a gusto trabajando en sus proyectos web, tanto para uso clásico como para aplicaciones móviles. Con TypeScript, aprenderá a superar los límites de JavaScript. Finalmente, podrá crear, utilizar y extender con mayor facilidad frameworks web adaptados a su contexto operativo, como jQuery, Dojo, etc.
Se beneficiará de las últimas grandes evoluciones del lenguaje gracias a ECMAScript 2015, para llevar abordar un objeto real y un desarrollo funcional.
Se pueden descargar elementos adicionales del sitio web : www.ediciones-eni.com
¡Nuevo! Rondas de preguntas disponibles con la versión online.
2.3 Carga de script mediante la caché del navegador
3. Ámbito de las variables y funciones
3.1 Ámbito de las variables
3.2 Ámbito de las variables en una función
4. Optimización del ámbito
4.1 Limitar el contexto global
4.2 Función anónima
4.3 Cierre
5. Simplificar sus expresiones
5.1 El operador ||
5.2 El operador &&
5.3 Comparación
5.4 Argumentos variantes
5.5 Extensión de tipo
5.5.1 prototype
5.5.2 Array
5.5.3 String
5.5.4 Function
5.5.5 Object
6. Paso al modo strict
6.1 Uso
6.2 Algunos casos
7. JSHint
7.1 Uso básico
7.2 Carga del código
7.3 Otro uso
7.3.1 Línea de comandos
7.3.2 En su editor
8. Documentar su código con JSDoc
8.1 El principio
8.2 Los marcadores
8.2.1 Declaraciones
8.2.2 Funciones
8.2.3 Objeto
8.2.4 Meta
8.3 Uso
8.3.1 IDE WebStorm
8.3.2 Generación de una documentación
9. Paso de un entorno de desarrollo a un entorno de producción
9.1 Pruebas unitarias
9.1.1 Introducción
9.1.2 Gestión con su propia librería
9.1.3 QUnit
9.2 Minimización
9.2.1 Presentación
9.2.2 YUI Compressor
9.2.3 Closure Compiler
Desarrollo orientado a objetos eficaz
1. Primer enfoque
1.1 Recordatorios
1.1.1 Clase
1.1.2 Instancia
1.1.3 Encapsulación
1.1.4 Herencia
1.1.5 Abstracción
1.1.6 Sobrecarga
1.1.7 La interfaz
1.1.8 Polimorfismo
1.2 Construcción de un objeto
1.2.1 Preámbulo
1.2.2 Instancia directa
1.2.3 Tabla asociativa
1.2.4 Recorrido de las propiedades
1.3 Construcción de una clase
1.3.1 El constructor
1.3.2 El operador new
1.3.3 El operador this
1.3.4 La palabra clave with
1.3.5 La palabra clave instanceof
2. Contexto de ejecución
2.1 this
2.2 that
2.3 Función anónima
2.4 Binding
3. Clases predefinidas
3.1 Object
3.2 String
3.3 RegExp
3.4 Array
3.5 Date
3.6 Math
4. Nociones avanzadas
4.1 Prototipado
4.1.1 Simple
4.1.2 Optimizado
4.2 Herencia
4.2.1 Aspectos básicos
4.2.2 Sobrecarga
4.2.3 polimorfismo
4.2.4 Resolución de conflictos
4.3 Gestión de memoria
4.3.1 Garbage collector
4.3.2 null
4.3.3 delete
4.3.4 var
5. Framework para el desarrollo orientado a objetos
5.1 Prototype
5.1.1 Creación de una clase
5.1.2 Herencia
5.1.3 Composición
5.2 MooTools
5.2.1 Creación de una clase
5.2.2 Herencia
5.2.3 Implementación
5.3 jQuery
5.3.1 Introducción
5.3.2 Merge simple
5.3.3 Merge recursivo
5.4 Dojo
5.4.1 Introducción
5.4.2 Creación de una clase
5.4.3 Herencia
Adoptar las buenas prácticas
1. Espacio de nombres
1.1 Aspectos básicos
1.2 Función
1.2.1 Función interna
1.2.2 Función anónima
1.2.3 Función anónima con argumentos
1.3 Cierre
1.4 Clase
2. Módulo
2.1 Presentación
2.2 Composición
3. CommonJS
3.1 Presentación
3.2 define
4. AMD
4.1 Introducción
4.1.1 Presentación
4.1.2 Algunos consejos
4.2 RequireJS
4.3 Dojo
4.4 curl
4.4.1 Principio
4.4.2 Acceso relativo
4.4.3 Gestión de los errores de carga
4.5 Escritura de su administrador de módulos
5. Depurar su código
5.1 Función alert
5.1.1 Uso
5.1.2 Simplificación
5.1.3 Módulo
5.2 Activación/desactivación
5.3 Ventana independiente
5.4 Consola
5.4.1 Acceso
5.4.2 log
5.4.3 Grupo
5.4.4 Niveles de traza
5.4.5 Medida
5.4.6 Pila de llamadas
5.5 Depurador integrado
5.5.1 Internet Explorer
5.5.2 Chrome
5.5.3 Firefox/Firebug
5.5.4 Conclusión
Mejorar sus competencias Web
1. Página HTML
1.1 Lo principal
1.1.1 Etiqueta
1.1.2 Etiquetas de estructura
1.1.3 Enlace
1.1.4 Tabla
1.1.5 Formulario
1.1.6 Genérico
1.2 El CSS
1.2.1 Declaración
1.2.2 Selectores
1.2.3 Propiedades
2. Librerías JavaScript
2.1 El objeto window
2.1.1 Rol
2.1.2 open
2.1.3 setInterval, setTimeout
2.1.4 location
2.1.5 navigator
3. DOM
3.1 Documento
3.1.1 Propiedades y métodos
3.1.2 Recorridos
3.2 Modificación
3.2.1 Construcción
3.2.2 Eventos
4. Formulario
4.1 Validación simple
4.2 Gestión de los campos
4.3 Restricciones adicionales
4.4 Diseño de un módulo de validación
5. Caso de estudio
5.1 Gestión de notas en una página web, arquitectura MVC
5.1.1 Primera etapa
5.1.2 Modelo de datos
5.1.3 La vista
5.1.4 Finalización
5.2 Gestión de notas, versión 2
5.2.1 Multivista
5.2.2 Ordenar las notas
5.3 Gestión de un cuestionario de opción múltiple (COM) en una página web
5.3.1 Primera etapa
5.3.2 Realización
Desarrollar fácilmente en cliente/servidor
1. AJAX
1.1 Petición simple
1.2 Respuesta XML
1.3 Parámetros GET
1.4 Parámetros POST
1.5 Peticiones entre dominios diferentes
1.6 Módulo
1.6.1 Versión monopetición
1.6.2 Versión petición múltiple
1.7 Formato de intercambio
1.7.1 Texto
1.7.2 XML
1.7.3 XSLT
1.7.4 JSON
1.8 Objetos en cliente/servidor
1.8.1 Implementación Java intrusiva
1.8.2 Implementación Java no intrusiva
2. Carga dinámica de script
2.1 Primera implementación
2.2 Módulo AMD
Dominar los frameworks Web
1. Comenzar correctamente con jQuery
1.1 Conceptos
1.1.1 Presentación
1.1.2 Selector
1.1.3 DOM
1.1.4 Herramientas
1.1.5 Efectos de transición
1.2 Eventos
1.2.1 Interacciones de usuario
1.2.2 AJAX
1.2.3 Conclusión
1.3 Plugins jQuery
1.3.1 Construcción
1.3.2 Uso
2. Comenzar correctamente con Dojo
2.1 Conceptos
2.1.1 Presentación
2.1.2 Configuración
2.1.3 Sus módulos AMD
2.1.4 DOM
2.2 Eventos
2.2.1 Interacciones de usuario
2.2.2 AJAX
2.2.3 Conclusión
3. Construir su framework web
3.1 Primera etapa
3.1.1 Presentación
3.1.2 Organización
3.2 Segunda etapa
3.2.1 Uso de plantillas de componentes
3.2.2 Realización de un botón
3.3 Tercera etapa
3.3.1 Creación de una calculadora simple
3.3.2 El futuro
TypeScript
1. Introducción
1.1 Objetivos
1.2 Hello world
1.3 Entorno de desarrollo
1.3.1 Visual Studio Community 2019
1.3.2 WebStorm 2020
2. Variables y constantes
2.1 Variable
2.2 Constante
3. Tipado
3.1 Declaración
3.1.1 Variable
3.1.2 Funciones
3.2 Cadenas
3.3 Número
3.4 Booleanos
3.5 Enumeración
3.6 Any, Null y Undefined
3.6.1 Any
3.6.2 Null y Undefined
3.7 Tablas
3.8 Aserciones
3.9 Iteraciones
4. Clases
4.1 Declaración y uso
4.2 Herencia
4.3 Visibilidad de los campos
4.4 Propiedades en modo solo lectura
4.5 Proveedores de acceso
4.6 Propiedades estáticas
5. Interfaces
5.1 Declaración
5.2 Propiedades opcionales y en modo solo lectura
5.3 Tipos de funciones
5.4 Tipos indexables
5.5 Implementación
6. Genéricos
6.1 Declaración y uso
6.2 Tipos genéricos
6.3 Clases genéricas
6.4 Restricciones
7. Módulos
7.1 Declaración y uso
7.2 Importación
8. Espacio de nombres
8.1 Declaración y uso
8.2 Espacios de nombres múltiples
8.2.1 Construcción de un archivo único
8.2.2 Instrucción de compilación
8.3 Espacios de nombres anidados
8.4 Alias
ECMAScript
1. Uso
1.1 Compatibilidad
1.2 Alcance
1.3 Constantes
1.4 Declaración de las funciones simplificada
2. Estructura de datos más eficaz
2.1 Cadenas de caracteres
2.2 Colecciones
3. Desarrollo orientado a objetos rápido
3.1 Clases
3.2 Herencia
3.3 Miembros estáticos
3.4 Contexto de this
3.5 Getters/setters
3.6 Asignación a objeto facilitada
3.7 Declaración simplificada
3.8 Nombre de propiedad dinámica
4. Programación modular simplificada
4.1 Exportación
4.2 Importación
4.3 Uso
5. Funciones simplificadas
5.1 Expresiones lambda
5.2 Iteradores
6. Desarrollo asíncrono
6.1 Simple
6.2 Múltiple
7. Facilitar el uso internacional
7.1 Números
7.2 Monedas
7.3 Fechas/horas
Lista de URL
1. Editores JavaScript
2. Frameworks
3. Frameworks orientados a objetos
4. Librerías
5. Administradores AMD
6. Herramientas
7. Plugins jQuery
8. Referencias
índice
Alexandre BRILLANT
Alexandre BRILLANT es desarrollador independiente desde hace muchos años. Está especializado en tecnologías Java y en el desarrollo web. En este contexto, naturalmente recurrió al lenguaje JavaScript. Su abundante y rica experiencia le permite ofrecer al lector un libro claro y preciso, de acuerdo con buenas prácticas de desarrollo, para adquirir habilidades.