Contenido
Parte I - Hablemos de JavaScript
Introducción
Sobre este libro
Esto va de ser una comunidad
- Creative Commons — Attribution-NonCommercial-ShareAlike 4.0 International — CC BY-NC-SA 4.0
- este repositorio de GitHub
- estos issues
- #JavascriptIniciate - Twitter Search
- contributing.md
- repositorio
¿Qué necesito saber antes de empezar?
- Document Object Model - Wikipedia, la enciclopedia libre
- AJAX - Wikipedia, la enciclopedia libre
- HTML - Wikipedia, la enciclopedia libre
- CSS
- jQuery
¿Qué aprenderemos?
¿Qué no aprenderemos?
- Base de datos relacional - Wikipedia, la enciclopedia libre
- NoSQL - Wikipedia, la enciclopedia libre
- Programación orientada a objetos - Wikipedia, la enciclopedia libre
- Programación funcional - Wikipedia, la enciclopedia libre
- Window.localStorage - Web API reference | MDN
- Expresión regular - Wikipedia, la enciclopedia libre
- Decorator pattern - Wikipedia
- Facade pattern - Wikipedia
- Patrón de diseño - Wikipedia, la enciclopedia libre
- Git
- How people build software · GitHub
- AngularJS a Superheroic JavaScript MVW Framework
- A JavaScript library for building user interfaces - React
- Polymer
- Backbone.js
- Basic JavaScript MVC Implementation · GitHub
- Framework - Wikipedia, la enciclopedia libre
- Vanilla JS
- jQuery
- math.js | an extensive math library for JavaScript and Node.js
- Moment.js | Home
- Douglas Crockford - Wikipedia
- jQuery
- ECMAScript 6: New Features: Overview and Comparison
- ECMAScript Language Specification - ECMA-262 Edition 5.1
- ECMAScript 5 compatibility table
- Node.js - Wikipedia, la enciclopedia libre
- Controlar la ejecución asíncrona - todoJS
- Servidor web - Wikipedia, la enciclopedia libre
- GitHub - OSWeekends/OSWaldito: Robot Open Source que utilizamos en OSWeekends para gestionar redes sociales, telepresencia, etc....
- Node.js - Wikipedia, la enciclopedia libre
- gulp.js
- Grunt: The JavaScript Task Runner
- Broccoli.js - The asset pipeline for ambitious applications
- Inteligencia artificial - Wikipedia, la enciclopedia libre
Importante
- Software libre - Wikipedia, la enciclopedia libre
- Leanpub: Publish Early, Publish Often
- Code Club | Home
- Leanpub: Publish Early, Publish Often
- Markua
- JavaScript… by Ulises Gascón González [Leanpub PDF/iPad/Kindle]
- Mozilla Developer Network
- JS Dojo Madrid (Madrid) | Meetup
- Open Source Weekends
Convenciones utilizadas en este libro
Ejecuta el código
Iconos utilizados en este libro
Capítulo 1 - JavaScript de hace 10 minutos
La historia de nuestra industria
1991 - 1993
- Hypertext Transfer Protocol - Wikipedia, la enciclopedia libre
- Mosaic - Wikipedia, la enciclopedia libre
1994 - 1995
- Netscape Navigator - Wikipedia, la enciclopedia libre
- Opera
- Internet Explorer - Wikipedia, la enciclopedia libre
- cookies
- disclaimers
- Transport Layer Security - Wikipedia, la enciclopedia libre
- Hypertext Transfer Protocol Secure - Wikipedia, la enciclopedia libre
- Internet Message Access Protocol - Wikipedia, la enciclopedia libre
- Post Office Protocol - Wikipedia, la enciclopedia libre
- SMTPS - Wikipedia
- FTPS - Wikipedia
- Brendan Eich - Wikipedia, la enciclopedia libre
- Netscape Navigator - Wikipedia, la enciclopedia libre
- Java
- JavaScript is not Java – A humorous comparison of JavaScript and Java.
- Guerra de navegadores - Wikipedia, la enciclopedia libre
- Webmaster - Wikipedia, la enciclopedia libre
- The World's Worst Website Ever!
1996 - 1998
- iframe - Wikipedia, la enciclopedia libre
- Maquetar una página web con tablas
- Hoja de estilo - Wikipedia, la enciclopedia libre
- Applet Java - Wikipedia, la enciclopedia libre
- Animación Flash - Wikipedia, la enciclopedia libre
- XML - Wikipedia
- CSS
- Google Prototipo en 1998
- Google Beta en 1998
- Amazon en 1998
1999 - 2007
- Burbuja punto com - Wikipedia, la enciclopedia libre
- Problema del año 2000 - Wikipedia, la enciclopedia libre
- ActiveX - Wikipedia
- XMLHttpRequest Level 2
- Web 2.0 - Wikipedia, la enciclopedia libre
- Scalable Vector Graphics - Wikipedia, la enciclopedia libre
- Canvas
- jQuery - Wikipedia, la enciclopedia libre
- PHP - Wikipedia, la enciclopedia libre
- phpBB - Wikipedia, la enciclopedia libre
- WordPress - Wikipedia, la enciclopedia libre
- Joomla - Wikipedia, la enciclopedia libre
- Sistema de gestión de contenidos - Wikipedia, la enciclopedia libre
- Amazon en 2000
- Google en 2000
- Google en 2005
- Facebook en 2005 (AboutFace)
- Facebook en 2005
- Amazon en 2005
- Youtube en 2005
2008 en adelante...
- Google Chrome - Wikipedia, la enciclopedia libre
- Web semántica - Wikipedia, la enciclopedia libre
- Diseño web adaptable - Wikipedia, la enciclopedia libre
- Teléfono inteligente - Wikipedia, la enciclopedia libre
- Adobe Photoshop Scripting | Adobe Developer Connection
- Unity - C# vs JS syntax
- Java
- Swift
- Objective-C - Wikipedia, la enciclopedia libre
- PhoneGap - Wikipedia, la enciclopedia libre
- Node.js - Wikipedia, la enciclopedia libre
- Electron - Build cross platform desktop apps with JavaScript, HTML, and CSS.
- Internet de las cosas - Wikipedia, la enciclopedia libre
- Robótica - Wikipedia, la enciclopedia libre
- Cyclon.js
- Johnny-Five: The JavaScript Robotics & IoT Platform
- Línea de abonado digital asimétrica - Wikipedia, la enciclopedia libre
- Fibra óptica - Wikipedia, la enciclopedia libre
- Google en 2010
- Google en 2015
- Amazon en 2010
- Amazon en 2015
- Youtube en 2010
- Youtube en 2015
- Facebook en 2010
- Facebook en 2015
El largo camino del Developer
Una historia de evolución
- Webmaster - Wikipedia, la enciclopedia libre
- Adobe Creative Suite - Wikipedia, la enciclopedia libre
- Alojamiento web - Wikipedia, la enciclopedia libre
- Interfaz de programación de aplicaciones - Wikipedia, la enciclopedia libre
- Servidor HTTP Apache - Wikipedia, la enciclopedia libre
- Desarrollo ágil de software - Wikipedia, la enciclopedia libre
- Programación extrema - Wikipedia, la enciclopedia libre
- Software libre - Wikipedia, la enciclopedia libre
- LAMP - Wikipedia, la enciclopedia libre
- SQL - Wikipedia, la enciclopedia libre
- NoSQL - Wikipedia, la enciclopedia libre
- Inteligencia artificial - Wikipedia, la enciclopedia libre
- Big data - Wikipedia, la enciclopedia libre
- Carlos Hernández on Twitter: "La NASA usa node para sus trajes espaciales. Brutal. https://t.co/E9AhdAU11e"
Una realidad caótica.
- Web Development
- gulp.js
- Grunt: The JavaScript Task Runner
- ¿Qué es un preprocesador de CSS?
- A Complete Guide to Flexbox | CSS-Tricks
- RequireJS
- webpack module bundler
- Browserify
- Patrón de diseño - Wikipedia, la enciclopedia libre
- Refactorización - Wikipedia, la enciclopedia libre
- microservicios
- Build apps like there is noBackend!
- Serverless computing - Wikipedia
- WebSocket - Wikipedia, la enciclopedia libre
- OAuth - Wikipedia, la enciclopedia libre
- The web's scaffolding tool for modern webapps | Yeoman
- gulp.js
- Jenkins
- TravisCI
- Nginx
- Shell script - Wikipedia
En el centro del huracán: JavaScript
- The Deep Roots of Javascript Fatigue
- El estado del desarrollo Front-End en 2015 por Ashley Nolan
- How it feels to learn JavaScript in 2016 – Hacker Noon
- The State Of JavaScript Developer Survey
- How to avoid JavaScript fatigue and sleep well at night - YouTube
- The Magpie Developer
- The Sad State of Web Development – Drew Hamlett – Medium
- A response to The Sad State of Web Development — Its not about Javascript really : programming
- How one developer just broke Node, Babel and thousands of projects in 11 lines of JavaScript • The Register
- Is left-pad Indicative of a Fragile JavaScript Ecosystem?Telerik Developer Network
- Overcoming JavaScript Fatigue -Telerik Developer Network
- ¿Y si el software Open Source desapareciera?
- jsfatigue - Twitter Search
- Ryan Dahl: Original Node.js presentation - YouTube
- Ryan Dahl
- Node.js
- Servidor web - Wikipedia, la enciclopedia libre
- Chrome V8 | Google Developers
- npm
- io.js - JavaScript I/O
Revolución... ¡Revolución!
- La revolucion de SO (Revolution OS).2001 (Documental en V.O.Sub. español - YouTube
- Platform as a service - Wikipedia
- Manifiesto por el Desarrollo Ágil del Software
- File Transfer Protocol - Wikipedia, la enciclopedia libre
- Control de versiones - Wikipedia, la enciclopedia libre
- Git
- Versionamiento Semántico 2.0.0-rc.2 - Semantic Versioning
- Programación extrema - Wikipedia, la enciclopedia libre
- Computación en la nube - Wikipedia, la enciclopedia libre
- Google Cloud Computing, Hosting Services & APIs | Google Cloud Platform
- AWS | Cloud Computing - Servicios de informática en la nube
- Heroku
- Social login - Wikipedia
- Software libre - Wikipedia, la enciclopedia libre
- Distribución Linux - Wikipedia, la enciclopedia libre
- Creative Commons - Wikipedia, la enciclopedia libre
- Hardware libre - Wikipedia, la enciclopedia libre
- Extensible Markup Language - Wikipedia, la enciclopedia libre
- JSON - Wikipedia, la enciclopedia libre
- WebSocket - Wikipedia, la enciclopedia libre
- Build apps like there is noBackend!
- Empresa emergente - Wikipedia, la enciclopedia libre
- Producto viable mínimo - Wikipedia, la enciclopedia libre
- Mainstream - Wikipedia, la enciclopedia libre
- Lean startup - Wikipedia, la enciclopedia libre
Capítulo 2 - Hola Mundo
Un mundo de máquinas
- Anexo:Lenguajes de programación - Wikipedia, la enciclopedia libre
- Lógica - Wikipedia, la enciclopedia libre
- abstracción
- sentencias
- Computadora - Wikipedia, la enciclopedia libre
Pensar como un programador
- Don't learn to code. Learn to think.
- Linus Torvalds: La mente detrás de Linux | TED Talk | TED.com
- What Most Schools Don't Teach - YouTube
- Computer science is for everyone | Hadi Partovi | TEDxRainier - YouTube
- The early days | Steve Wozniak | TEDxBerkeley - YouTube
- Hack your life in 48 hours | Dave Fontenot | TEDxTeen - YouTube
- You Should Learn to Program: Christian Genco at TEDxSMU - YouTube
- Complejidad ciclomática - Wikipedia, la enciclopedia libre
- nivel de abstracción
- Metaprogramación - Wikipedia, la enciclopedia libre
- Scratch - Imagine, Program, Share
- Bitbloq
Pseudocódigo
Variables
Interacción con el usuario
Estructuras condicionales
Bucles
Funciones o subprocesos
Operadores especiales
Capítulo 3 - console.log("Hola Mundo");
JSHint
- ESLint - Pluggable JavaScript linter
- JSHint, a JavaScript Code Quality Tool
- About JSHint
- GitHub - jshint/jshint: JSHint is a tool that helps to detect errors and potential problems in your JavaScript code
Consola
- Chrome DevTools | Web | Google Developers
- Console - Web API reference | MDN
- Chrome DevTools (@ChromeDevTools) | Twitter
- Chrome DevTools Overview - Google Chrome
Métodos destacados:
- Console.assert() - Web APIs | MDN
- clear() - Web API reference | MDN
- Console.dir() - Web APIs | MDN
- Console.dirxml() - Web APIs | MDN
- Console.group() - Web APIs | MDN
- Console.groupCollapsed() - Web APIs | MDN
- Console.groupEnd() - Web APIs | MDN
- Console.table() - Web APIs | MDN
- Console.time() - Web APIs | MDN
- Console.timeEnd() - Web APIs | MDN
- Console.log() - Web APIs | MDN
- Console.info() - Web APIs | MDN
- Console.warn() - Web APIs | MDN
- Console.error() - Web APIs | MDN
Caracteres especiales:
Comentarios
Nombres de variables
Tipos de variables
- ECMAScript Language Specification - ECMA-262 Edition 5.1
- Tipado fuerte - Wikipedia, la enciclopedia libre
- Tipo de dato - Wikipedia, la enciclopedia libre
- var - JavaScript | MDN
- undefined - JavaScript | MDN
- Object - JavaScript | MDN
- Boolean - JavaScript | MDN
- Number - JavaScript | MDN
- String - JavaScript | MDN
- Function - JavaScript | MDN
- Symbol - JavaScript | MDN
- ECMAScript 6: New Features: Overview and Comparison
Matemáticas Básicas
Matemáticas Básicas (Agrupando operaciones)
Matemáticas Básicas (crecimiento y decrecimiento)
Operadores de asignación
Interacción Básica con el Usuario
- Window.alert() - Web API reference | MDN
- Window.confirm() - Web API reference | MDN
- Window.prompt() - Web API reference | MDN
Parte II - Mecánica del lenguaje
Capítulo 4 - Comparadores
Operadores de Comparación
Operadores Lógicos
Todo puede ser booleano
Asignación por igualdad
If
If... else
Else if...
Switch
Operador Ternario
Estructura
Ejemplos
Capítulo 5 - Bucles
- Array.prototype.forEach() - JavaScript | MDN
- for...in - JavaScript | MDN
- What's the Fastest Way to Code a Loop in JavaScript? (Greg Reimer's Weblog)
- benchmarks
While
Funcionamiento
For
Funcionamiento
Do... While
Funcionamiento
Break
Errores comunes
Bucle infinito
Bucle que no se ejecutará
Usos Avanzados
Decrecimiento:
Anidación:
Exprimiendo el For
No refactorizar
Capítulo 6 - Números y fechas
Numbers
- Number - JavaScript | MDN
- Notación científica - Wikipedia, la enciclopedia libre
- accounting.js: JavaScript number and currency formatting library
Propiedades
- Number.MAX_VALUE - JavaScript | MDN
- Number.MIN_VALUE - JavaScript | MDN
- Number.POSITIVE_INFINITY - JavaScript | MDN
- Infinity - JavaScript | MDN
- Infinity - JavaScript | MDN
- Number.NEGATIVE_INFINITY - JavaScript | MDN
- Infinity - JavaScript | MDN
- Infinity - JavaScript | MDN
- Number.NaN - JavaScript | MDN
- NaN - JavaScript | MDN
- isNaN - JavaScript | MDN
Métodos
- Number.prototype.toExponential() - JavaScript | MDN
- Number.prototype.toFixed() - JavaScript | MDN
- Number.prototype.toLocaleString() - JavaScript | MDN
- Number.prototype.toPrecision() - JavaScript | MDN
- Number.prototype.toString() - JavaScript | MDN
- Number.parseFloat() - JavaScript | MDN
- Number.parseInt() - JavaScript | MDN
Math
- Math - JavaScript | MDN
- Constante de Euler-Mascheroni - Wikipedia, la enciclopedia libre
- Logaritmo - Wikipedia, la enciclopedia libre
- senos
- Coseno - Wikipedia, la enciclopedia libre
- tangentes
- math.js | an extensive math library for JavaScript and Node.js
Métodos
Dates
Trabajando con fechas
- instanciando
- Date - JavaScript | MDN
- new - JavaScript | MDN
- Tiempo universal coordinado - Wikipedia, la enciclopedia libre
Métodos
- Tiempo universal coordinado - Wikipedia, la enciclopedia libre
- Date.prototype.toString() - JavaScript | MDN
- Date.prototype.toDateString() - JavaScript | MDN
- Date.prototype.toTimeString() - JavaScript | MDN
- Date.prototype.toUTCString() - JavaScript | MDN
- Date.prototype.toISOString() - JavaScript | MDN
- Tiempo universal coordinado - Wikipedia, la enciclopedia libre
- ISO 8601 - Wikipedia, la enciclopedia libre
- ISO 8601 - Wikipedia, la enciclopedia libre
- Date.prototype.toLocaleString() - JavaScript | MDN
- Lista de códigos IETF
Benchmark
Setters, problema resuelto
Sin getters
Con getters
Capítulo 7 - Cadenas de texto
Propiedades
Métodos
- String.prototype.toLowerCase() - JavaScript | MDN
- String.prototype.toUpperCase() - JavaScript | MDN
- String.fromCharCode() - JavaScript | MDN
- Unicode - Wikiwand
- String.prototype.anchor() - JavaScript | MDN
- < a > - HTML | MDN
- String.prototype.charAt() - JavaScript | MDN
- String.prototype.charCodeAt() - JavaScript | MDN
- String.prototype.concat() - JavaScript | MDN
- String.prototype.indexOf() - JavaScript | MDN
- String.prototype.lastIndexOf() - JavaScript | MDN
- String.prototype.link() - JavaScript | MDN
- String.prototype.trim() - JavaScript | MDN
- String.prototype.slice() - JavaScript | MDN
- String.prototype.split() - JavaScript | MDN
- String.prototype.substr() - JavaScript | MDN
- String.prototype.substring() - JavaScript | MDN
Capítulo 8 - Arrays
Manejo
Creando un array
Usando el Índice
Cambiar un valor del Índice
Borrando elementos
Propiedades
Métodos
- Array.isArray() - JavaScript | MDN
- Array.prototype.sort() - JavaScript | MDN
- Array.prototype.reverse() - JavaScript | MDN
- Array.prototype.join() - JavaScript | MDN
- Array.prototype.toString() - JavaScript | MDN
- Array.prototype.toLocaleString() - JavaScript | MDN
- Array.prototype.concat() - JavaScript | MDN
- Array.prototype.indexOf() - JavaScript | MDN
- Array.prototype.lastIndexOf() - JavaScript | MDN
- Array.prototype.push() - JavaScript | MDN
- Array.prototype.unshift() - JavaScript | MDN
- Array.prototype.pop() - JavaScript | MDN
- Array.prototype.shift() - JavaScript | MDN
- Array.prototype.splice() - JavaScript | MDN
Métodos Avanzados
- Array.prototype.some() - JavaScript | MDN
- Array.prototype.every() - JavaScript | MDN
- Array.prototype.filter() - JavaScript | MDN
- Array.prototype.forEach() - JavaScript | MDN
- Array.prototype.map() - JavaScript | MDN
Arrays multidimensionales
Capítulo 9 - Objetos
Objetos Literales
- Object - JavaScript | MDN
- Clases - JavaScript | MDN
- Object.prototype - JavaScript | MDN
- Object - JavaScript | MDN
- Qué es REST
- JSON - Wikipedia, la enciclopedia libre
Manejo
Métodos
- Object.defineProperties() - JavaScript | MDN
- how to use javascript Object.defineProperty - Stack Overflow
- Object.getOwnPropertyDescriptor() - JavaScript | MDN
- Object.getOwnPropertyNames() - JavaScript | MDN
- Object.isExtensible() - JavaScript | MDN
- Object.prototype.hasOwnProperty() - JavaScript | MDN
- Object.prototype.propertyIsEnumerable() - JavaScript | MDN
- Object.prototype.toLocaleString() - JavaScript | MDN
Métodos Avanzados
Usos Especiales
Trabajando con espacios y caracteres especiales
Acortar objetos
Estructuras de datos
Capítulo 10 - Funciones
- First-class citizen - Wikipedia
- Función de orden superior - Wikipedia, la enciclopedia libre
- (callbacks)
- No te repitas - Wikipedia, la enciclopedia libre
- parámetro (callback)
- Formas de manejar la asincronía en JavaScript
Manejo
Argumentos y parámetros
Uso Normal
Parámetros opcionales
El orden es clave
Objetos como argumento
Avanzado: Objeto arguments
Retorno
Anidación
Ámbito (Scope)
Funciones Anónimas
Funciones que retornan funciones
Funciones anónimas autoejecutadas
- Programación dirigida por eventos - Wikipedia, la enciclopedia libre
- window - Web API reference | MDN
Recursión
- Programación funcional - Wikipedia, la enciclopedia libre
- Programación funcional - Wikipedia, la enciclopedia libre
- Factorial - Wikiwand
Callbacks
- Declaring and Using Callbacks - Mozilla | MDN
- Declaring and Using Callbacks - Mozilla | MDN
- Wikiwand
- Primeros Pasos - AJAX | MDN
Comparando por contexto
Asincronía
- Programación dirigida por eventos - Wikipedia, la enciclopedia libre
- window.setTimeout - Web API reference | MDN
Callback Hell
- Callback Hell
- Callback Hell
- Complejidad ciclomática - Wikipedia, la enciclopedia libre
- Generadores
- Promesas
- Funciones Async
- GitHub - caolan/async: Async utilities for node and the browser
- GitHub - kriskowal/q: A promise library for JavaScript
Documentar
Parte III - Web dinámica y conectada...
Capítulo 11 - Hackeando HTML y CSS
- History - Web API reference | MDN
- Screen - Web API reference | MDN
- Location - Web API reference | MDN
- XMLHttpRequest | MDN
- window - Lista Web API | MDN
- Document Object Model (DOM) - Web APIs | MDN
BOM (Browser Object Model)
window.history
- History - Web API reference | MDN
- History.length - Web APIs | MDN
- Manipulando el historial del navegador - DOM | MDN
- Manipulando el historial del navegador - DOM | MDN
- Manipulando el historial del navegador - DOM | MDN
window.navigator
- Navigator - Web API reference | MDN
- window.navigator.vibrate - Web API reference | MDN
- Promesa - JavaScript | MDN
- Navigator.getBattery() - Web API reference | MDN
window.screen
Window.location
- Window.location - Web API reference | MDN
- Document.location - Web API reference | MDN
- HTML 5.1: 6. Loading Web pages
Propiedades
Métodos:
- Location.assign() - Web APIs | MDN
- Location.reload() - Web APIs | MDN
- Location.replace() - Web APIs | MDN
DOM
- Document Object Model (DOM) - Web APIs | MDN
- Mozilla Developer Network
- Document Object Model (DOM) - Web APIs | MDN
- Web scraping - Wikipedia, la enciclopedia libre
Selectores
Selectores tradicionales
- document.getElementById - Web API reference | MDN
- id - HTML | MDN
- Document.getElementsByName() - Web API reference | MDN
- HTML attribute reference - HTML | MDN
- document.getElementsByTagName - Web API reference | MDN
- Referencia de Elementos HTML - HTML | MDN
- Document.getElementsByClassName() - Web API reference | MDN
- class - HTML | MDN
Selectores Avanzados
- Los 30 selectores CSS que debes memorizar
- Selectors Level 3
- Cheetyr - CSS Selectors Cheat Sheet
- Taming Advanced CSS Selectors – Smashing Magazine
- Selectores - CSS | MDN
- CSS Selectors Reference
- CSS Selectors — SitePoint
- Selectors | CSS-Tricks
- Learn CSS Selectors interactively
- Can I use... Support tables for HTML5, CSS3, etc
- Document.querySelector() - Web API reference | MDN
- Document.querySelectorAll() - Web API reference | MDN
- Can I use... Support tables for HTML5, CSS3, etc
- Document.querySelector() - Web API reference | MDN
- Document.querySelectorAll() - Web API reference | MDN
Estilos con Javascript
Alterando el DOM
Trabajar sin JQuery
- .show() | jQuery API Documentation
- .hide() | jQuery API Documentation
- .empty() | jQuery API Documentation
- .append() | jQuery API Documentation
- HubSpot Product & Engineering
- You Might Not Need jQuery
Métodos esenciales
- Node.textContent - Web API reference | MDN
- Element.classList - Web API reference | MDN
- Element.classList - Web API reference | MDN
- Element.classList - Web API reference | MDN
- Element.style - Web API reference | MDN
- Node.cloneNode() - Web API reference | MDN
- element.innerHTML - Web API reference | MDN
- Element.getAttribute() - Web API reference | MDN
- Element.setAttribute - Web API reference | MDN
Eventos
Funcionamiento
- MouseEvent - Web APIs | MDN
- KeyboardEvent - Web APIs | MDN
- Referencia de Eventos - Referencia de Tecnologías Web | MDN
- Event - Web APIs | MDN
Utilizando eventos
- onclick - Mozilla | MDN
- element.addEventListener - Web API reference | MDN
- Antipatrón de diseño - Wikipedia, la enciclopedia libre
- element.addEventListener - Web API reference | MDN
- element.addEventListener - Web API reference | MDN
- EventTarget.removeEventListener() - Web API reference | MDN
Usos Avanzados
- element.addEventListener - Web API reference | MDN
- EventTarget.removeEventListener() - Web API reference | MDN
- EventTarget.attachEvent() - Web API reference | MDN
- EventTarget.detachEvent() - Web API reference | MDN
- EventTarget.attachEvent() - Web API reference | MDN
- EventTarget.detachEvent() - Web API reference | MDN
- Patrón de diseño - Wikipedia, la enciclopedia libre
- Lazy initialization - Wikipedia
Propagación (Capturing y Bubbling)
- Edit fiddle - JSFiddle
- Event.stopPropagation() - Web API reference | MDN
- event.preventDefault - Web API reference | MDN
Capítulo 12 - AJAX y más AJAX
Entendiendo HTTP/s
- Protocolo sin estado - Wikipedia, la enciclopedia libre
- HTTP cookie - Wikipedia
- Almacenamiento - DOM | MDN
Métodos
Códigos de error
Trabajando con APIs
- Internet de las cosas - Wikipedia, la enciclopedia libre
- Interfaz de programación de aplicaciones - Wikipedia, la enciclopedia libre
- Transferencia de Estado Representacional - Wikipedia, la enciclopedia libre
- Simple Object Access Protocol - Wikipedia, la enciclopedia libre
- CRUD - Wikiwand
- Lorem ipsum - Wikipedia, la enciclopedia libre
- Facebook for Developers
- Products - Yahoo Developer Network
Peticiones AJAX
Errores más comunes (por código)
JSON
- JSON - Wikiwand
- JSONLint - The JSON Validator.
- JSON Formatter & Validator
- Online JSON Viewer
- JSON Editor
- JSON.parse() - JavaScript | MDN
- JSON.stringify() - JavaScript | MDN
Peticiones
No recargamos pero somos asíncronos.
- Vanilla JS
- XMLHttpRequest - Web APIs | MDN
- XMLHttpRequest - Web APIs | MDN
- loadstart - Event reference | MDN
- progress - Event reference | MDN
- abort - Event reference | MDN
- error - Event reference | MDN
- load - Event reference | MDN
- timeout - Event reference | MDN
- loadend - Event reference | MDN
- readystatechange - Event reference | MDN
- Hackers (1995) - IMDb
- Hackers: MGM 6 Sci-Fi Movies Collection
- OMDb API - The Open Movie Database
- http://www.omdbapi.com/?t=Hackers&y=&plot=short&r=json
CORS
- Control de acceso HTTP (CORS) - HTTP | MDN
- Control de acceso HTTP (CORS) - HTTP | MDN
- Control de acceso HTTP (CORS) - HTTP | MDN
- enable cross-origin resource sharing
- Monsur Hossain
- Michael Hausenblas
- Servidor proxy - Wikipedia, la enciclopedia libre
- crossorigin.me
- proyecto Open Source
Parte IV - Un pasito más...
Anexo: ¡Queda mucho más por aprender!
Recursos
Libros interesantes
- JavaScript for PHP Developers: A Concise Guide to Mastering JavaScript eBook: Stoyan Stefanov
- GitHub - getify/You-Dont-Know-JS: A book series on JavaScript. @YDKJS on twitter.
- JavaScript Allongé, the "Six" Edition by Reg “raganwald” Braithwaite
- Effective JavaScript: 68 Specific Ways to Harness the Power of JavaScript (Effective Software Development Series): David Herman: 9780321812186: Amazon.com: Books
- JavaScript for Kids: A Playful Introduction to Programming by Nick Morgan
- Eloquent JavaScript: A Modern Introduction to Programming eBook: Marijn Haverbeke
- JavaScript: The Good Parts: The Good Parts eBook: Douglas Crockford
- JavaScript Patterns: Amazon.es: Stoyan Stefanov: Libros en idiomas extranjeros
- JavaScript Ninja (Anaya Multimedia/Manning): Amazon.es: John Resig, Bear Bibeault: Libros
- JavaScript. La Guía Definitiva Anaya Multimedia/O¿Reilly: Amazon.es: David Flanagan: Libros
- CODIGO LIMPIO | ROBERT C. MARTIN | Comprar libro 9788441532106
- Sams Teach Yourself Node.js in 24 Hours by George Ornbo
- Learning JavaScript Design Pattern by Addy Osmani
Ampliar horizontes
Aprender a utilizar Git y GitHub
Aprender un nuevo lenguaje
Dominar un framework
Familiarízate con las librerías más populares
Contribuye a mejorar las cosas
Documentar no es una mala idea
Ayuda al prójimo
- Stack Overflow
- CodePen - Front End Developer Playground & Code Editor in the Browser
- User coma - Stack Overflow
Guías de estilo
- Guía de estilo para HTML, CSS y Javascript - Stack Overflow en español
- Ley de Parkinson de la trivialidad - Wikipedia, la enciclopedia libre
- idiomatic.js/translations/es_ES at master · rwaldron/idiomatic.js · GitHub
- GitHub - airbnb/javascript: JavaScript Style Guide
- 10 Best JavaScript Style Guides Including Airbnb and Idiomatic
Anexo: Comunidad...
¡Forma parte!
Meetups
- We are what we do | Meetup
- Open Source Weekends
- MadridJS (Madrid) | Meetup
- Node.js Madrid (Madrid) | Meetup
- WordPress Madrid (Madrid) | Meetup
- Hackathon Salud (Madrid) | Meetup
- Spain Girls in Tech | Women. Technology. Entrepreneurship.
- Hackathon Lovers (Madrid) | Meetup
- HTML5 Spain (Madrid) | Meetup
- API Addicts (Madrid) | Meetup
- ReactMad - ReactJS Madrid User Group (Madrid) | Meetup
- edupreneurs Madrid (Madrid) | Meetup
- Internet of Things Madrid Meetup (Madrid) | Meetup
- AngularMadrid (Madrid) | Meetup
- GDG Madrid (Madrid) | Meetup
- App a Month Madrid (Madrid) | Meetup
- Docker Madrid (Madrid) | Meetup
- Madrid Python Meetup (Madrid) | Meetup
- Front-end Developers Madrid (Madrid) | Meetup
- Software Craftsmanship Madrid (Madrid) | Meetup
- Tetuan Valley (Madrid) | Meetup
- JS Dojo Madrid (Madrid) | Meetup
- Madrid Polymer Group (Madrid) | Meetup
- ReactJS Spain (Madrid) | Meetup
- AdaLab
- FrontGirls