Comunidad de diseño web y desarrollo en internet

2013, el año de Javascript

Javascript pasó de ser el lenguaje horrible que la gente "aguantaba" a un entorno maduro de desarrollo usado en poderosos proyectos tanto en el cliente como en el servidor. Node.js, junto con su madura selección de librerías, el nuevo jQuery que abandona IE8 e inventos como Meteor.js y Backbone.js son mis proyectos favoritos para mostrar el futuro de JS

Node.js


La sorpresa del 2010 que en el 2012 se consolidó. Node inició simplemente como un entorno para programar JS fuera del navegador con un modelo asincrono basado en eventos. Evolucionó muy rápido para convertirse en un completo sistema para creación de apps del lado del server sólo usando JS.

Pero Node no vive sólo, 3 proyectos hacen de Node algo especial.


Socket.io


Socket.io es la librería de Node para hacer apps multiusuario en tiempo real. Como un chat, un juego o un sistema de notificaciones en vivo. La magia de Socket.io es que es capaz de usar técnicas oscuras como AJAX long pooling o SWF de 1px para ser compatible al 100% con cualquier navegador. Socket.io hace posible cosas como el chat de Mejorando.la o las capacidades live de Mejorando.la Plataforma.

Express.js


Express es el Django, el Ruby on Rails o el... agh... el PHP, de Node.js. Node por si sólo no es un lenguaje completo para creación de web apps. Express trae a Node cosas como URLs amigables, manejo de formularios, headers, usuarios y todas las cosas normales de un framework. Es muy ligero y directo y es el que, por ejemplo, usamos en Clabie.com.


Meteor.js


Meteor es competencia de Express, aunque pueden trabajar en conjunto. Al modificar el código de una app hecha en Meteor, puedes ver los cambios inmediatamente sin refrescar el navegador. Los datos de tu app vienen nativamente sincronizados con APIs REST (Como en la época de Flex con AS3 y Remoting) y en general es un sistema para crear todo en Javascript, liberando a HTML de muchas funciones, incluyendo la representación de datos más allá del layout.

Se entiende mejor viendo el video.

El jQuery del 2013


jQuery anunció en el "estado de jQuery 2013" que este año, al fin, se acaba el soporte a jQuery 1.9. Es decir: No más soporte a Internet Explorer 6, 7 u 8 en jQuery. Con jQuery 2.0 vendrá una librería mucho más liviana, veloz, con menos gasto de RAM y menos preocupaciones de navegadores viejos. Si en tus estadísticas ves un uso bajo de Internet Explorer 8, a cambiar.

Recuerda multiplicar el porcentaje de IE8 por el porcentaje total de IE para saber el número real, es menos de lo que crees. En Cristalab, por ejemplo, sólo el 5% de visitas usan IE6, 7 y 8 combinado. Fuck those guys.

Backbone.js y Clojure (Y Coffeescript y...)


Javascript tiene el problema de querer ser LISP vestido de C++. La capacidad de Closures de Javascript sumado a tantas cosas raras del lenguaje han escondido su potencial debido a la cantidad de código terrible. En general, por lo dificil que es hacer código reusable y correctamente orientado a objetos.

Excepto ahora, que todos están arreglado JS. Coffeescript convierte JS en Python (algo así) y ClojureScript convierte JS en LISP (algo así).

Backbone es mi favorito. Backbone.js respeta a Javascript, añadiendo una estructura lógica para crear programación orientada a objetos seria y fácil. Los datos son "modelos", que como tal pueden ser compartidos con el servidor. Cuando un "modelo" cambia ocurre un evento que puede ser conectado al server. La representación gráfica con "vistas" y estas se conectan a los eventos del "modelo". Y Backbone hace todo más fácil creando todo el código que enlaza los datos con las vistas. Hace casi innecesario a jQuery.

Y sin cambiar de sintaxis.


Javascript es el lenguaje más divertido e importante del año en la web. Si quieres ver su futuro, ya sabes por donde empezar.

¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.

Publica tu comentario

o puedes...

¿Estás registrado en Cristalab y quieres
publicar tu URL y avatar?

¿No estás registrado aún pero quieres hacerlo antes de publicar tu comentario?

Registrate