Aplicaciones de Escritorio en Javascript

Durante años las aplicaciones de escritorio fueron la única propuesta de solución cuando hablábamos de automatizar tareas en el computador, pero a medida que ha avanzado los años, el desarrollo web ha evolucionado a tal punto, que hoy en día es capaz de hacer lo que antes tan solo era capaz de hacer el sistema operativo, por ejemplo el navegador puede:

  • renderizar 3d con WebGL
  • comunicación punto a punto con WebRTC
  • uso de lenguajes de bajo nivel con wasm

Y muchas otras características que se irán agregando a medida que se mejorar el entorno, esto nos ayudan a crear aplicaciones con funcionalidades que antes tan solo podíamos hacer con aplicaciones de escritorio.


Lo cierto es de que siempre se ha optado por lenguajes como Java, C#, Objective-C, C++ y sus conocidos frameworks como .NET, Qt, Cocoa, GTK y muchos otros por el simple hecho de que estos siempre han estado allí desde sus inicios, pero hoy en día podemos crear aplicaciones de escritorio con tecnología web y de una manera Fácil.

Pero antes de empezar voy a contarte como llegue a esto. para que tengas un contexto más claro.

Aplicaciones de Escritorio con Tecnología web Hace unos años

Como adolescente que gustaba de los videojuegos y programar, pasaba mucho tiempo en el desarrollo de aplicaciones en general, y uno de los juegos que más me gustaba pasar tiempo era el Leguea of Leguends, y fue cuando estaba en la universidad que estaba aprendiendo Java por cuenta propia, y en el proceso de como crear mejores interfaces de usuario.
Un día como cualquier otro al momento de Abrir el juego es cuando se lanza una actualización del launcher de LoL(Leguea of Leguends), que es la interfaz de inicio que arranca el juego, que lucia así:


era un tipo de interfaz completamente diferente a la que había visto antes, no solo era fácil de usar y mostraba el contenido relevante si no que estéticamente, era una maravilla ante mis ojos.
Ademas siempre tuve en mente lo genial que lucían los sitios web, que yo vea con animaciones, transiciones, que vi gracias a bibliotecas al estilo GreenSock, que convertían un sitio web comun en uno sorprendente, y todo esto con tecnología web.

El hecho es de que me puse a investigar como crearon esa interfaz, y leí por allí que los creadores del League of Leguends utilizan un programa de Adobe, llamado Adobe Air, para crear sus tan famoso juego. 

conociendo como crear sitios web pero no mucho de conceptos avazados, y siendo esta tecnología no muy conocida, se comprendera que me convenia buscar alternativas, en caso existiesen por aquellos años y encontre a app.js, y nodewebkit. dos alternativas para crear aplicaciones de escritorio utilizando HTML5, CSS3, y Javascript junto con Nodejs. cabe considerar que para entonces se hablaba de como implementar APIs de HTML5, y Nodejs, tan solo se hablaba de que era potente pero no muchas personas lo utilizaba como ahora.

el punto es de que probé estas tecnologías, pero no fueron lo que esperaba por aquel entonces, con muy poca documentación y muy poca comunidad a comparación de las otras, no era nada fácil para mi. pero lo cierto también es que la tecnología avanza constantemente y hoy si es posible hacerlo de una manera mucho más fácil.

Aplicaciones de Escritorio con Tecnología Web Actualmente

Entre las propuestas para hacer aplicaciones de Escritorio actualmente podemos encontrar:

  • nw.js, antes llamado node webkit, fue una de las propuestas más prometedoras al combinar HTML5, CSS3, Y todas las Apis de Javascript en el navegador junto con Node.js. pero lo cierto es de que su comunidad es muy escaza y cada día se opta mucho más por Electron.js.
  • Adobe Air, es la propuesta por parte de Adobe para usar Javascritpt en la creación de aplicaciones y juegos que soporte las plataformas privativas más conocidas como iOS, Android, MacOSX, y Windows. aunque su comunidad no es gigantesca, tienes el respaldo de Adobe. 
  • Electron.js, es la propuesta más prometedora para la comunidad Open source creado y mantenido por Github y la comunidad Libre, es posible crear aplicaciones Modernas con esta tecnología. Entre las aplicaciones más populares creadas con esta tecnología podemos encontrar a:
    • Visual Studio Code
    • Atom
    • Wordpress, la Aplicación de Escritorio
    • Slack, aplicación de Escritorio
    • Github, aplicación de Escritorio
    • Twitch, aplicación de Escritorio
    • LightTable, Editor de Código Multiplataforma
    • Hyper

Ejemplos Pŕacticos de Aplicaciones

Conclusión

Si conoces Node.js, y las tecnologías del FrontEnd, puedes optar por Electron, ya que utiliza las ultimas versiones de Ecmascript6 y puedes usar prácticamente cualquier biblioteca de Javascript, ya sea de animaciones, código, etc; incluso puedes usar Frameworks muy conocidos como Angular, Vue y la biblioteca React.

Comentarios

  1. Hola , yo estoy acostumbrado a los ide en copio , arrastro y pego, asi voy diseñando mi formulario, pero aca como hago para diseñar o maquetar un formuario

    ResponderBorrar
    Respuestas
    1. necesitas aprender HTML(para el marcado) y CSS para la maquetacion y estilo, no es complicado, pero eso si, es código puro, una vez que le tomas el truco se te haría muy divertido

      Borrar
    2. Estudiando papi no todo es copy-page

      Borrar
    3. @anonimo callae ve tu eres el que no estudiaste eres un pendejo como persona >:(

      Borrar
  2. buen video explicas muy bien gracias

    ResponderBorrar

Publicar un comentario