Llegó el verano y lo hizo de la mano de un evento “nuevo”: #JSCamp
Lo que comenzó siendo una pequeña comunidad de Angular en Barcelona se ha ido convirtiendo, en los últimos años, en un evento internacional de cada vez más renombre, dedicado a Angular, el famoso framework de Google. Este año, los organizadores han dado un paso más allá y han ampliado el foco a todo JavaScript. “Puede que el nombre de la conferencia cambie, pero nuestra visión y nuestra misión sigue siendo la misma: inspirar a la próxima generación de desarrolladores (web)”.
Y, dado que el foco ha cambiado ligeramente, los ponentes también lo han hecho. En esta ocasión, el evento ha contado con ponentes internacionales de JS, como Benedikt Meurer (Google), Kyle Simpson (autor de la famosa serie de libros “You don´t know JavaScript”), Johanes Ewald (Webpack), Ashley Williams (Node.JS), Kamil MYŚLIWIEC (NESTJS), Steve Klabnik (Mozilla), Anuj Nair (Slack), Martin Split (Google), Evan Schultz (Rangle.io), Elisabeth Engel (Gutefrage.net), Lian Li (Container Solutions), Kenneth Christiansen (Intel corporation), Jerry Gabra (NPM), Sean Larkin (Microsoft), Mike Hartington (Ionic), Michaela Lehr (Geil,Danke!), Hassan Djirdeh (Shopify) y con Courtney Christian y David Pich (parte del equipo organizador de JSCamp).
En esta ocasión, en GFT no patrocinamos el evento pero sí repartimos entradas entre nuestros desarrolladores para que acudieran y estuvieran a la última: Antoine Charnoz, Eduardo García Ibaseta, Jose Manuel García García (Sema) y Josep Peiró fueron los afortunados y, ¡esto es lo que nos han contado!:
¿Qué es lo que habéis aprendido?
Antoine: El primer día de la conferencia, aprendí sobre los problemas que el lenguaje Rust está tratando de resolver en comparación con JavaScript, y las nuevas funcionalidades de webpack 4 que pude aplicar inmediatamente a mi proyecto actual para mejorar el tiempo de carga de la solicitud. Descubrí una alternativa a la representación del lado del servidor que es compatible con los motores de búsqueda. Estaba interesado en una charla sobre qué framework ofrece conversión a componentes web. También tuve la oportunidad de participar en el unconference y recibí algunas sugerencias de otros desarrolladores.
El segundo día, supe de las herramientas web de Google disponibles para probar una aplicación para el entorno móvil y el descubrimiento web. También vi algunas técnicas en el lado del servidor con Node.JS para acelerar el tiempo de carga de una aplicación web y el tiempo para interactuar con enlaces HTML
Eduardo: He aprendido algunas buenas prácticas pero, sobre todo, tendencias. Por otra parte, he confirmado que Webpack y Webassembly tienen mucho tirón, he conocido un nuevo lenguaje (Rust), y una nueva arquitectura: Micro frontend.
Sema: He aprendido muchas cosas: Desde webpack (¡y directamente de su creador!) hasta JS para desktop con Electron […], pasando por machine learning en el navegador o algunos consejos para mejorar las mark-ups de nuestras Web Apps para hacerlas más mobile friendly.
Peiro: Lo más destacado para mi fue: Aprender las ventajas de Webpack 4 (builds más rápidas y pequeñas, con configuración predefinida por defecto), como los distintos navegadores interpretan y optimizan el código JS (por ejemplo el uso de Shapes para poder usar Inline Caches), ejemplos y buenas prácticas para utilizar la realidad aumentada gracias a WebXR, aprender sobre la arquitectura de micro-front ends y conocer los pros y contras de un caso real y el uso de TensorFlowJS para utilizar MachineLearning en el navegador.
Si tuvierais que escoger un framework de JavaScript, ¿cuál sería? ¿por qué?
Antoine: en la comunidad JS, tendemos a escoger la mejor herramienta para el trabajo. React no es sólo un framework, sino también una librería, así que para una aplicación de una empresa, escogería Angular porque es muy completa. También estoy echando un vistazo a otras librerías como Preact y Mobx para desarrollo de web components.
Eduardo: Para aplicaciones grandes, Angular: es más que un framework, es una plataforma con un gran ecosistema: herramientas, gran comunidad abierta, soporte integrado para bibliotecas como RxJS, entornos de prueba, TypeScript, soporte para PWA y componentes web, inyección de dependencias …
También Angular es más amigable para los desarrolladores experimentados en Java que otros frameworks de frontend e impone buenas prácticas tales como nombres coherentes, por lo que aterrizar en un nuevo proyecto Angular o cambiar a otro proyecto Angular es mucho más fácil.
Sema: Es una pregunta difícil, porque dependerá del propósito de la aplicación: todos ellos nos permiten crear aplicaciones excelentes y potentes. Sin embargo, algunos de ellos nos dan más flexibilidad y otros nos brindan más herramientas listas para usar. Para darte una respuesta, te diría que Angular, porque es una framework robusto y poderoso que no se limita al navegador: puedes aprovechar esas habilidades / conocimientos y desarrollar ideas increíbles con él.
Peiro: Coincido con Sema en que es difícil elegir un framework de JS de forma general, sin conocer más la aplicación o proyecto a desarrollar. Si tengo que elegir, y por experiencia personal, hoy en día me quedaría con Angular para aplicaciones empresariales, aunque tengo que reconocer que me gustaría probar Vue.js o incluso desarrollar una app usando la idea de micro-frontends, similar a lo que pudimos ver en la presentación del JSCamp “Break Up With Your Frontend Monolith” realizada por Elisabeth Engel.
¿Qué es lo que más os gusta de JavaScript?
Antoine: Para mí, lo mejor de JavaScript es la amplia gama de dispositivos donde puede ejecutarse además del navegador. Le da a los desarrolladores la posibilidad de trabajar en back-end y front-end usando el mismo lenguaje y, por lo tanto, compartir código entre esos dos mundos y mejorar su integración.
Eduardo: Los objetos literales son la característica clave en JS para mí, pero lo que realmente me gusta de JavaScript es su flexibilidad: puedes usar todo tipo de paradigmas de programación con el lenguaje.
Sema: citando al gran tío Ben de Spiderman, podría resumir la respuesta diciendo que: “un gran poder conlleva una gran responsabilidad“. Es decir, JS es muy poderoso y flexible pero, para convertirte en un desarrollador sólido, has de conocer muy bien los conceptos esenciales… ¿por qué? Pues porque nuestro querido lenguaje puede usarse para escribir aplicaciones frontend, back-end, de escritorio o móviles … ¿No es sorprendente?
Peiro: Lo que más me gusta de JavaScript es que pasan los años y no deja de evolucionar con nuevas funcionalidades y estándares, que nunca dejas de aprender temas nuevos o profundizar en el lenguaje y que, gracias a la gran comunidad de desarrolladores que hay a su alrededor, podemos disfrutar de múltiples y nuevas herramientas de forma continua.
Y, siguiendo con nuestro apoyo a los eventos, nos gustaría anunciaros que, en unas semanas, nos veremos en JSDayES, en Madrid, donde GFT será patrocinador Platinum Plus, ¿queréis venir a conocernos?