Así que pasé algún tiempo aprendiendo JavaScript y construí algunas aplicaciones web básicas de tjs de nodo (basadas en express). ¿Cómo haría para escribir una aplicación de escritorio con este conocimiento? ¿Debería analizar cosas como electron.js?

Creo que realmente depende de lo que te veas haciendo.

Si está pensando en aplicaciones que son como sitios web, pero que se ejecutan como aplicaciones de escritorio, quizás vale la pena considerar Electron.

Sin embargo, si está pensando en crear software de productividad de escritorio, probablemente no quiera usar Javascript o herramientas creadas para sitios web.

Toda la pila web, HTML, CSS y JS está orientada a crear sitios web, no está orientada a crear aplicaciones de escritorio, y encontrará que es una lucha cuesta arriba todo el tiempo.

Sugeriría en su lugar que use algo como:

Windows / UWP : genial, pero solo Windows 10.

Cacao / Swift : Genial, pero solo para Mac.

Java / JavaFX : completamente multiplataforma, pero hacer que las aplicaciones parezcan nativas puede ser una batalla.

Como digo, si te ves haciendo aplicaciones que son de naturaleza “webby”, tal vez Electron te convenga. Sin embargo, si te ves haciendo software de escritorio a mediana o gran escala, evitaría la pila web por completo.

Electron es una plataforma perfectamente buena para crear aplicaciones. No funcionará con controles nativos, pero hay temas muy atractivos como Photonkit [1] y React Desktop [2] que se ven geniales.

Pero la barra es más alta para hacer una aplicación que se sienta bien como una aplicación de escritorio.

También hay una complejidad inherente adicional en la creación de la mayoría de las aplicaciones de escritorio. Y es fácil empantanar la aplicación con demasiadas bibliotecas de JavaScript, o perder recursos con el tiempo, si no tiene cuidado.

No digo esto para desanimarte, pero debes darte cuenta de en qué te estás metiendo.

Notas al pie

[1] Fotón

[2] gabrielbull / react-desktop

sí, su próximo paso lógico para aplicaciones de escritorio sería Electron (o NW.js). Yo personalmente uso electron, y siempre una versión principal debajo de la última versión por razones de estabilidad (por ejemplo, uso v1.4.x si la última versión estable es 1.5.x). no es una mala habilidad para aprender, ya que creo que todos los dispositivos móviles y de destop ui eventualmente serán reemplazados por otros basados ​​en la web a medida que evoluciona y mejora.