Más allá del navegador: de aplicaciones web a aplicaciones de escritorio

 

 

 

  • Anuncie en la revista Smashing
  • Clase magistral de tipografía, con Elliot Jay Stocks

  • Índice
    1. ¿Por qué?
    2. NW.js

    Imagine un flujo de trabajo arcaico y extraño, con herramientas antiguas y ninguna de esas cosas que le encantan de la web. ¿Cómo se vería afectada tu carrera? Como desarrollador web, no solo ya posee todas las habilidades para crear excelentes aplicaciones de escritorio modernas, sino que, gracias a las nuevas y potentes API a su disposición, el escritorio es donde sus habilidades pueden aprovecharse al máximo. En este artículo, Adam Lynch analizará el desarrollo de aplicaciones de escritorio utilizando NW.js y Electron, los altibajos de crear una y vivir con una, usar una base de código para el escritorio y la web, y más.

     

    Comencé como desarrollador web y eso es ahora parte de lo que hago como desarrollador completo, pero nunca imaginé que crearía cosas para el escritorio. Me encanta la web. Me encanta lo altruista que es nuestra comunidad, cómo adopta el código abierto, las pruebas y va más allá. Me encanta descubrir sitios web hermosos y aplicaciones poderosas. Cuando me encargaron por primera vez la tarea de crear una aplicación de escritorio, me sentí aprensivo e intimidado. Parecía que sería difícil, o al menos… diferente.

    No es una perspectiva atractiva, ¿verdad? ¿Tendrías que aprender uno o tres idiomas nuevos? Imagine un flujo de trabajo arcaico y extraño, con herramientas antiguas y ninguna de esas cosas que le encantan de la web. ¿Cómo se vería afectada tu carrera?

    Bien, respira. La realidad es que, como desarrollador web, no solo ya posee todas las habilidades para crear excelentes aplicaciones de escritorio modernas, sino que, gracias a las nuevas y potentes API a su disposición, el escritorio es donde sus habilidades pueden aprovecharse al máximo.

    En este artículo, veremos el desarrollo de aplicaciones de escritorio usando NW.js y Electron , los altibajos de crear una y vivir con una, usar una base de código para el escritorio y la web, y más.

    ¿Por qué?

    En primer lugar, ¿por qué alguien crearía una aplicación de escritorio? Cualquier aplicación web existente (a diferencia de un sitio web, si cree en la distinción) probablemente sea adecuada para convertirse en una aplicación de escritorio. Podría crear una aplicación de escritorio en torno a cualquier aplicación web que se beneficiaría de la integración en el sistema del usuario; piense en notificaciones nativas, inicio al inicio, interacción con archivos, etc. Algunos usuarios simplemente prefieren tener ciertas aplicaciones allí permanentemente en su máquina, accesibles ya sea que tengan conexión o no.

     

    Tal vez tengas una idea que sólo funcionaría como una aplicación de escritorio; algunas cosas simplemente no son posibles con una aplicación web (al menos todavía, pero hablaremos de eso más adelante). Puede crear una aplicación de utilidad independiente para uso interno de la empresa, sin necesidad de que nadie instale nada más que su aplicación (porque Node.js está integrado). Quizás tengas una idea para la Mac App Store. Tal vez sería simplemente un proyecto paralelo divertido.

    Es difícil resumir por qué debería considerar la creación de una aplicación de escritorio, ya que hay muchos tipos de aplicaciones que puede crear. Realmente depende de lo que le gustaría lograr, qué tan ventajosas le parezcan las API adicionales y cuánto mejoraría el uso sin conexión la experiencia de sus usuarios. Para mi equipo, fue una obviedad porque estábamos creando una aplicación de chat . Por otro lado, una aplicación de escritorio dependiente de la conexión que realmente no tiene ninguna integración de escritorio debería ser una aplicación web y solo una aplicación web. No sería justo esperar que un usuario descargue su aplicación (que incluye un navegador propio y Node.js) cuando no obtendría más valor de ella que visitando una URL suya en su navegador favorito. Todo sobre productos Xiaomi

    En lugar de describir la aplicación de escritorio que usted personalmente debería crear y por qué, espero generar una idea o al menos despertar su interés en este artículo. Continúe leyendo para ver lo fácil que es crear potentes aplicaciones de escritorio utilizando tecnología web y lo que eso puede ofrecerle además (o junto con) la creación de una aplicación web.

    NW.js

    Las aplicaciones de escritorio existen desde hace mucho tiempo, pero no tienes todo el día, así que saltemos un poco de historia y comencemos en Shanghai, 2011. Roger Wang, del Centro de Tecnología de Código Abierto de Intel, creó node-webkit; un módulo Node.js de prueba de concepto que permitía al usuario generar una ventana del navegador WebKit y utilizar módulos Node.js dentro de scriptlas etiquetas.

    Después de algunos avances y un cambio de WebKit a Chromium (el proyecto de código abierto en el que se basa Google Chrome), un pasante llamado Cheng Zhao se unió al proyecto. Pronto se dio cuenta de que un tiempo de ejecución de aplicaciones basado en Node.js y Chromium sería un buen marco para crear aplicaciones de escritorio. El proyecto llegó a ser bastante popular.

    Nota : Posteriormente, node-webkit pasó a llamarse NW.js para hacerlo un poco más genérico porque ya no usaba Node.js ni WebKit. En lugar de Node.js, se basó en io.js (la bifurcación de Node.js) en ese momento, y Chromium había pasado de WebKit a su propia bifurcación, Blink.

    Entonces, si descargaras una aplicación NW.js, en realidad estarías descargando Chromium, más Node.js, más el código de la aplicación real. Esto no solo significa que se puede crear una aplicación de escritorio usando HTML, CSS y JavaScript, sino que la aplicación también tendría acceso a todas las API de Node.js (para leer y escribir en el disco, por ejemplo), y el usuario final No conozco nada mejor. Eso es bastante poderoso, pero ¿cómo funciona? Bueno, primero echemos un vistazo a Chromium.

    Hay un proceso principal en segundo plano y cada pestaña tiene su propio proceso. Es posible que hayas visto que Google Chrome siempre tiene al menos dos procesos en el administrador de tareas de Windows o en el monitor de actividad de macOS. Ni siquiera he intentado organizar el contenido del proceso principal aquí, pero contiene el motor de renderizado Blink, el motor JavaScript V8 (que es en el que se basa Node.js, por cierto) y algunas API de plataforma que API nativas abstractas. Cada pestaña aislada o proceso de renderizado tiene acceso al motor JavaScript, al analizador CSS, etc., pero está completamente separado del proceso principal para lograr tolerancia a fallas. Los procesos de renderizado interactúan con el proceso principal a través de la comunicación entre procesos (IPC).

    Así es aproximadamente como se ve una aplicación NW.js. Es básicamente lo mismo, excepto que ahora cada ventana también tiene acceso a Node.js. Por lo tanto, tiene acceso al DOM y puede requerir otros scripts, módulos de nodo que haya instalado desde npm o módulos integrados proporcionados por NW.js. De forma predeterminada, su aplicación tiene una ventana y desde allí puede generar otras ventanas.

    Crear una aplicación es realmente fácil. Todo lo que necesita es un archivo HTML y un archivo package.json, como lo tendría cuando trabaja con Node.js. Puedes crear uno predeterminado ejecutando npm init –yes. Normalmente, a package.jsonseñalaría un archivo JavaScript como el archivo "principal" del módulo (es decir, usando la mainpropiedad), pero con NW.js necesita editar la mainpropiedad para que apunte a su archivo HTML.

    { "name": "example-app", "version": "1.0.0", "description": "", "main": "index.html", "scripts": { "test": "echo "Error: no test specified"" exit 1"" } 




    Tal vez te puede interesar:

    1. Hacer un Polyfill completo para el elemento de detalles HTML5
    2. Creación de un detector de habitaciones para dispositivos IoT en Mac OS
    3. Creación de una aplicación basada en Spotify utilizando Nuxt.js
    4. Cómo crear una API de Node.js para Ethereum Blockchain

    Más allá del navegador: de aplicaciones web a aplicaciones de escritorio

    Más allá del navegador: de aplicaciones web a aplicaciones de escritorio

    Anuncie en la revista Smashing Clase magistral de tipografía, con Elliot Jay Stocks Índice ¿Por qué?

    programar

    es

    https://pseint.es/static/images/programar-mas-alla-del-navegador-de-aplicaciones-web-a-aplicaciones-de-escritorio-912-0.jpg

    2024-04-04

     

    Más allá del navegador: de aplicaciones web a aplicaciones de escritorio
    Más allá del navegador: de aplicaciones web a aplicaciones de escritorio

    Si crees que alguno de los contenidos (texto, imagenes o multimedia) en esta página infringe tus derechos relativos a propiedad intelectual, marcas registradas o cualquier otro de tus derechos, por favor ponte en contacto con nosotros en el mail [email protected] y retiraremos este contenido inmediatamente

     

     

    Top 20