javascript - tutorial - ¿Cuáles son los pros y los contras de Chrome Apps en comparación con Electron?
electron ui framework (3)
Quiero programar una aplicación de escritorio en javascript (con tecnologías web) y busqué una comparación entre las aplicaciones Electron y Chrome.
Todo lo que necesito parece ser posible con Chrome Apps, pero hay un gran despliegue publicitario en torno a Electron / NW.js. ¿Cuáles son las ventajas de Electron? ¿Es debido a la gran cantidad de paquetes de Nodo?
Creo que las diferencias funcionales son claras para mí.
Pros y contras como
+ Chrome Apps can run on Chrome OS
- Chrome Apps needs an installed Chrome Browser
...
ACTUALIZACIÓN 2016-08-20:
Como señaló Eduardo, Google anunció que descontinuará las aplicaciones de Chrome para todas las plataformas que esperan de ChromeOS. Así que creo que la respuesta a esta pregunta es obvia ahora.
Para todos aquellos que desarrollaron una aplicación Chrome y están interesados en migrarla a la web, aquí hay una guía de Google: https://developers.chrome.com/apps/migration
O, como Google también mencionó, lo migran a Electron o NW.js
Creo que no es realmente posible comparar aplicaciones electrónicas y cromadas. Depende de lo que su programa debe hacer.
Entonces, ¿cuándo debo usar electron?
En el primer vistazo, electron se ve como Chrome, porque las vistas de electron se basan en el navegador Chrome. Pero electron es un entorno completo de node.js con una vista de cromo en la parte superior. Así que las características poderosas no son solo una visión de la parte cromada.
Como mencionó, hay una gran cantidad de módulos de nodo (más de 200.000), que puede instalar o actualizar muy fácilmente. También debe echar un vistazo a la api de node.js ( https://nodejs.org/api/ ). Todo lo que le permite escribir aplicaciones complejas, que están totalmente integradas en su escritorio. Para casi todos los problemas hay algunos módulos disponibles.
Con el nodo, primero puede crear su programa con una interfaz de línea de comandos y luego puede usar electron para crear una interfaz gráfica de usuario.
Entonces, cuando ya tienes una aplicación en línea que está escrita en JS, tal vez una aplicación Chrome sea mejor. Las aplicaciones de Chrome son excelentes para el uso de Google Drive. O si quieres tener una integración completa en chrome-os.
Así que mis ventajas para el electrón:
- Más de 200.000 módulos sobre npm disponibles.
- Muy fácil integración de jQuery, Angular, React, ...
- primero haga un programa con un CLI y luego haga un gui
- funciona perfecto con github
- muy buena integración de escritorio
- proporcionar instaladores de windows
Me gustaría tocar en Electron vs nw.js.
Tengo una aplicación de Chrome muy popular que no se puede convertir ni en una aplicación web ni en una extensión porque utiliza varias API no compatibles, especialmente la API chrome.fileSystem
.
La aplicación solo es accesible en la tienda web de Chrome, ya que el soporte de la aplicación se abandonará no antes de principios de 2018. Sin embargo, ya he pensado mucho y mucho tiempo en decidir qué hacer con respecto al movimiento de Google.
Hasta ahora he estado apuntando principalmente a Electron
ya que parece que esto es lo que más me llama la atención, pero recientemente descubrí que nw.js
puede ejecutar las aplicaciones de Chrome nw.js
porque implementa todas las API de Chrome, mientras que Electron solo implementa un subconjunto de ellas. .
Simplemente ejecuta tu aplicación de Chrome de esta manera:
/path/to/nw.exe <folder path of the manifest.json file>
Excepto por unas pocas cosas, como la intercomunicación entre mi aplicación y una extensión auxiliar, todo funciona como se espera con cero cambios, a pesar de que es una aplicación avanzada con casi 3000 líneas de código JS.
Para las nuevas aplicaciones multiplataforma, Electron podría ser la mejor opción (en realidad no tengo idea), pero para las aplicaciones existentes de Chrome, diría que nw.js es realmente algo que debería considerar.
Espero que esto pueda ayudar a alguien en la misma posición.
Puedes comparar totalmente las aplicaciones empaquetadas de electrones y cromos. Ellos son muy similares. Para ambos obtienes:
- Desarrolle su aplicación de escritorio utilizando tecnologías web
- La aplicación se ejecuta en la parte superior de Chrome
- Actualizaciones automáticas. Aunque en Chrome lo consigues gratis, para Electron necesitas hacer un poco de trabajo.
- Integración del sistema operativo: ambos tienen una mejor integración con el sistema operativo que un sitio web normal, pero Electron admite una gama más amplia de integración del sistema operativo.
- Trabaja sin conexión o en línea.
- Ambos funcionan en Linux, OSX y Windows. Las aplicaciones web de Chrome también funcionan en los Chromebooks.
Aquí están las diferencias:
- Electron usa node.js. Así que puedes importar muchos módulos que no están fácilmente disponibles en Chrome Apps.
- Distribución, con electron usted empaqueta y distribuye la aplicación usted mismo. Con Chrome Apps, puedes distribuirlas a través de Chrome Webstore.
- Ambiente. Una aplicación electrónica está empaquetada con su entorno completo. Las aplicaciones de Chrome solo usan el entorno de Chrome para que sean más ligeras, pero pueden comportarse de manera diferente para diferentes usuarios, dependiendo de la versión de Chrome que utilicen.
- Las aplicaciones de Chrome requieren que el usuario tenga instalado Chrome, Electron no.
- Electron tiene mejores herramientas de desarrollo para probar y depurar.
- Electron es una plataforma de código abierto. Chrome Apps también se basa en múltiples tecnologías abiertas, pero especialmente la distribución está controlada por Google.
- La documentación electrónica es mucho mejor, aunque es una plataforma mucho más joven.
- Adopción: Hay muchas aplicaciones grandes y exitosas construidas sobre Electron como Visual Studio Code, GitHub client, Slack. Las aplicaciones de Chrome nunca tuvieron tanto impulso.
- Las aplicaciones de Chrome se pueden integrar estrechamente en Google Drive
ACTUALIZACIÓN 2016-08-19:
Parece que Google desaprobó recientemente las aplicaciones Chrome en cualquier plataforma que no sea ChromeOS. Así que diría que ya no es una opción válida.
http://blog.chromium.org/2016/08/from-chrome-apps-to-web.html