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

Equipo Organizador

Actividades

Temas

Gracias por asistir!

http://medellinjs.org

@medellinjs

@edsadr

Meet JavaScript

By Adrián Estrada

Meet JavaScript

  • 1,845