Nos centraremos en el caso de Javascript compilado con V8, que básicamente cubre Node.js y la mayoría de los navegadores modernos. El rendimiento de una aplicación depende enormemente del código máquina generado a partir de las líneas de código que escribimos. Veremos en qué se transforman nuestras líneas de código y algunas directrices para que la traducción de nuestro código al lenguaje nativo de la máquina sea más eficiente. Las ineficiencias en el fondo son bugs que suelen costar mucho dinero, pero son muy difíciles tanto de identificar como de solucionar. Descubriremos un par de herramientas que nos facilitan mucho la vida a la hora de hacerlo. Y lo más importante de todo: si me da tiempo, contaré el chiste de la vaca en Javascript.
Novedades
HTTP2 para programadores. Enviar mensajes del servidor al cliente con Server Sent Event (sin WebSockets)
En esta charla, organizada por MadridJS, Pablo Almunia nos muestra cómo la mayoría de nosotros cuando oímos hablar por primera vez de HTTP2 nos ilusionamos con las posibilidades que presumiblemente se abrían para el desarrollo de soluciones web avanzadas y cómo muchos nos sentimos defraudados con lo que realmente se podía implementar.
En esta charla podemos ver cómo funciona el HTTP2, que debemos tener en cuenta en el servidor para hace uso de este protocolo y, sobre todo, cómo podemos enviar información desde el servidor al cliente de forma efectiva y fácil. Veremos con detenimiento cómo por medio de los Server-Sent Events (SSE) podemos recibir en el cliente datos enviados desde el servidor sin utilizar websocket, simplificando enormemente la construcción de aplicaciones con comunicación bidireccional.
Observables en Javascript con Proxies
En esta charla, organizada por MadridJS, Pablo Almunia nos habla de la observación reactiva de objetos en Javascript por medio de Proxy. Se describe paso a paso cómo funcionan los Proxies y en que casos pueden ser nuestro mejor aliado. Veremos que no hay que tenerles miedo, son bastante sencillos de utilizar, y nos ofrecen una gran abanico de posibilidades.
Aplicaciones JAMStack, SEO friendly y escalables con NextJS
En esta charla de Madrid JS, Rafael Ventura nos describe las funcionalidades clave de NextJS, nos muestra en vivo cómo desarrollar una completa aplicación JAMStack con Server Side Rendering (SSR) y Static Site Generation (SSG) y termina mostrando como publicar esta aplicación en Vercel.
Otros vídeos del JSDay18
Advanced JavaScript patterns por César Alberca
When you tell people you code in JavaScript they usually look down on you. This talk will give you the tools to enlighten those heretics. We’ll be entering the world of design patterns applied to JavaScript, looking through some of the cutting edge properties of ES6 such as Proxies and default function parameter expressions, dealing with objects and even some examples of functional programming. This talk is not allowed for cardiacs.
Vanilla JS Graphics and Animations por Ibon Tolosana
Una charla introductoria a la generación de gráficos y animación con vanilla javascript. Coordenadas homogéneas, composición de transformaciones, easing, técnicas de animación, tessellation, clip, masks, shaders … todo desde el concepto hasta su ejecución final.
Mastering UIs with Finite State Machines por Rubén Sospedra
All this kind of problems can be properly fixed by applying a different point of view. An architecture based upon Mealy state machines. Also known as finite state machines or automatas. These machines are deterministic, pure and idempotents. Opening a new set of possibilities from predictable components to autogenerated tests. Let’s take a look to this new paradigm for UI components. You’ll discover a better and cleaner world 😉
it(‘should be easier’): Testing automatizado en el mundo real por Paqui Calabria
TDD, BDD, code coverage, karma, jest, chai… el mundo de los test automatizados está lleno de herramientas, frameworks y filosofías, pero quizá tantos árboles no nos dejan ver el bosque. ¿Qué sentido tiene el testing en el desarrollo? ¿De verdad compensa el tiempo dedicado a escribirlos? ¿Cómo escribir tests realmente útiles? Consejos y buenas prácticas para (y desde) el día a día.
3D virtual puppet remote controlled with smartphone por Gorka Ludlow
I will describe the process and challenges when I undertook the development of Puppets. There are two parts to this app: A webapp that renders a WebGL scene using ThreeJS where a virtual marionette is drawn. The body parts are tied together using joints from a physics engine and the whole thing is connected to a control bar on top of it (like a traditional marionette). A mobile webapp that reads data from a smartphone’s gyroscope and sends it to the webapp.
Escribiendo Service Workers con Workbox por Pablo Magaz
Los serviceWorker son sin duda el corazón de las, cada vez más populares Progressive Web Apps. Workbox es la librería creada por Google que simplifica de forma notable la escritura de service workers mediante una API potente y sencilla. A lo largo de la charla veremos cómo escribir service workers para nuestra PWA y cómo afrontar, con Workbox , desde sencillas estrategias de caching que agilicen nuestras PWA, hasta tareas más complejas como la sincronización en segundo plano o el empleo y escritura de plugins.
Aterrizando en JS: consejos para [node]sesperar en el intento por Esther Lozano
Cuando pasé de desarrollar en Java a adentrarme en el para mí desconocido mundo JS mi día era una sucesión de: «pero… wtf is this?» (pun intended). Con el tiempo, lecturas varias y la paciente ayuda de mis compis fui viendo la luz de la mano de Node, Typescript (¡no sin mis tipos!) y demás amigas del festival JS. Porque no, JS no es malvado… sólo rarito de conocer 😛 Así que para quien aún mire a JS con recelo o quiera repasar algunos de sus aspectos clave, os traigo una serie de consejos que, espero, os hagan ver JS con mejores ojos.
¿Cómo funciona un Virtual DOM? por Rubén Valseca
En esta charla trataré de explicar de donde salió la idea de tener un Virtual DOM, cómo funciona y cómo este ha ido evolucionando en sus distintas implementaciones. Veremos también una pequeña implementación del mismo donde se le verá en acción y finalizaremos con una serie de conclusiones a considerar si usamos una librería que lo implemente.
Stencil: from frameworks to compilers por Manuel Martinez-Almeida
For years, developers have been working with low level tools when building for the Web. Dealing with the complexity of CSS, the verbose nature of HTML, and the never ending amount of JavaScript. Enter Stencil. Stencil is a build tool for authoring highly optimized web components. We’ll look at the basics of what Stencil can do and dive in the extra benefits of having a compiler for HTML.
The Big Fails Theory por Marta Fonda
Elegir una arquitectura o un stack determinado no es nada fácil. ¿Qué variables deberíamos tener en cuenta para tomar estas decisiones? ¿Es posible evitar los errores? Lo descubriremos en esta charla.
Algoritmos cuánticos para JavaScripters por Jesús Pérez
Tras una rapidísima introducción a la computación cuántica veremos como sacar partido de los avances actuales desde tu aplicación en Node.js/JavaScript de la forma más sencilla posible. Para ello, durante la conferencia, publicaremos la primera versión estable de la librería Qiskit.js. La cual creemos que solventa los principales problemas que nos encontramos los desarrolladores con las alternativas existentes.
Muerte a las libreríasJS por Héctor Moreno
¿Y si te dijera que no necesitas una librería? ¿Y si no necesitases descargar 700Kb de código ni aprender los entresijos de las librerías para hacer aplicaciones chulas? El javascript moderno es más potente de lo que creemos. Existen montones de APIs muy potentes disponibles directamente en nuestro navegador en la mejor librería de todas: Vanilla Javascript.
Generators: ¿un Hummer en el establo? por Pedro Palao y Federico Badiola
En esta charla intentaremos desvelar toda la potencia que dan los generadores. Contaremos qué es un iterador, qué es un generador, la potencia del for/of cómo llegar a las clases ocultas que los implementan (obligatorias por el estándar), cómo extenderlas para hacer programación de orden superior sobre generadores, qué son las corutinas, cómo aprovecharlas para ciertos problemas que tienen estado, cómo son los nuevos generadores asíncronos y el for/await/of, qué relación hay entre funciones asíncronas, generadores y generadores asíncronos, etc.
Construir con JS una AI para jugar al ajedrez en 40 minutos por Gonzalo Ruiz de Villa
Challenge: construir con JavaScript vanilla, en ⏳ 40 minutos y en directo 🔴 una inteligencia artificial 🤔 que juegue razonablemente* bien al ♘ Ajedrez. Capaz de ganar al menos al autor de la AI.
Front performance por Ana Encinar
Con el avance de los dispositivos tecnológicos y el aumento de capacidad de estos, parecería que, en la actualidad, cualquier cosa vale a la hora de desarrollar una página web. Así que… ¿cómo podemos conseguir un buen desarrollo? Esta charla se centra en los aspectos que muchas veces olvidamos o no tenemos en cuenta a la hora de desarrollar, mi intención es mostrar todo esto con demos en vivo.
Creando las aplicaciones web del futuro, hoy por Eduardo Sada y Cristina Poce
Crearemos una aplicación web con las últimas tecnologías disponibles: «El sueño de cualquier programador Front-End»; demostraremos las ventajas de estar a la moda exprimiendo al límite la disponibilidad de las API de los navegadores, pero teniendo en cuenta el poco soporte de aquellos más antiguos.
TensorFlow.js: FullStack Machine Learning por Laura Morillo-Velarde y Luis Alfonso Talegón
TensorFlow ha conseguido acercar Machine Learning a profesionales y entusiastas de la tecnología en todo el mundo sin necesidad de ser un experto en Data Science. En esta charla realizaremos una introducción al mundo de Machine Learning y de TensorFlow y enseñaremos ejemplos de cómo podemos utilizarlo en nuestras aplicaciones para que al terminar estéis deseando llegar a casa para probarlo.
Just keep swimming por Catalina Oyaneder
¿Alguna vez has sentido que el mundillo dev te supera? ¿Cuando vuelves de comer, miras a ver si ha salido un nuevo framework, el cuál ya vas tarde en dominar? ¿Sientes que no te da la vida para estar al día de todo lo que crees que deberías saber? ¿Te comparas con gente que consideras crack y te preguntas si deberías estar allí? ¡Pues a mí también me pasa! Esta charla de tú a tú vamos a relativizar lo cotidiano, darnos cuenta de nuestros puntos fuertes y ver que, mirando con perspectiva, cada día somos mejores 🙂
JSDayES 2018 – Bienvenida
Bienvenida al JSDayES 2018 por Manu Fonseca y Elena Torro.