Electron与Cordova有什么不同? 如何实现/包装Cordova API以在电子中使用NodeJS API?

我有一个基于Ionic + Angular + Cordova API(在Android和iOS上正常工作)的移动应用程序。 现在我想让这个应用程序可用于桌面,我觉得Electron是正确的工作。 现在,我应该如何实现现有的Cordova API来使用由电子提供的NodeJS API。

我有在NW.JS内build的早期基本版本,我可以迁移到最新的电子应用程序的API?

他们如何相互联系? 以及如何连接两者之间的工作stream程?

另外,我看到cordova在桌面上也能正常工作,如果是这样的话,我应该如何将它与电子集成呢?

我不知道为什么这个问题被标记为主要是基于意见的。 Electron和Cordova的区别与意见无关。

电子

  • Electron(人称Atomshell)是为了使用Web技术(HTML,CSS,JavaScript)和Node.js创build桌面应用程序
  • 电子应用程序是可以访问无铬浏览器窗口的Node.js应用程序。
  • 您可以编写在浏览器窗口和主Node.js进程中运行的代码。
  • 您可以访问DOM和完整的Node.js API和npm模块。

cordova

  • Cordova(以前称为PhoneGap)是为了使用Web技术(HTML,CSS,JavaScript)构build移动应用程序而创build的。
  • Cordova应用程序不是Node.js应用程序(尽pipeCordova CLI工具是用Node编写的,就像现在大多数现代工具往往都是这样编写的)。 这些是原生的移动应用程序,显示与应用程序内容的浏览器窗口。
  • 您编写在embedded式浏览器中运行的代码,以及可能的本地插件(依赖于平台)。
  • 您可以访问位于JavaScript和本机平台API之间的DOM API和Cordova API。 您无权访问Node.js API。

相似

  • 两者都是免费软件
  • 两者都可以使用Angular(或任何其他前端框架)
  • 两者都使用HTML和CSS布局和样式
  • 两者都主要用JavaScript编程

TL; DR

  • cordova应用程序是Web应用程序打包为特殊API的移动应用程序
  • 电子应用程序是包含networking应用程序的窗口的节点应用程序

更多信息