Este año tuve la oportunidad de participar en el BrazilJS Conf del 2019. Para quienes no la conocen es la conferencia de JavaScript mas grande del mundo. Había enviado ponencia en las últimas 3 ediciones pero finalmente este año fui aceptado. Mis expectativas era que el evento iba a estar genial pero no sabía como era.

Cuando fui al escenario a realizar la prueba de sonido. Me sorprendí porque no sabía la magnitud del evento. El lugar contaba con puestos para 2000 asistentes y con 4 pantallas gigantes para mostrar la conferencia. Ademas que contaba con excelente organización para entretener a la audiencia y contar con 2 tarimas para no perder tiempo entre ponentes.

El formato de BrazilJS Conf 2019

El evento constaba de 3 días: el primero era de puros talleres y para los ponentes era el día de realizar pruebas. aquí tuve la oportunidad de ver un taller de Matías Johanson sobre el uso de redes neuronales en JavaScript, unas charlas de NIC Brazil y W3C sobre la des-centralización de la web. Pude entrar a una charla de marketing usando datos éticos, es decir, no obtenidos sin permisos de los usuarios o comprados a redes sociales. Me llamó la atención esta última porque no había pensado en que ahora el marketing se hace con datos robados de los usuarios.

El segundo día era el inicio real del evento. Me encantó que habían 2 tarimas, así cuando un ponente estaba por terminar el otro se preparaba y el cambio se hacía sin perder tiempo. También entre cada ponencia un grupo acústico tocaba la canción favorita del ponente entreteniendo la gente. El evento comenzó con un video introductorio de los organizadores, muy emotivo. Luego unas palabras de Jaydson Gomes sobre el trabajo realizado y lo que se esperaba allí. Pude entrar a varias charlas, todas muy buenas y algunas en inglés. Luego de finalizar el evento, varias asistentes organizaron una salida para compartir y conocernos mejor.

El último día seguía el mismo formato del anterior. Llegué un poco tarde por estar practicando mi charla y tenia que hacer una visita. Pero luego de dar mi charla pude disfrutar de todo el evento. En la sala de patrocinantes había un puesto para comprar camisetas donde aproveche y adquirí de VueJS y del evento. También habían unas barajitas con fotos de los ponentes del evento y podías pegarlos en un albúm. En los stands de patrocinios podías conversar con la gente de proyectos y ofertas laborales.

Mi ponencia sobre WebAssemby

Siempre que doy esta charla debo agregar contenido nuevo. Para este evento había agregado cosas nuevas como un demo de Doom 3, Google Keep, entre otros. Por eso no estaba preocupado por la calidad del contenido sino porque debía darla en inglés y no estoy acostumbrado a ello.

Traducí las láminas a portugués usando un traductor en línea. Posteriormente me ayudaron a acomodar algunos detalles. Me gustó ver a las personas emocionadas porque disfrutar el contenido escrito de mi conferencia en portugués. Recibí buenos comentarios en redes sociales sobre ello.

Miguel Useche hablando de Webassembly en el BrazilJS Conf del 2019
Mi auto-retrato antes de comenzar la ponencia. Noten la cantidad de gente, es la mitad porque del otro lado había más.

Creo que me fue bien. Estaba un poco nervioso por tener que hablar en inglés, ver las notas en español pero las láminas en portugués. Respecto a la cantidad de gente, era tanta que no era posible enfocarse en todos, así que no era un problema.

Miguel Useche hablando de Webassembly en el BrazilJS Conf del 2019
Miguel Useche hablando de Webassembly en el BrazilJS Conf del 2019

Palabras finales

BrazilJS Conf fue uno de los mejores evento que he estado. Una organización increíble, excelentes temas y conferencistas. El lugar estaba equipado con todo. La ciudad de Porto Alegre es muy bonita, la gente es demasiado amigable. La comida es excelente, sobre todo las carnes. Buenos dulces y chévere para conocer.

Si alguna vez les llama la atención ir a un BrazilJS Conf, no duden e ir.

El pasado 3 y 4 de noviembre se realizó en la ciudad de Medellín, Colombia. La conferencia mas grande de JavaScript de sudamerica: El JSConf Colombia 2017. En el 2015 quise asistir al evento por su gran calidad y por los ponentes, lamentablemente debido a que el individuo que se hace llamar presidente de mi país (Venezuela) cerró la frontera con Colombia no pude asistir. Pero 2 años después, tuve la grandiosa oportunidad de participar como ponente representando a Mozilla TechSpeakers.

El evento estuvo tuvo una duración de 2 días: uno para talleres y otro para las ponencias. En esta entrada os comentaré sobre el primer día del evento.

Inicio del evento

Una vez llegué al sitio se sentía la emoción de la gente, había como 400 personas en fila para retirar su camiseta y artículos del evento. Allí me conseguí a Leonard y Giovanni (mozilleros) y otras chicas de Venezuela. Pasamos luego al auditorio principal para llegar a la inauguración del evento.

El evento comenzó con una danza con música electrónica y con efectos visuales en el fondo. Me pareció interesante el contraste del baile con el tipo de música, nunca había visto ese tipo de combinación y era como un contraste de algo tradicional con algo moderno. Al finalizar, nos dijeron que los efectos visuales no eran pre-grabados sino se generaban dependiendo del ritmo/tono de la música, sorprendiendo a los asistentes.

Al finalizar Juan Pablo Buriticá dio unas palabras de bienvenida, experiencias en ediciones pasadas, la presentación del evento e hizo una dinámica para conocer de donde provenían los asistentes. De ahí cada quien pasaba a otras salas donde se dictaban los distintos talleres.

Los talleres

Para participar en los talleres del JsConf Colombia se debía hacer una inscripción previa. En mi caso pude asistir a todas las que quería. La primera fue la de Felipe Torres sobre WebVR, una tecnología para desarrollar sitios web para dispositivos de realidad virtual. A pesar de que muchos TechSpeakers hablan sobre ello, nunca había estudiado esa tecnología, por lo que el taller me pareció muy bueno. Consistió en una pagina con elementos básicos de realidad virtual, pero abarcando temas de geometría, perspectiva, HTML.

Luego del almuerzo, entré a la charla de Steve Kinney sobre PWA. Su estilo es muy gracioso y logra explicar las cosas de manera sencilla. Este taller se enfocó en dar una introducción a las Progressive Web Apps y como evitar los errores mas comunes que se suelen cometer al iniciarse con esta tecnología. A continuación fue a la de depuración en NodeJS, fue uno de los talleres mas técnicos y se explicó como mejorar la depuración del código al momento de desarrollar aplicaciones en el backend. Mi último taller del día fue el de Nathan White sobre contenedores. Me gustó mucho porque no fue sólo sobre Docker, sino que explicó como montar tu propia nube. Este taller prácticamente mostró como montar tu propio AWS EC2 con Kubernetes para desplegar instancias de aplicaciones en segundos.

Los talleres me parecieron muy buenos porque te dan una introducción a los temas pero despiertan curiosidad para investigar mas sobre ello. La variedad de temas fue alta, así que había contenido para todo público.

El ambiente en el lugar

No todo el evento fue estar dentro de los auditorios, en las afueras también podías ver personas conversando sobre desarrollo web. Habían unos puestos de las empresas patrocinantes para hablar de sus servicios, reclutamiento de personal (me parece genial porque mucha gente en esos eventos busca mejorar sus conocimientos y situación profesional). Obviamente había mucho material como calcomanías, folletos, juegos o artículos, que siempre buscamos como recuerdo. En estos momentos pude conocer en persona a Juan Herrera y Jorge Vergara. Quienes conocía solo por redes sociales, lo chévere es que fue por accidente y no algo planificado.

La salida con los ponentes

Luego de finalizar el primer día del JsConf Colombia, los organizadores nos llevaron a una salida social. Era un compartir para deleitarse de la comida paisa y jugar tejo. Como vivo cerca de la frontera con Colombia ya conocía el deporte gracias a los extranjeros que lo practican, pero fue muy divertido ver a influyentes del mundo de Javascript jugarlo. De hecho, jamas pensé ver a Myles Borins jugar trejo y lograr explotar la mecha, jeje. La salida me sirvió de oportunidad para conocer a Myles Borins, Steve Kinney y Suz Hinton. Personas cuyas carrera he seguido por Internet, jamás pensé que podía conocerlas y menos tener conversaciones con ellos.

Los ponentes del evento cenando

Los ponentes del evento cenando

Con esto concluye el primer día del evento, de verdad fue genial toda la organización, atención, ambiente, detalles, calidad de los talleres, el personal de protocolo, entre otros. Así que en la próxima entrada os contaré sobre el día final del evento donde se hicieron las ponencias principales.

Actualmente cuando trabajas en el frontend (la parte visual) de una página web utilizas código JavaScript para realizar ciertas acciones tales como: animaciones, validaciones, interacciones, etc. Y con el auge de popularidad de este lenguaje, existen muchas librerías y complementos que facilitan el desarrollo. Por eso, hoy en día es normal que si realizas una aplicación en Yii2, utilizarás componentes visuales para manejar calendarios, validaciones de correo, manejo de modales, etc.

A pesar de existir una cantidad notable de extensiones de Yii2 para instalar complementos adicionales, no se puede comparar a la calidad y cantidad de librerías y frameworks disponible en npm y bower. Además, si eres un programador de Javascript, estarás acostumbrado(a) estas herramientas y te sentirás limitado en Yii2. Sin embargo, existe una forma de instalar software de npm/bower en tu aplicación utilizando composer, de esta manera puedes gestionar tus dependencias de Javascript y PHP en una sola herramienta.

Instalación del plugin de composer

Asumiendo que ya tienes instalado composer, solo debes instalar el complemento composer-asset-plugin mediante el siguiente comando:

php composer.phar global require "fxp/composer-asset-plugin:~1.1.1"

Agregando dependencias en tu aplicación de Yii2

Una vez instalado el complemento, para instalar los paquetes debes agregar al nombre del paquete original el prefijo npm-asset/ o bower-asset/ dependiendo del caso. De esta forma, si quieres instalar combodate debes colocar como nombre bower-asset/combodate. Luego con hacer php composer.phar update instalarás las dependencias requeridas en la carpeta /vendors.

Ejemplo para instalar un paquete de npm:

 {
   "require": {    
        "npm-asset/el-paquete-npm": "dev-master"
    }
}

Para instalar un paquete de Bower:

 {  
  "require": {    
      "bower-asset/el-paquete-de-bower": "dev-master"
     }
  }

¡Y listo! una vez que tienes las dependencias, puedes incluirlas en tu plantilla de vista o crear un Assets, la opción recomendada de Yii2 para el manejo de archivos/librerías externas, pues te permite definir dependencias y en que momento cargarlas, para optimizar la carga de tu sitio web.

Espero que te sirva esta guía y puedas disfrutar de todo el poder de Javascript para aplicarla en las vistas de tu aplicación realizada en Yii2, un gran framework de PHP.

Hace unos años (18 años) salió Doom para PC, un juego revolucionario por su gran motor gráfico, altos requerimientos de hardware y un alto nivel de violencia. Luego de su gran popularidad, id Software liberó su código fuente bajo GPL en 1997 haciendo que el juego fuese migrado literalmente a casi todo lo que corra software (podemos ver Doom en teléfonos, consolas nuevas y antiguas, emuladores, etc).

Pues anoché vi un experimento en MDN (Mozilla Developer Network) de Doom corriendo nativamente en un navegador gracias a un desarrollador que logró migrar Doom a Javascript, realmente me impresionó la calidad del trabajo pues a pesar de ser su primer release se puede jugar muy bien. Utiliza la tecnología Canvas de HTML5 y Javascript, utiliza los .wads del demo por cuestiones de licencia, por ahora no permite grabar partidas pero el creador prometió usar las base de datos de HTML5 para guardar información e ir agregando  nuevas características.

Doom corriendo en Firefox gracias a Javascript

Doom corriendo en Firefox gracias a Javascript

Solo lo probé en firefox y encontre unos detalles como la desaparición de algunos sprites (de enemigos sobre todo) y la ausencia de la música original del juego. Realmente me sorprende como hemos avanzado en la tecnología, es como decir que veremos a Rage corriendo en un navegador usando WebGL en unos años. Ahora espero ver Quake 3 corriendo en WebGL y demás tecnologías, por ahora está QuakeLive pero no es nativo en el navegador sino utiliza unos complementos para permitir jugar con el navegador.

Si desean ver y probar este demo, pueden hacerlo en: https://developer.mozilla.org/en-US/demos/detail/doom-on-the-web/ si tienen un navegador con soporte para HTML5 y buena máquina de Javascript.

 

Secrets of the JavaScript Ninja, es un libro escrito por el famoso John Resig, (Si eres un desarrollador web deberías saber quien es) creador de jQuery, la grandiosa librería Javascript que facilita enormemente el desarrollo con Javascript.

Hace unos días lo terminé de leer y me gustó mucho, me parece un libro recomendado para todo desarrollador que trabaje con Javascript (recordemos que jQuery no es lo mismo que Javascript), los ejemplos y temas estan dirigidos a programadores con experiencia media o avanzada en el lenguaje, en mi caso, me considero un novato en este lenguaje y logré aprender mucho pero varios temas no los pude entender bien o tenía que leerlo varias veces para captar la idea, sin embargo, si son nuevos con este lenguaje también es bueno leerlo, porque enseña a ver las cosas distintas y como aprovechar la resolución de algunas cosas desde un punto de vista donde se toma ventaja de las características únicas de Javascript, o bien sea problemas existente pero como adaptarlo a las posibilidades de JS.

Los principales temas abarcados por el libro son: tips para mejor desarrollo de scripts, como crear una libería JS, funciones para facilitar ciertas operaciones, ejecuciones de pruebas, creación de código compatible con varios navegadores y muchos mas. Así que, si trabajan con este lenguaje, desean aprender y les gusta leer, compren esten libro que les será muy útil.

NetTus+ publicó un artículo muy interesante sobre 30 consejos que se deben seguir para el desarrollo web, todos son excelentes y altamente recomendados para cualquier persona interesada en esta área o que ya lleve muchos años trabajando en ella. Estos consejos estan dirigido principalmente a principiantes para que desde los inicios lleven a cabo buenas prácticas, sin embargo, recomiendo a cualquiera leerlos porque aquellos que tenemos tiempo en el desarrollo web, aún conservamos malas prácticas (después de este artículo pienso eliminar casi todas) y es recomendable conocer cuales son.

El artículo está en inglés en el siguiente enlace: 30 HTML Best Practices for Beginners

Viendo un artí­culo (que les recomiendo) sobre 16 animaciones Javascript tipo Flash, observé como cada dí­a se ven mas páginas con esta tecnologí­a en incluso vemos como los navegadores se enfocan en obtener excelente rendimiento para ejecutar código Javascript. Recuerdo al principio del internet como Flash  era el salvador al momento de hacer animaciones excelentes en las páginas web y de darle mejor apariencia, pero con el tiempo fue quedando atras ya que empezaron a salir mas obstáculos para esta plataforma: dispositivos móviles , sistemas operativos nuevos, arquitecturas nuevas. Donde en ellas muchas veces no está soportada esta tecnologí­a.

Cada vez, se observa como las páginas mas reconocidas utilizan Javascript para hacer páginas complejas y con mejor apariencia: ejem, Gmail, Facebook, Google Docs, Youtube, WordPress, etc. Y el uso de Flash en ellas es absolutamente nulo, bueno en el caso de Youtube, solo es usado para reproducir ví­deo, sin embargo, con HTML 5 no necesitaremos el plugin de Flash para ver ví­deos en Youtube.

Con el nuevo estandar de HTML, necesitaremos mucho menos a Flash ya que con el soporte etiquetas como audio, video y canvas, teóricamente se podrá hacer todo lo que se podí­a hacer con flash. Cosa que ha asustado a Adobe y le ha hecho mejorar sus tecnologí­a y dar soporte a mayor cantidad de dispositivos, esperemos que sucederá de esto.

Creo que Flash nunca desaparecerá del todo, pero si se disminuirá muchisimo su uso en la web, al igual que el uso de Silverlight y JavaFX.  Tal vez falte mucho tiempo para que HTML 5 sea usado de forma masiva, pero en el mundo de la informática todo esto sucede rápidamente, ademas, HTML5 y Javascript seran estandar, abierto y soportado en casi todos lados.

  • Si quieres probar algunas tecnologí­as de HTML  5, puedes entrar a: http://htmlfive.appspot.com

Recuerda que debes tener un navegador que soporte esta tecnologí­a como Firefox, Safari, Chrome u Opera.