JavaScript un lenguaje para el Enterprise

Es en serio?

Solo lo dices porque eres un desarrollador de JavaScript

JavaScript es un lenguaje de juguete

No es un lenguaje compilado

Es un lenguaje lento

No es un lenguaje tipado

Trabaja en un solo hilo

La Transformación de JavaScript

Breve historia

  • Creado en 10 días por Brendan Eich, un empleado de Netscape en 1995
  • Nombrado inicialmente Mocha, luego renombrado a LiveScript y finalmente renombrado a JavaScript
  • Diseñado para ser el compañero de Java
  • Estandarizado por ECMA International en 1996

JavaScript - lingua franca en la web

Luego de múltiples acercamientos con diferentes tecnologías para implementar aplicaciones que emularan el comportamiento de una aplicación de escritorio en una página web, JavaScript emerge como el estándar de facto al ser el único lenguaje ejecutable por defecto en un navegador.

Node.js - reloading JavaScript

Ryan Dahl en 2009 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 y abrió todo un mundo de posibilidades para el lenguaje.

Qué es exactamente Node.js?

Una visión resumida

JavaScript VM (V8) + Event Loop (Libuv) + API de bajo nivel para I/O (C++)

Detallado tecnicamente

Programación asíncrona - Event Loop

Principales usos

  • APIs (REST, GraphQL, gRPC ...)
  • CLIs (Command Line Interface)
  • Aplicaciones de cliente y servidor
  • Aplicaciones de tiempo real

 

En resumen, Node.js le permitió a JavaScript salir del navegador y competir en el backend con lenguajes como Java y C#

Qué hace a JavasCript diferente?

Algunas diferencias

  • Interpretado (no compilado *)
  • Herencia por prototipos
  • Tipos de variables dinámicos
  • Uso de streams
  • ASÍNCRONO
  • Uso dinámico de memoria

Asincronía

   console.log('primero');
   
   // Esta instrucción se ejecutará en su propio tiempo
   setTimeout(function () {
     console.log('segundo');
   },100);

   console.log('tercero');

El Prototipo

Usos de javascript en la actualidad

Single Page Applications
 

Aplicativos móviles

Uso en dispositivos de hardware

Electron - JavaScript en el escritorio

Electron - JavaScript en el escritorio

Realidad aumentada y realidad virtual

Machine learning

AI - Aplicaciones con LLMs 

El Ecosistema de JavaScript

NPM

GitHub

GitHub

StackOverflow

Adopción en el enterprise

Compañías usando Node

Compañías usando Node

PayPal

Netflix

Walmart

Uber

Proceso de adopción

Cómo aprender JavaScript?

Recursos recomendados

Aprende jugando

Unete a MedellinJS

Asiste a CityJS Medellin

Gracias

JavaScript un lenguaje para el Enterprise

By Adrián Estrada

JavaScript un lenguaje para el Enterprise

  • 1,368