¿Quieres un lenguaje para el 2012?: Que sea JavaScript
Dentro de las resoluciones para el 2012 mencioné que quería aprender bien JavaScript. JavaScript es (dejémosle el trabajo a Wikipedia):
JavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles.
Es un lenguaje de scripting, multiparadigma, “orientado a objetos” (si es que eso se puede decir de JavaScript), etc. Un lenguaje común y corriente. Hago saber que no soy experto en JavaScript y aunque desde hace varios años he trabajado con él, luego de los últimos meses he descubierto que más es lo que desconozco de este lenguaje que lo que manejo de él.
Hace poco me preguntaron que lenguaje deberían aprender en el 2012. Una pregunta difícil, hace un año hubiese respondido Ruby o Python, ahora respondería JavaScript. John Resign hizo hace poco un post sobre enseñar JavaScript como primer lenguaje, con muchos puntos a tomar en consideración, pero no me baso en ello para dar una respuesta, sino en el auge que parece que tendrá JavaScript durante este año. Web, RIA, Mobile y Server-Side: todo se puede con JavaScript.
Web / RIA
¿Quieres hacer RIA (aplicaciones ricas en internet)? Puedes hacerlo con JavaScript. Hoy en día hay frameworks específicos para esto, como Ember.JS (Spoutcore 2), Knockout y Backbone.JS que nos permiten crear productos ambiciosos en la web, proveyendo características como binding, templating y una arquitectura completa MVC.
Igualmente hay librerías como jQuery, Dojo y Mootools (todas JavaScript también) pero más orientadas a manipulaciones del DOM. Estas librerías se pueden usar en conjunto con los nuevos chicos del barrio para crear grandes aplicaciones.
Mobile
Por su parte, si quieres desarrollar aplicaciones móviles tienes a Lungo.js, Sencha Touch, jQuery Mobile (estas tres web based) y Appcelerator (aplicaciones nativas). Todas programando el mismo JavaScript (y las web based obviamente necesitas conocimientos de HTML5 y CSS).
Sólo he probado jQuery Mobile, Sencha Touch y Appcelerator. De Appcelerator ya hablé un poco pero cabe decir que ahora mismo hay dos tendencias bien marcadas en desarrollo web:
- Aplicaciones nativas para el dispositivo: de esas que tu bajas e instalas y tienes un link dentro de la lista de aplicaciones.
- Aplicaciones basadas en web: de aquellas que visitas un sitio y te carga una versión alterna.
jQuery Mobile, Sencha Touch y Lungo.js (una nueva alternativa española, bastante interesante) se centran en aplicaciones hechas con HTML5/CSS/JavaScript, osea la primera tendencia. jQuery Mobile me parece muy superior aún, sobretodo luego del release del 1.0.
Appcelerator, por su parte, es de la segunda tendencia. Con Appcelerator puedes crear aplicaciones nativas para Android y iPhone (e iPad) desde JavaScript directamente, sin necesidad de aprender Java (para Android) u Objective-C (para iOS).
Server-side
Aunque a mi no me interesa mucho este apartado cabe destacar que JavaScript se destaca por su performance. Aquí reina node.js:
Node.js is a platform built on Chrome’s JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.
Bonus track
Otra tendencia para este 2012 me parece que serán aplicaciones web centradas en API. Sea cual sea la tecnología que uses en tu servidor deberá ser más un conjunto de servicios expuestos que una aplicación completa.
La gran ventaja de este tipo de aplicaciones es que permite que tu aplicación pueda ser utilizada en cualquier dispositivo o tecnología: sea un browser, un dispositivo móvil o una tablet o hasta una aplicación corriendo en tu escritorio.
Pensemos en Instagram, utilizan Django en el servidor pero la aplicación corre en el móvil, para ello hicieron un REST API (vulgarmente: un web service por HTTP) que consumen desde la aplicación en el dispositivo.
Así, ya sea que crees un aplicación con JavaScript en tu browser con Ember.js o utilices Appcelerator para crear una móvil sólo tendrías un código en tu servidor.
Recomendaciones: Rails o Django.
82 Notes/ Hide
-
registrar8uir liked this
-
fergusonicd890 liked this
-
brendaca83 liked this
-
kathleentag901 liked this
-
demogar posted this
