Meet JavaScript!
JavaScript
El lenguaje de la web
JavaScript != Java
Algo de historia
- Creado en 10 días por Brendan Eich, un empleado de Netscape
- Nombrado inicialmente Mocha, luego renombrado a LiveScript y finalmente renombrado a JavaScript
- Estandarizado por ECMA International en 1996
ECMAScript
Luego de la creación del sublenguaje de Microsoft (JScript). Netscape decide estandarizar JavaScript y le pide a Ecma International (Organizacion de Estandares) que lo hospede, ellos lo hacen con el nombre ECMA 262.
La primera especificación del ECMA-262 sale a la luz, pero como Sun (hoy Oracle) poseia la marca Java, el lenguaje no podía ser estandarizado bajo el nombre JavaScript. Por lo que se estandariza con el nombre ECMAScript.
Qué tiene de diferente JavaScript?
- Interpretado (no compilado *)
- Herencia por prototipos
- Tipos de variables dinámicos
- ASÍNCRONO
Asincronía
console.log('primero');
// Esta instrucción se ejecutará en su propio tiempo
setTimeout(function () {
console.log('segundo');
},100);
console.log('tercero');
qué puedo hacer con JavaScript?
JavaScript SPA (Single Page Applications)
Una aplicación de página única es una aplicación web o un sitio web que cabe en una sola página con el propósito de dar una experiencia más fluida a los usuarios similar a una aplicación de escritorio.
Cómo funcionan las SPA?
En una SPA el usuario no navega por un sistema de enlaces tradicionales, en su lugar, mediante el uso cada vez mas extendido de JavaScript, AJAX, HTML5 y CSS, se actualiza lo que el usuario ve siempre desde la misma página sin refrescar el contenido entero incluso si la URL cambia.
JavaScript Mobile Apps
Las aplicaciones móviles con JavaScript o aplicaciones híbridas consisten en un aplicativo escrito en JavaScript usando uno de los diferentes frameworks disponibles, los cuales permiten usar el mismo código para generar un aplicativo que pueda ejecutarse en las diferentes plataformas móviles(IOS, Android, Windows Mobile, etc)
Cómo funcionan las aplicaciones híbridas?
Existen diferentes métodos pero el más común consiste en visualizar la aplicación como una página web y esta página web tiene la opción de usar un API JavaScript que a su vez se comunica con un componente nativo que permite acceder a los recursos del dispositivo móvil, como cámara, gps, audio, almacenamiento, etc
JavaScript Games
La web moderna se ha convertido en una plataforma viable para crear juegos y experiencias digitales de gran calidad comparables a los que se ejecutan en consolas y en plataformas de escritorio, tanto en el campo 2D como 3D
Algunos ejemplos
Node.js
Fue creado por Ryan Dahl en 2009 quien uso el motor de JavaScript de Google Chrome (v8), para ejecutar JavaScript en el lado del servidor permitiendo acceso a todos los recursos de este.
Node.js
Regulado actualmente por la Node.js Foundation quien a su vez es asesorada por la Linux Foundation
Características de Node.js
- Node.js no necesita servidor de aplicaciones (no Apache, no Tomcat, no IIS, etc)
- Manejo de operaciones I/O de forma asíncrona (operaciones de archivos, bases de datos, consumo de APIs, etc)
Características de Node.js
- El código JavaScript es compilado de forma nativa por V8
- Manejo del request y el response usando streams
Características de Node.js
- El ecosistema de paquetes de Node.js, npm, es el mas grande ecosistema de librerias open source en el mundo
- Todo el aplicativo usa un solo lenguaje
Compañías usando Node.js
Compañías usando Node.js
Compañías usando Node.js
Compañías usando Node.js
NodeBots
Inciativa que impulsa la programación de hardware, usualmente compatible con Arduino, usando JavaScript por medio de Node.js
Cómo funcionan los NodeBots?
Existen diferentes métodos, siendo el más común el controlar el puerto serial de un computador para enviar señales mediante el protocolo Firmata al dispositivo
JavaScript Desktop apps
Usando JavaScript por medio de Node.js se puede tener un aplicativo que se ejecute en el escritorio que puede acceder a los recursos del sistema en el cual se ejecuta, lo mejor es que al ser Node.js multiplataforma, el mismo código funcionará en Linux ,Windows o Mac
Los números de JavaScript
Lenguajes más populares en Github
Lenguajes más populares en StackOverflow
Salarios por tecnología en StackOverflow
Aprendiendo JavaScript
Recursos recomendados
- Codecademy: https://www.codecademy.com/es/tracks/javascript-traduccion-al-espanol-america-latina-clone
- JavaScript the good parts: http://bdcampbell.net/javascript/book/javascript_the_good_parts.pdf
- Guia de JavaScript por Mozilla: https://developer.mozilla.org/es/docs/Web/JavaScript/Guide
Equipo Organizador
Actividades
Temas
Gracias por asistir!
http://medellinjs.org
@medellinjs
@edsadr
Meet JavaScript
By Adrián Estrada
Meet JavaScript
- 1,907