Las Tecnologías de Javascript

Viendo las encuestas de la plataforma para de desarrolladores más usadas en el mundo, Stackoverflow, se puede ver que Javascript es el lenguaje más popular en el mundo, y esto para los que desarrollan web, no es una novedad, debido a que todos los días consumimos información desde la web, ya sea en fotos, vídeos, música, etc. y por consiguiente de aplicaciones, esta en la web, y es que Javascript ha dejado de ser ese lenguaje de programación que todo el mundo lo definía así:
Fan Art del Robot Wall-e de la pelicula de Pixa, Wall-e
como un lenguaje de programación de juguete, que solo servia para hacer animaciones bonitas en el navegador, a convertirse en:
T-600 de la Saga Terminator
Una tecnología que esta en todas partes y que cada día impacta en nuestras vidas sin darnos cuenta, como Skynet en la saga Terminator. pero ya en serio, Javascript ha evolucionado tanto que hoy en día hacemos cosas para las que no fue hecho, pero no solo eso sino que es muy fácil de aprender como la historia de aquel hombre vagabundo que aprendió javascript y cambio su vida, la cual te muestro en estos vídeos, no olvides activar los subtitulo 😉:

o si te interesa ver uno en español:

Así que este post va acerca de que podemos crear con JavaScript, y de todas las tecnologías libres y gratuitas que puedas encontrar, así que no olvides seguir los enlaces que te encuentres en el post. Empecemos.

JAVASCRIPT EN LA WEB

Debido a que javascript surgió en el navegador, lo convierte en el único lenguaje para crear aplicaciones y sitios en la web. Es decir que todos los navegadores tratan de cumplir las normas con las que esta definido javascript, para permitir que sean compatibles tus aplicaciones, estés en el navegador que estés, pero mucho más allá de eso, ya que javascript ha permitido evolucionar la web en maneras que no pensábamos, ya que hoy en día se desarrollan aplicaciones en el navegador que tienen funcionalidad de aplicaciones de escritorio, a las que hemos llamado Single Page Aplications o SPA:

La cual todas las compañías importantes de Internet como Google las usan, de hecho Facebook, el sitio numero 2 en Internet con mayor trafico en Internet, usa una biblioteca de código creada por ellos mismos llamada React, para mejorar la experiencia de los usuarios mientras que Google usa Angular, pero en si, existen una gran cantidad de frameworks  y bibliotecas, incluso tu puedas crear la tuya propia.

JAVASCRIPT PARA APLICACIONES DE RED

una de las razones por las que javascript es el lenguaje más usado hoy en dia se debe a NodeJs, el cual nos permite ejecutar javascript en el sistema operativo, ya no solo en el navegador, y de hecho si quieres saber más te invito a mi post de ¿Que es Nodejs?, desde cero en el que lo detallo mucho más, pero en resumen se trata de usar javascript para crear aplicaciones de redes, como aplicaciones servidor para hacer aplicaciones web, con arquitectura cliente-servidor, y muchas cosas más, pero debido a que esta haciendo uso del sistema operativo, es muy sencillo usarlos para propositos distintos como crear aplicaciones de escritorio o robots por ejemplo. 

JAVASCRIPT PARA APLICACIONES DE ESCRITORIO

una de las razones por las que siempre quise desarrollar aplicaciones de escritorio fue:
  • el rendimiento es superior a las aplicaciones web, debido interactúan directamente con el sistema operativo
y básicamente eso es todo, pues porque el navegador hoy en día tiene la capacidad para desarrollar las mismas funcionalidades que las aplicaciones nativas de escritorio, e incluso, mucho más, pero algo que siempre me encanto de la web fue su libertad para expresar creatividad en el trabajo, ¿que a que me refiero con esto?, ok, mira el sitio web de cuberto, ¿un sitio bonito verdad?, ok, si no te gusto mira este otro(que es el sitio de la película del hacker Edward Snowden), aunque este sitio siempre me impresionara.
Te imaginas poder poder llevar la capacidad de las animaciones y la facilidad de hacer estas web a las aplicaciones de escritorio, ademas que nos ayudaría a usar una interfaz web y una interfaz de escritorio al mismo tiempo sin tener que cambiar entre lenguajes como Java, C#, C++, por ejemplo.
Pues no tienes que imaginarlo porque es posible gracias a frameworks como Electron.js, que te permite hacer aplicaciones de escritorio con tecnología web es decir HTML, CSS Y JAVASCRIPT, desarrollado por github, he aquí un vídeo.



Ademas te daré una lista de aplicaciones de escritorio hechas con Javascript.
  • WebTorrent.io: una aplicación para descargar torrents
  • Atom.io, una editor de código para programadores y desarrolladores

APLICACIONES MÓVILES CON JAVASCRIPT

El mundo del desarrollo hoy en día esta enfocado a los dispositivos móviles, debido a que... de hecho no tengo que decirte nada, porque es probable que estés leyendo esto desde el móvil, así ¿que posibles tenemos de hacer aplicaciones móviles con javascript?
Pues en realidad existen muchas, pero entre las más populares teemos a:

  • React Native, Es la propuesta de Facebook por hacer aplicaciones nativas con javascript, de hecho la aplicación de Facebook e Instagram estan desarrolladas con React.
  • Ionic, muy de la mano de Google, Ionic es un framework que usa Angular para tener la logica, ademas de PhoneGap para hacer uso de los recursos del sistema del móvil.
  • AppCelerator
  • Adobe Air

ROBOTS Y HARDWARE CON JAVASCRIPT

una de las cosas que siempre miran ajenas las personas del mundo de la informática, es el hardware y la electrónica, como si fuera un mundo aparte, y de hecho el hardware tiene tanta relación que es por eso que tenemos lenguajes como C/C++ o Rust, para hacer un mejor manejo del hardware. En fin, si bien se puede hacer con otros lenguajes de programación una de las ventajas de usar javascript en hardware es que lo podemos integrar con aplicaciones en red gracias a NodeJS, lo cual nos facilita hacer aplicaciones de Internet de las Cosas.
la biblioteca más famosa para este propósito es JOHNNY-FIVE, y quizás la biblioteca más recomendada para empezar, aquí hay un vídeo de google, pero lastima que esta en ingles, si sabes de algun recurso en español, por favor compartirlo conmigo ☺.

Aunque Johnny-five no es la única biblioteca, ya que también esta Cylon, ambas permiten integrarse con open hardware como Arduino y RasberryPi por ejemplo, aunque no son los únicos, es más hay una placa de hardware específicamente enfocada en Javascript, llamada Tessel, que permite cambiar a Rust cuando el proyecto requiere escalar.
pero de seguro quieres ver una empresa que este usando javascript para hacer robots pues te presento a Jiboo:


EN CONCLUSIÓN
Quizás todo esto suene muy sospechoso

y es que es demasiado bueno para ser verdad, pero lo cierto es de que la ventaja de tener javascript en todas partes es de que puedes hacer lo que quieras conociendo un solo lenguaje, si ya sabes hacer una pagina web, pues ya sabes hacer una aplicación de escritorio o un servidor web, es así de simple, la programación no tiene que ser complicada de hecho, el propósito de los nuevos lenguajes de programación es reducir el dolor de cabeza que produce los errores a los programadores.
En lo personal quiero pasar el menor tiempo posible escribiendo código, y pensando como resolver el problem, al final la meta es la solucion y no la herramienta con la que usas para resolver el problema, asi que no seas prejuicioso con los lenguajes de programación y aprende el lenguaje que te sea más facil de usar para hacer cosas asombrosas, en mi caso yo he escogido Javascript, ¿Que hay de ti? . 

Comentarios