encanta aprender sobre los internals de las tecnologías que utilizo, leer un buen libro o ver alguna serie interesante en Netflix. ¿Quién soy yo? @jonathansamines
o ES2015? • Un solo JavaScript. • Lanzamientos continuos y pequeños cada año. • Propuestas mediante etapas (stages). • Objetivos de la Nueva Versión: • Crear un mejor lenguaje. • Lograr una mejor interoperación con el resto del ecosistema. • No romper nada! (No breaking changes) La especificación
• Código más conciso. Esencial para aplicaciones grandes. • Mejor legibilidad. • Una mejor librería estándar. Extensiones a nativos existentes. • Proporcionar utilidades esenciales. • Corregir comportamientos ambiguos. • Características completamente nuevas. • Introducción de nuevos paradigmas. (promesas, generadores) • Mejores formas de hacer ciertas tareas (observers). ¿Qué hay de nuevo?
todavía no está en mi navegador favorito/objetivo/que mi cliente necesita! • R: Babel • Hay un nuevo método para un tipo nativo que quiero usar! • R: Babel (core-js, cualquier otro polyfill) • Quiero usar generadores y proxies justo ahora! * • R: Babel • ¿Puedo depurar mi código usando algo como esto? • R: Si, mediante sourcemaps. ¿Puedo utilizar ES6 hoy? * NO PUEDES TRANSPILAR PROXIES.
al lenguaje. (Piensa en flow, react, eslint babel- parser) • ¿Qué es un transpilador? Es un compilador, que compila de código fuente a código fuente. • ¿Cómo puedo utilizar babel? Mediante un CLI, un REPL o a través una librería. Babel
lo estás utilizando! • Babel es configurado en cada proyecto de ember-cli por defecto, mediante el addon ember-cli-babel. • Preconfigurado con babel@5 • No carga un polyfill por defecto (no se agregan las extensiones a tipos nativos). • Configurado con un resolver personalizado para el sistema de módulos.
Se utiliza para modelar operaciones asíncronas. • Alternativa a los callbacks. • Es un valor. • Puede tener el estado “resolved” o “rejected”. • No son dependientes de una implementación. (Promise A+) • Puedes escoger la implementación que desees. • Múltiples implementaciones interoperan bien entre si. • Bluebird, RSVP, then, when.
los vistos acá. • Solo evaluamos superficialmente algunos features. • ES2016, se nos viene! • Async-await (promesas, generadores) • Array comprehensions • Decoradores (Wow!, data attributes, anotaciones) • Los puedes usar ahora, mediante babel! • https://gist.github.com/jonathansamines/214ac02a5f5da0cc2110