NW.js,Brackets之间的功能差异是什么?

既然TideSDK实际上已经死了,我一直在寻找替代的'包装器'来运行HTML / CSS / JS应用程序作为独立的桌面应用程序。 到目前为止我已经运行的三个可行选项是NW.js(以前称为node-webkit),括号外壳和Electron(以前称为原子外壳)。

问题是,在功能集合,兼容性等方面似乎没有足够完整的三者之间的比较。我希望把它变成关于(客观)差异之间的更多或更少规范的线索三,特别是关于:

  • 平台支持 ; 操作系统,依赖关系等。
  • 就HTML5,CSS3和JavaScript而言, 语言功能支持 。 认为像“HTML5视频工作,如果是的话,什么编解码器可用?”
  • 非标准的额外功能 ,如托盘图标,弹出通知和OS渲染的菜单栏。
  • 可扩展性 ; 例如。 插入本地代码的能力,与Node.js交谈等等。
  • 建筑学 ; 特别是影响作为开发人员日常使用的体系结构差异。
  • 调试 ; 包括开发工具,与node-inspector等常用工具的兼容性等。
  • ... 等等。
  • 在作为应用程序开发人员进行选择时,哪些客观的技术差异很重要?


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

    Brackets-shell看起来很有趣,但除了一个很好的IDE之外,我并没有真正弄清楚这个东西比其他东西更好或更好。 他们非常清楚,“括号外壳只保留供Brackets项目使用”,尖叫声向我跑去。

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

    Atom-shell似乎最近处于活动状态,但它似乎很像括号,因为它们实际上只是写入和编辑器/ IDE,而恰好附加到Webkit运行时。 它也建立在node.js之上。 这其中有一个缺点,就是很难在网上搜索东西,而不会想起你的初中化学。

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

    这些都适用于所有三种平台 - 在Windows,Mac和Linux语言支持上运行--HTML5,CSS3和Javascript:由于它们运行JavaScript,因此您可以下载并运行几乎任何所需的库/框架。

    关于webkit的重要警告是编解码器的支持。 通常情况下,您将遇到非免费视频编解码器的问题,除非您重建dll /以支持它们。 例如,发货的node-webkit将不会播放mp4视频。


    过去几天我一直在玩Atom-Shell ,而且我非常喜欢它。

    最好的部分是它得到了GitHub的支持。这应该让你能够长期进入平台,特别是如果它获得了大量的关注。 也可以通过与StrongLoop的合同直接获得Node.js的改进,而StrongLoop是一个主要的Node.js贡献者(他们声称聘请的Node.js核心开发人员比任何其他公司甚至Joyent都多)。

    我也觉得开始起来很舒服。 我花了大概一天的时间来学习结构并获得我的第一个概念验证。 很酷。


    子弹点数:

  • 平台支持: Windows,Linux,Mac OSX(更多信息请点击这里)
  • 语言功能支持: HTML5,CSS3,JS通过Chromium - 到目前为止,零问题,但我没有专门测试视频。
  • 本机功能:本机应用程序菜单,任务栏支持,全局热键,协议处理程序支持(迄今为止我见过)
  • 可扩展性:优秀的Node.js集成,客户端和服务器都可以“需要”Node.js模块和本机。 我也成功地测试了Bower库(包括jQuery),没有问题。
  • 建筑:在其他方面涵盖,但总的来说非常顺利。

  • 更新(11/25/14):我还没有发现Atom-Shell的任何官方用例,但我已经用它来构建一些小型应用程序供我自己使用,最复杂的是一个应用程序我的PM软件记录我的时间并创建Paypal发票。

    我对这个平台的看法仍然是积极的。 这非常棒。

    在我的时间发票应用程序中,我成功引入了Bootstrap 3的仪表板示例模板和几个节点模块(蓝鸟,Paypal SDK,Teamwork PM Client),以创建一个稍微复杂的应用程序。 这花了我几天的时间,并且做得很好。

    对于Atom-Shell,它的稳定,快速和易于编写,我真的想不出任何消极的看法。 我希望这可以帮助别人。


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

  • 通过将JS源代码编译为机器码来保护它:https://github.com/nwjs/nw.js/wiki/Protect-JavaScript-source-code-with-v8-snapshot
  • Jailed devtools:https://github.com/nwjs/nw.js/wiki/Devtools-jail-feature
  • 您可以在DOM中使用更多安全模型:https://github.com/nwjs/nw.js/wiki/Security https://github.com/nwjs/nw.js/wiki/Changes-to-DOM
  • 增强的文件对话框:https://github.com/nwjs/nw.js/wiki/File-dialogs
  • 信息亭模式:https://github.com/nwjs/nw.js/wiki/The-Kiosk-mode
  • 支持越来越多的chrome * API,包括chrome.webRequest,以便拦截来自DOM的HTTP请求:https://github.com/nwjs/nw.js/issues/518
  • 支持丰富的通知,打印预览,更多Chrome浏览器* API,Chrome应用程序和其他Chromium功能,从0.13.0-alpha0
  • 在Wiki中还有很多其他功能,包括Menu,Tray等。

    链接地址: http://www.djcxy.com/p/66559.html

    上一篇: What are the functional differences between NW.js, Brackets

    下一篇: Can Hybrid Apps be targeted for Windows Tablets/Surface