首页 文章

NW.js,Brackets-Shell和Electron之间的功能区别是什么?

提问于
浏览
146

现在TideSDK实际上已经死了,我've been looking into alternative '包装器将HTML / CSS / JS应用程序作为独立的桌面应用程序运行 . 到目前为止,我遇到的三个可行选项是NW.js(以前称为node-webkit),brackets-shellElectron(以前称为atom-shell) .

问题是在功能集,兼容性等方面似乎没有足够完整的三者之间的比较 . 我希望将其转化为关于(客观)差异的或多或少的规范线程 . 三,特别是关于:

  • Platform support ;操作系统,依赖关系等

  • Language feature support ,就HTML5,CSS3和JavaScript而言 . 想想像"does HTML5 video work, and if yes, what codecs are available?"

  • Non-standard extra features ,例如托盘图标,弹出通知和OS渲染菜单栏 .

  • Extensibility ;例如 . 能够'plug in'本机代码,与Node.js交谈,等等 .

  • Architecture ;特别是影响开发人员日常使用的架构差异 .

  • Debugging ;包括开发工具,与 node-inspector 等常用工具的兼容性 .

  • ......等等 .

在作为应用程序开发人员进行选择时,重要的客观技术差异是什么?

5 回答

  • 10

    除了完全支持Web标准外,NW.js还支持本地应用程序开发的非标准功能列表,包括:

    在Wiki中还有更多内容,包括菜单,托盘等 .

  • 5

    两个月前我做了类似的研究,最后我使用了node-webkit . node-webkit的最大优点是node.js和npm . npm的包管理非常好,节点已经完成了文件系统访问 .

    Brackets-shell看起来很有趣,但除了一个不错的IDE之外,我并没有真正得到使得这个比其他更好或更好的东西 . 他们非常清楚“括号 - 贝壳仅供Brackets项目使用”,这些尖叫声让我感到震惊 .

    https://github.com/adobe/brackets-shell#overview

    Atom-shell似乎最近是活跃的,但它看起来很像括号,因为它们实际上是编写和编辑器/ IDE恰好附加到webkit运行时 . 它也 Build 在node.js之上 . 这个有一个缺点是难以在线搜索东西,而不会被提醒你的中学化学 .

    我真的不想要一个新的编辑器,而且大多数程序员已经拥有了他们的最爱 . 对于实际的应用程序开发,它们几乎一样,并且应该,因为它们都使用webkit . 你基本上写了90-95%的网站,然后处理本机部分和一些配置 .

    这些都适用于所有这三个平台 - 在Windows,Mac和Linux语言支持上运行 - HTML5,CSS3和Javascript:因为它们运行javascript,您可以下载并运行您想要的几乎任何库/框架 .

    webkit的一大注意事项是编解码器支持 . 通常,您将遇到非免费视频编解码器的问题,除非您重建dll /以支持它们 . 例如,发货的node-webkit不会播放mp4视频 .

  • 21

    在过去的几天里我一直在玩 Atom-Shell ,到目前为止我很喜欢它 .

    关于它的最好的部分是它也可以通过直接的Node.js改进来实现与 StrongLoop 的 Contract ,这是一个主要的Node.js贡献者(他们声称使用比任何其他公司更多的Node.js核心开发人员,甚至Joyent) .

    我也发现开始时很舒服 . 我花了大约一天时间学习结构并获得第一个概念验证 . 很酷 .


    子弹点:

    • Platform support: Windows,Linux,Mac OSX(More Info Here

    • Language feature support: HTML5,CSS3,JS通过Chromium - 到目前为止,零问题,但我没有专门测试视频 .

    • Native Features: 本机应用程序菜单,任务托盘支持,全局热键,协议处理程序支持(到目前为止我见过)

    • Extensibility: 优秀的Node.js集成,客户端和服务器都可以"require" Node.js模块和本机 . 我也成功地测试了 Bower 库(包括jQuery) .

    • Architecture: 涵盖在其他点,但总的来说它非常顺利 .


    Update (11/25/14): 我还没有找到任何官方容量的Atom-Shell用例,但是我用它来构建一些供我自己使用的小应用程序,最复杂的应用程序可以从我的PM软件中提取时间日志并创建Paypal发票 .

    我对该平台的看法仍然是积极的 . 这太棒了 .

    在我的发票应用程序上,我成功引入了Bootstrap 3的Dashboard Example Template和一些节点模块(bluebird,Paypal SDK,Teamwork PM Client)来创建一个稍微复杂的应用程序 . 我花了几天时间做好了 .

    我真的想不出任何关于Atom-Shell的负面评价,它坚实,稳定,快速,易于编码 . 我希望这可以帮助别人 .

  • 39

    我一直在使用括号shell一段时间了,这里有一些我的发现:

    • bracket-shell主要是作为括号IDE项目下的shell开发的,但该项目可以运行任何Web应用程序 . 你只需要将它指向你自己的html页面 . Clint Berry写了一篇关于这样做的优秀教程:http://clintberry.com/2013/html5-desktop-apps-with-brackets-shell/

    • 该项目由Adobe提供支持,并且有很多活动

    • 文档可能会更好

    • platform support 他们支持Windows,Mac和Linux . 还可以创建安装程序包 . 我只在Win和Mac上测试过,效果很好 .

    • feature support html5,css3,js . Html5视频无法开箱即用,但很容易启用(默认情况下,ffmpegsumo.dll不会复制到安装程序中,如果您更改脚本以复制它,它将起作用) .

    • native features 菜单栏,'open file with',文件系统访问 . 我没有使用任何这些,因为我需要的是与节点进程的通信 .

    • extensibility 内置了nodejs,您可以从Web应用程序与节点进行通信 . 通过这种方式,您可以使用节点来访问文件系统等 .

    • architecture 该项目设置良好,在shell项目和您自己的Web应用程序之间保持良好的分离 . 在您自己的应用程序中,提供了一个全局的appshell对象,使您可以访问括号功能(文件系统访问,与节点进程的通信,......) .

  • 40

    有一点需要注意(如果你关心的话),Electron官方不支持Windows Vista . Vista的市场份额约为halfway between OSX 10.9 and 10.10(两者都得到Electron的全力支持) . 直到2017年,微软仍然支持Vista .

    NW.js在Vista以及OSX 10.9中运行良好 . NW.js适用于Ubuntu,Debian,Zorin,Manjaro,Arch以及其他大多数基于Debian的Linux操作系统 . Electron已拒绝公关在其平台上修复Ubuntu特定错误 .

    NW.js也适用于XP . 目前18%的市场仍在使用XP . 因此,如果您的桌面应用程序更通用或者希望仍然可以访问XP上的后期采用者,那么您最好使用NW.js(0.14.7),因为Electron仅支持Win 7及更高版本 .

    如果您使用NW.js 0.12.3,您还可以支持OSX 10.6和基于Debian的Linux OS的非常旧版本,如Ubuntu和Win XP . 建议您仅针对那些遗留系统进行特殊构建,并为较新的OS使用较新版本的NW.js .

相关问题