SlideShare una empresa de Scribd logo
Ecosistema JavaScript
Daniel Pecos Martínez
@danielpecos
Betabeers Castellón
5 de Abril de 2017
Infancia
Historia de la WWW
● Marzo 1989: Tim Berners-Lee
propone la World Wide Web
● Octubre 1990: HTML, URI y
HTTP implementados. Server
HTTP y browser disponibles.
● 1991: Se abre a personas
externas al CERN
● 1994: Se crea el W3C, con
Tim como director
● 2009: Se crea la World Wide
Web Foundation
20170405 - Ecosistema Javascript
Web Dinámica
● 1995: Brendan Eich (Netscape) crea Javascript en 10 días
● Inicialmente llamado Mocha, renombrado a LiveScript en su
lanzamiento beta, conviertiéndose en JavaScript en la beta
3 de Netscape Navigator 2
● Netscape comienza a colaborar con Sun Microsystems para
integrar Java en Navigator y complementarlo con JavaScript
● Microsoft incluye VBScript en Explorer en 1996
● JScript, una versión por ingeniería inversa de JavaScript,
fue incluida en Internet Explorer 3. También hubo una
versión server-side
Primeros Navegadores
● 1992 - 1996: Mosaic
● 1994 - 2007: Netscape
Navigator
● 1995: Opera
● 1995 - 2016: Internet
Explorer
● 2002: Safari
● 2008: Chrome
● 2015: Edge
Evolución de los Navegadores
http://www.evolutionoftheweb.com/
20170405 - Ecosistema Javascript
Browser Wars
● Explosión en tecnologías web:
– IE3 introdujo soporte para CSS y
extensiones HTML, pero muy
diferentes a las ofrecidas en Netscape
– IE4 creó el concepto de Dynamic
HTML, pero las diferencias de
implementación del DOM (Document
Object Models) permanecían
– Netscape introduce <blink> y
<marquee>
● Múltiples navegadores competían
por el mercado
● IE dominó el mercado gracias a su
inclusión por defecto en Windows
Browser Wars
Browser Wars
Browser Wars
AJAX
● Intercambio asíncrono de XML
● Historia
– 1996 Explorer introduce el iframe
– 1998 OWA implementa el primer XMLHTTP
– 1999 IE 5 introduce el primer ActiveX XMLHTTP
● Adoptado por como XMLHttpRequest (XHR) por el resto de browsers
– 2006 W3c publica el primer borrador para XHR, adoptándolo
definitivamente en 2014
● Lógica multi-navegador compleja de conseguir
● Jquery
– https://github.com/jquery/jquery/blob/master/src/ajax.js ~ 900 líneas de
código
Adolescencia
Estandarización
● ECMAScript es la especificación del lenguaje
de scripting para la web. Creado en 1997
● Existen distintas implementaciones:
– JavaScript
– JScript
– ActionScript
● Es habitual que incluyan características no
definidas en el estándar
ECMAScript
Ver. Año Cambios más destacables
1 1997
2 1998
3 1999 Expresiones regulares, más estructuras de control, mejoras en errores
4 -
5 2009 strict mode, JSON e introspección
5.1 2011 Adecuación a estándar ISO
6 2015 clases, módulos, generadores, arrow functions, promesas
7 2016 Operador exponenciación
8 ? async/await
RIAs
● Flash
● Java Applets / JavaFX
● Google Web Toolkit
● MS Silverlight
● JavaScript
– YUI
– ExtJS – Sencha Touch
Flash
● Creado por Macromedia en
1996 y posteriormente
adquirido por Adobe
● Estándar de facto para
multimedia, juegos y
aplicaciones ricas
● Dispone de un diseñador
gráfico y permite implementar
lógica en ActionScript
● Proporciona acceso a
dispositivos hardware (GPS,
Micrófonos, Cámara, ...)
Apps Móviles
● Permiten crear
aplicaciones móviles
usando únicamente
HTML5 y JavaScript
● Desarrollos
multiplataforma
● Acceso mediante JS
a hardware nativo
Juventud
Single Page Applications
● Backbone (2010)
● Angular (2010)
● Ember (2011)
● Primeros frameworks
que explotan las
características de
HTML5
● Patrón MVC / MVP /
MVVM en frontend
● Acceso REST a
backend
JavaScript engine race
● SpiderMonkey
● Rhino
● V8
● Trident / Chakra
● Nashorn
● Nitro / JavaScriptCore
Node.js
● Creado por Ryan Dahl en
2009
● Server-side JS runtime,
construido sobre V8 de
Google
● Diseño asíncrono
(eventos), permitiendo un
fácil escalado
● API estándar
● NPM
Node.js
● Crecimiento
medio de 530
paquetes / día
Explosión de lenguajes *Script
● Se crean multitud de transpilers:
– CoffeeScript
– Dart
– Scala.js
– Elm
– TypeScript
● El lenguaje sigue sin ser del gusto de todos
● Libros como “Javascript, the Good Parts” gozan de
gran éxito
Explosión en tooling y librerías
● Grunt / Gulp
● Babel
● Webpack
● Yarn
● PM2
● Forever
● Bower
● Browserify
● Underscore / lodash
● Express
● Moment
● Socket.io
● Mocha / Sinon / Chai / Jasmine
/ Jest
● Cheerio
● Passport
● Mongoose
● q
Madurez
ES 6 / 7 / 8 / Next
● Revolución en lenguaje
– Módulos
– Introducción de clases
– Promesas / async – await
– Mejores estructuras de control
● Todos los navegadores evergreen implementan características
futuras del lenguaje
● Polyfill implementa mejoras (no sintácticas) sobre versiones
anteriores del lenguaje
● Babel permite usar características (de cualquier tipo) todavía no
disponibles en navegadores
Consolidación de SPAs
● Se afianza la tendencia y éxito de las webs SPA
como forma habitual de interacción con el usuario
● Los frameworks generan grandes cantidades de
código → requieren de nuevas técnicas de
optimización
– AOT
– Lazy Loading
– Tree Shaking
– Universal JS
20170405 - Ecosistema Javascript
React / Angular 2
● Basados en Shadow DOM / WebComponents
● React
– Librería para construcción de UIs
– Complementado por herramientas Flux
– Introducción de DOM virtual
● Angular 2
– Framework de aplicaciones
– 2 way data binding
● TypeScript vs JSX – (Microsoft + Google) vs Facebook
● VSCode es el IDE más usado para Angular 2
Apps Nativas JS
● Problema: las aplicaciones híbridas no ofrecen el
rendimiento ni la experiencia de usuario de las apps
nativas
● El desarrollo nativo es mucho más lento y costoso que el
desarrollo web
● → Nuevos frameworks para interfaces de usuario
nativas, con la experiencia del desarrollo en web:
– React Native - Facebook
– Native Script – Angular 2
● Aplicaciones nativas de escritorio: Electron
HTTP2
● Creado a partir de SPDY de Google
● Compatible (conceptualmente) con HTTP 1.1
● Proporciona
– Compresión en cabeceras HTTP
– Server Push
– Pipelining
– Multiplexación de la conexión TCP
GraphQL
●
Es un lenguaje de query para
APIs
● Desarrollado en 2015 por
Facebook
●
Los clientes piden exactamente
qué datos necesitan
– Permite una evolución simple de
las APIs
●
Fuerte interés por parte de la
comunidad
– Facebook, Github, Pinterest,
Coursera,...
WebAssembly
● Es un formato bytecode
portable para compilación
web
– Más compacto que JavaScript
– Más rápido de parsear
– Será usado como target en
multitud de compiladores
● Tiene sus orígenes en
asm.js
– Subconjunto de JS altamente
optimizable
¿Y sobre la interfaz?
● Frameworks
– Bootstrap
– Foundation
● Herramientas
– LESS
– SASS
– PostCSS
● Evolución
– CSS Flex Box
– CSS Grid
– Y muchos más...
Tooling habitual para el desarrollo 2017
● Frontend
– Bootstrap
– Foundation
– LESS / SASS /
PostCSS
– React / Angular CLI
– Webpack
– Babel
– Grunt / Gulp
● Backend
– Forever / PM2
– Mocha / Chai / Sinon
– Jasmine
– Jest
– Phantom.js
– Express / Passport
– Restify
– GraphQL
Gracias!
Daniel Pecos Martínez
@danielpecos

Más contenido relacionado

ODP
Taller Grails
Dani Latorre
 
PDF
Software libre para videoconferencias
Micael Gallego
 
PDF
Dev Tools para Kubernetes - Codemotion 2019
Micael Gallego
 
ODP
Grails barcamp 2013
Carlos Camacho
 
KEY
Grails: Aumenta tu productividad en tus aplicaciones web Java
Dani Latorre
 
PDF
OpenVidu Commitconf 2018
Micael Gallego
 
PDF
Desarrollo web front-end con TypeScript, Angular 2 e Ionic
Micael Gallego
 
Taller Grails
Dani Latorre
 
Software libre para videoconferencias
Micael Gallego
 
Dev Tools para Kubernetes - Codemotion 2019
Micael Gallego
 
Grails barcamp 2013
Carlos Camacho
 
Grails: Aumenta tu productividad en tus aplicaciones web Java
Dani Latorre
 
OpenVidu Commitconf 2018
Micael Gallego
 
Desarrollo web front-end con TypeScript, Angular 2 e Ionic
Micael Gallego
 

La actualidad más candente (20)

PDF
Curso Angular 9 - CodeURJC - Marzo 2020
Micael Gallego
 
PDF
Grails y EC2 - De cero a multinacional
Gailen Tecnologías
 
PDF
Herramientas y plugins para el desarrollo de aplicaciones cloud native para K...
Micael Gallego
 
ODP
Seminario Grails
Escuela de Groovy
 
PDF
Docker para Data Scientist - Master en Data Science URJC
Micael Gallego
 
PDF
This is Drupal! (Basics)
Maria del Carmen Garcia
 
PDF
Aprendiendo GWT
Manuel Carrasco Moñino
 
PDF
Gwt I - entendiendo gwt
Manuel Carrasco Moñino
 
PPTX
Blazor, un nuevo framework .NET
Jonathan González
 
PDF
Introducción a CoffeeScript
Javier Ferrer González
 
ODP
Vaadin y Grails Barcamp 2013
Carlos Camacho
 
PDF
Grails en SG08
Domingo Suarez Torres
 
ODP
¿Por qué ruby on rails?
Javier Lafora Rey
 
PPTX
Hack2Progress - Consejos para afrontar un Hackathon
Carlos Azaustre
 
PPTX
Ruby on Rails y AngularJS
Leopoldo Rojas Moguel
 
PDF
Curso Kubernetes CodeURJC
Micael Gallego
 
PDF
Gwt seminario java_hispano_manolocarrasco
Manuel Carrasco Moñino
 
DOCX
Servidores de aplicaciones para servicios web
monse_pacheco
 
PDF
GWT y SmartGWT - Introducción
VLASLOV
 
PDF
Concurrencia y asincronía: Lenguajes, modelos y rendimiento: GDG Toledo Enero...
Micael Gallego
 
Curso Angular 9 - CodeURJC - Marzo 2020
Micael Gallego
 
Grails y EC2 - De cero a multinacional
Gailen Tecnologías
 
Herramientas y plugins para el desarrollo de aplicaciones cloud native para K...
Micael Gallego
 
Seminario Grails
Escuela de Groovy
 
Docker para Data Scientist - Master en Data Science URJC
Micael Gallego
 
This is Drupal! (Basics)
Maria del Carmen Garcia
 
Aprendiendo GWT
Manuel Carrasco Moñino
 
Gwt I - entendiendo gwt
Manuel Carrasco Moñino
 
Blazor, un nuevo framework .NET
Jonathan González
 
Introducción a CoffeeScript
Javier Ferrer González
 
Vaadin y Grails Barcamp 2013
Carlos Camacho
 
Grails en SG08
Domingo Suarez Torres
 
¿Por qué ruby on rails?
Javier Lafora Rey
 
Hack2Progress - Consejos para afrontar un Hackathon
Carlos Azaustre
 
Ruby on Rails y AngularJS
Leopoldo Rojas Moguel
 
Curso Kubernetes CodeURJC
Micael Gallego
 
Gwt seminario java_hispano_manolocarrasco
Manuel Carrasco Moñino
 
Servidores de aplicaciones para servicios web
monse_pacheco
 
GWT y SmartGWT - Introducción
VLASLOV
 
Concurrencia y asincronía: Lenguajes, modelos y rendimiento: GDG Toledo Enero...
Micael Gallego
 
Publicidad

Similar a 20170405 - Ecosistema Javascript (20)

PDF
202204-Modernizando aplicaciones legacy
Manuel de la Peña Peña
 
PPT
sistema operativo android
Santiago Jimenez
 
PPTX
Alta disponibilidad y balanceo de carga con Linux y nginx
Plain Concepts
 
PDF
Mono Develop
Lorenzo Itza
 
DOCX
Navegadores
maixitanh
 
DOCX
Maricielo
maixitanh
 
DOCX
Maricielo
maixitanh
 
PPTX
Software en la actualidad
Raelyx Cordero
 
PDF
Apps Days Firefox OS
Pablo Sepulveda P.
 
PDF
Act 01 - Introducción a HTML 5 para pregrado.pdf
77809851
 
PPTX
Desarrollos de aplicaciones móviles con tecnologías web
Julio Alfaro
 
PDF
Firefox OS App Days USACH 2014
Lourdes Lorena Castillo Alvarez
 
PDF
Docker: la revolución en virtualización
Marcelo Ochoa
 
PDF
Características de 10 lenguajes de programación
Alexa Chisaguano
 
PDF
Panorama del ecosistema de software libre GIS 2009
Miguel Montesinos
 
DOCX
Navegadores
Jossely Cruzado Cordova
 
PDF
Drupal 8 WorkShop - e-Ghost 2015
Keopx
 
PPTX
Estudio comparativo de PHP, ASP.NET Y JAVA
Helmilpa
 
PPTX
Desarrollo modermo de aplicaciones web
Roberto Sanz Ciriano
 
PPTX
Programacion web
fany concepcion
 
202204-Modernizando aplicaciones legacy
Manuel de la Peña Peña
 
sistema operativo android
Santiago Jimenez
 
Alta disponibilidad y balanceo de carga con Linux y nginx
Plain Concepts
 
Mono Develop
Lorenzo Itza
 
Navegadores
maixitanh
 
Maricielo
maixitanh
 
Maricielo
maixitanh
 
Software en la actualidad
Raelyx Cordero
 
Apps Days Firefox OS
Pablo Sepulveda P.
 
Act 01 - Introducción a HTML 5 para pregrado.pdf
77809851
 
Desarrollos de aplicaciones móviles con tecnologías web
Julio Alfaro
 
Firefox OS App Days USACH 2014
Lourdes Lorena Castillo Alvarez
 
Docker: la revolución en virtualización
Marcelo Ochoa
 
Características de 10 lenguajes de programación
Alexa Chisaguano
 
Panorama del ecosistema de software libre GIS 2009
Miguel Montesinos
 
Drupal 8 WorkShop - e-Ghost 2015
Keopx
 
Estudio comparativo de PHP, ASP.NET Y JAVA
Helmilpa
 
Desarrollo modermo de aplicaciones web
Roberto Sanz Ciriano
 
Programacion web
fany concepcion
 
Publicidad

Más de Daniel Pecos Martínez (7)

PDF
Object Oriented Programming vs Functional Programming - Valencia.rb
Daniel Pecos Martínez
 
PPT
T1 - Introducción
Daniel Pecos Martínez
 
ODP
Tema 3 - Seguridad en Internet
Daniel Pecos Martínez
 
ODP
Tema 2 - Introducción a la Criptografía
Daniel Pecos Martínez
 
ODP
Tema 1 - Introducción a la Seguridad Informática
Daniel Pecos Martínez
 
Object Oriented Programming vs Functional Programming - Valencia.rb
Daniel Pecos Martínez
 
T1 - Introducción
Daniel Pecos Martínez
 
Tema 3 - Seguridad en Internet
Daniel Pecos Martínez
 
Tema 2 - Introducción a la Criptografía
Daniel Pecos Martínez
 
Tema 1 - Introducción a la Seguridad Informática
Daniel Pecos Martínez
 

Último (10)

PPTX
Algoritmos de localizacion de Robots móviles
yrosascunam
 
PDF
UML (Lenguaje unificado Modelado) como estandar para proyectos
somespark13
 
PPT
Cap. 2.DeSistemasOperativosMonopuestoppt
davidperez4125081
 
PPTX
La Inteligencia Artificial en la Vida Cotidiana
Romeo Santos
 
PPTX
Taller de ROBOTICA- clase sobre arduino - 1.pptx
sotosanmartinfrancis
 
PPTX
Los Atributos de calidad del software.pptx
DanielMartinez382863
 
PPTX
QUINTO BÁSICO 5 DE MAYO- clases de algoritmos.pptx
sotosanmartinfrancis
 
PDF
Descargar Micromundos Pro y proceso de instalación
AngelitoDeLaNoche
 
PPT
Cap. 1DESistemasOperativosMonopuesto.ppt
davidperez4125081
 
PPTX
Evaluación de la arquitectura de software.pptx
DanielMartinez382863
 
Algoritmos de localizacion de Robots móviles
yrosascunam
 
UML (Lenguaje unificado Modelado) como estandar para proyectos
somespark13
 
Cap. 2.DeSistemasOperativosMonopuestoppt
davidperez4125081
 
La Inteligencia Artificial en la Vida Cotidiana
Romeo Santos
 
Taller de ROBOTICA- clase sobre arduino - 1.pptx
sotosanmartinfrancis
 
Los Atributos de calidad del software.pptx
DanielMartinez382863
 
QUINTO BÁSICO 5 DE MAYO- clases de algoritmos.pptx
sotosanmartinfrancis
 
Descargar Micromundos Pro y proceso de instalación
AngelitoDeLaNoche
 
Cap. 1DESistemasOperativosMonopuesto.ppt
davidperez4125081
 
Evaluación de la arquitectura de software.pptx
DanielMartinez382863
 

20170405 - Ecosistema Javascript

  • 1. Ecosistema JavaScript Daniel Pecos Martínez @danielpecos Betabeers Castellón 5 de Abril de 2017
  • 3. Historia de la WWW ● Marzo 1989: Tim Berners-Lee propone la World Wide Web ● Octubre 1990: HTML, URI y HTTP implementados. Server HTTP y browser disponibles. ● 1991: Se abre a personas externas al CERN ● 1994: Se crea el W3C, con Tim como director ● 2009: Se crea la World Wide Web Foundation
  • 5. Web Dinámica ● 1995: Brendan Eich (Netscape) crea Javascript en 10 días ● Inicialmente llamado Mocha, renombrado a LiveScript en su lanzamiento beta, conviertiéndose en JavaScript en la beta 3 de Netscape Navigator 2 ● Netscape comienza a colaborar con Sun Microsystems para integrar Java en Navigator y complementarlo con JavaScript ● Microsoft incluye VBScript en Explorer en 1996 ● JScript, una versión por ingeniería inversa de JavaScript, fue incluida en Internet Explorer 3. También hubo una versión server-side
  • 6. Primeros Navegadores ● 1992 - 1996: Mosaic ● 1994 - 2007: Netscape Navigator ● 1995: Opera ● 1995 - 2016: Internet Explorer ● 2002: Safari ● 2008: Chrome ● 2015: Edge
  • 7. Evolución de los Navegadores http://www.evolutionoftheweb.com/
  • 9. Browser Wars ● Explosión en tecnologías web: – IE3 introdujo soporte para CSS y extensiones HTML, pero muy diferentes a las ofrecidas en Netscape – IE4 creó el concepto de Dynamic HTML, pero las diferencias de implementación del DOM (Document Object Models) permanecían – Netscape introduce <blink> y <marquee> ● Múltiples navegadores competían por el mercado ● IE dominó el mercado gracias a su inclusión por defecto en Windows
  • 13. AJAX ● Intercambio asíncrono de XML ● Historia – 1996 Explorer introduce el iframe – 1998 OWA implementa el primer XMLHTTP – 1999 IE 5 introduce el primer ActiveX XMLHTTP ● Adoptado por como XMLHttpRequest (XHR) por el resto de browsers – 2006 W3c publica el primer borrador para XHR, adoptándolo definitivamente en 2014 ● Lógica multi-navegador compleja de conseguir ● Jquery – https://github.com/jquery/jquery/blob/master/src/ajax.js ~ 900 líneas de código
  • 15. Estandarización ● ECMAScript es la especificación del lenguaje de scripting para la web. Creado en 1997 ● Existen distintas implementaciones: – JavaScript – JScript – ActionScript ● Es habitual que incluyan características no definidas en el estándar
  • 16. ECMAScript Ver. Año Cambios más destacables 1 1997 2 1998 3 1999 Expresiones regulares, más estructuras de control, mejoras en errores 4 - 5 2009 strict mode, JSON e introspección 5.1 2011 Adecuación a estándar ISO 6 2015 clases, módulos, generadores, arrow functions, promesas 7 2016 Operador exponenciación 8 ? async/await
  • 17. RIAs ● Flash ● Java Applets / JavaFX ● Google Web Toolkit ● MS Silverlight ● JavaScript – YUI – ExtJS – Sencha Touch
  • 18. Flash ● Creado por Macromedia en 1996 y posteriormente adquirido por Adobe ● Estándar de facto para multimedia, juegos y aplicaciones ricas ● Dispone de un diseñador gráfico y permite implementar lógica en ActionScript ● Proporciona acceso a dispositivos hardware (GPS, Micrófonos, Cámara, ...)
  • 19. Apps Móviles ● Permiten crear aplicaciones móviles usando únicamente HTML5 y JavaScript ● Desarrollos multiplataforma ● Acceso mediante JS a hardware nativo
  • 21. Single Page Applications ● Backbone (2010) ● Angular (2010) ● Ember (2011) ● Primeros frameworks que explotan las características de HTML5 ● Patrón MVC / MVP / MVVM en frontend ● Acceso REST a backend
  • 22. JavaScript engine race ● SpiderMonkey ● Rhino ● V8 ● Trident / Chakra ● Nashorn ● Nitro / JavaScriptCore
  • 23. Node.js ● Creado por Ryan Dahl en 2009 ● Server-side JS runtime, construido sobre V8 de Google ● Diseño asíncrono (eventos), permitiendo un fácil escalado ● API estándar ● NPM
  • 24. Node.js ● Crecimiento medio de 530 paquetes / día
  • 25. Explosión de lenguajes *Script ● Se crean multitud de transpilers: – CoffeeScript – Dart – Scala.js – Elm – TypeScript ● El lenguaje sigue sin ser del gusto de todos ● Libros como “Javascript, the Good Parts” gozan de gran éxito
  • 26. Explosión en tooling y librerías ● Grunt / Gulp ● Babel ● Webpack ● Yarn ● PM2 ● Forever ● Bower ● Browserify ● Underscore / lodash ● Express ● Moment ● Socket.io ● Mocha / Sinon / Chai / Jasmine / Jest ● Cheerio ● Passport ● Mongoose ● q
  • 28. ES 6 / 7 / 8 / Next ● Revolución en lenguaje – Módulos – Introducción de clases – Promesas / async – await – Mejores estructuras de control ● Todos los navegadores evergreen implementan características futuras del lenguaje ● Polyfill implementa mejoras (no sintácticas) sobre versiones anteriores del lenguaje ● Babel permite usar características (de cualquier tipo) todavía no disponibles en navegadores
  • 29. Consolidación de SPAs ● Se afianza la tendencia y éxito de las webs SPA como forma habitual de interacción con el usuario ● Los frameworks generan grandes cantidades de código → requieren de nuevas técnicas de optimización – AOT – Lazy Loading – Tree Shaking – Universal JS
  • 31. React / Angular 2 ● Basados en Shadow DOM / WebComponents ● React – Librería para construcción de UIs – Complementado por herramientas Flux – Introducción de DOM virtual ● Angular 2 – Framework de aplicaciones – 2 way data binding ● TypeScript vs JSX – (Microsoft + Google) vs Facebook ● VSCode es el IDE más usado para Angular 2
  • 32. Apps Nativas JS ● Problema: las aplicaciones híbridas no ofrecen el rendimiento ni la experiencia de usuario de las apps nativas ● El desarrollo nativo es mucho más lento y costoso que el desarrollo web ● → Nuevos frameworks para interfaces de usuario nativas, con la experiencia del desarrollo en web: – React Native - Facebook – Native Script – Angular 2 ● Aplicaciones nativas de escritorio: Electron
  • 33. HTTP2 ● Creado a partir de SPDY de Google ● Compatible (conceptualmente) con HTTP 1.1 ● Proporciona – Compresión en cabeceras HTTP – Server Push – Pipelining – Multiplexación de la conexión TCP
  • 34. GraphQL ● Es un lenguaje de query para APIs ● Desarrollado en 2015 por Facebook ● Los clientes piden exactamente qué datos necesitan – Permite una evolución simple de las APIs ● Fuerte interés por parte de la comunidad – Facebook, Github, Pinterest, Coursera,...
  • 35. WebAssembly ● Es un formato bytecode portable para compilación web – Más compacto que JavaScript – Más rápido de parsear – Será usado como target en multitud de compiladores ● Tiene sus orígenes en asm.js – Subconjunto de JS altamente optimizable
  • 36. ¿Y sobre la interfaz? ● Frameworks – Bootstrap – Foundation ● Herramientas – LESS – SASS – PostCSS ● Evolución – CSS Flex Box – CSS Grid – Y muchos más...
  • 37. Tooling habitual para el desarrollo 2017 ● Frontend – Bootstrap – Foundation – LESS / SASS / PostCSS – React / Angular CLI – Webpack – Babel – Grunt / Gulp ● Backend – Forever / PM2 – Mocha / Chai / Sinon – Jasmine – Jest – Phantom.js – Express / Passport – Restify – GraphQL