Demóstenes García G.

  • Archive
  • RSS

¿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.

    • #development
    • #javascript
  • 1 month ago
  • 82
  • Comments
  • Permalink
  • Share
    Tweet

82 Notes/ Hide

  1. registrar8uir liked this
  2. fergusonicd890 liked this
  3. brendaca83 liked this
  4. kathleentag901 liked this
  5. demogar posted this

Recent comments

Blog comments powered by Disqus
← Previous • Next →

Portrait/Logo

About

I'm a 24 years old Electronics Engineering Student, Developer and Gamer.

I work for Admios as a RIA/Flex developer, I founded Pixmat where we mainly do web development and I developed Panagamers, the biggest and most important gaming community in Panama.

Me, Elsewhere

  • @demogar on Twitter
  • Facebook Profile
  • demogar on Vimeo
  • demogar on Youtube
  • demogar on Flickr
  • demogar on Delicious
  • demogar on Last.fm
  • demogar on Grooveshark
  • demogar on Foursquare
  • demogar on Gowalla
  • My Skype Info
  • Linkedin Profile
  • demogar on github

Twitter

loading tweets…

Following

  • RSS
  • Random
  • Archive
  • Mobile

Effector Theme by Carlo Franco.

Powered by Tumblr