现在TideSDK已经死了,我一直在寻找替代的“包装器”来运行HTML / CSS / JS应用程序作为独立的桌面应用程序。到目前为止,我遇到的三个可行选项是NW.js(以前称为node-webkit),brackets-shell和Electron(以前称为atom-shell)。
问题在于,在功能集,兼容性等方面似乎没有足够完整的三者之间的比较。我希望将其变成一个或多或少的规范线程(目标) )三者之间的差异,特别是关于:
node-inspector
等常用工具的兼容性在作为应用程序开发人员进行选择时,哪些客观的技术差异很重要?
答案 0 :(得分:40)
我在两个月前做了类似的研究,最后我选择了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视频。
答案 1 :(得分:39)
过去几天我一直在玩 Atom-Shell ,到目前为止我很喜欢它。
关于它的最好的部分是它由GitHub支持..这应该允许你长期适应平台,特别是如果它获得了大量的追随者。通过与 StrongLoop 的合同提供的直接Node.js改进也是可能的,他是Node.js的主要贡献者(他们声称使用更多的Node.js核心)开发人员比任何其他公司,甚至Joyent)。
我也发现开始时很舒服。我花了大约一天时间来学习结构并获得第一个概念验证。很酷。
更新(2014年11月25日):我还没有找到任何官方容量的Atom-Shell用例,但我用它来构建一些小应用程序我自己使用,最复杂的应用程序,从我的PM软件中提取我的时间日志并创建Paypal发票。
我对该平台的看法仍然是积极的。它太棒了。
在我开具发票的应用程序中,我成功引入了Bootstrap 3 Dashboard Example Template和一些节点模块(bluebird,Paypal SDK,Teamwork PM Client)来创建一个稍微复杂的应用程序。我花了几天时间做得很好。
我真的想不出有关Atom-Shell的任何负面评价,它坚实,稳定,快速且易于编码。我希望这有助于某人。
答案 2 :(得分:21)
除完全支持Web标准外,NW.js还支持本地应用程序开发的非标准功能列表,包括:
在wiki中还有更多内容,包括Menu,Tray等。
答案 3 :(得分:10)
我一直在使用括号shell一段时间了,这里有一些我的发现:
文档可能更好
平台支持它们支持Windows,Mac和Linux。还可以创建安装程序包。我只在Win和Mac上测试过,效果很好。
答案 4 :(得分:5)
有一点需要注意(如果你关心的话),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操作系统的旧版本,如Ubuntu和Win XP +。建议您仅为这些遗留系统执行特殊构建,并为较新的操作系统使用较新版本的NW.js.