资讯专栏INFORMATION COLUMN

atom-shell: GitHub 开源的跨平台桌面应用框架(基于 Node.js 和 HTML

MarvinZhang / 1089人阅读

摘要:是随一起开源的跨操作系统,,的利用技术开发桌面应用的框架。你同时需要监听窗口事件以便决定何时退出应用。顺便提一下,开发者还创建了库,让的使用更方便。通过集成和平台的避免给打补丁。作者最初考察了,但是最终还是决定雇佣来开发想要的框架。

atom-shell是 GitHub 随 Atom 一起开源的跨操作系统(Windows,Linux,MacOS X)的利用 Web 技术(Node.js、JavaScript、HTML 5)开发桌面应用的框架。Atom即构建在 atom-shell 之上。

与 Node-Webkit 的区别

atom-shell 和 Node-Webkit 很像,那么两者有什么区别呢?

1. 程序入口

Node-Webkit 的程序入口是一个网页,你在 package.json 中指定主页,然后这个主页会在浏览器中打开,作为应用程序的主窗口。

atom-shell 的程序入口则是一个 JavaScript 脚本,而不是直接指定一个 URL。你需要手动创建浏览器窗口,并通过相应的 API 加载 html 文件。你同时需要监听窗口事件以便决定何时退出应用。

因此,atom-shell 更接近 Node.js 运行时,API 也更加底层,你可以利用 atom-shell 进行 web 测试,类似 phantomjs。

2. 编译系统

atom-shell 使用 libchromiumcontent 访问 Chromium 的 Content API,这样编译 atom-shell 的时候就不用编译整个 Chromium (编译 Chromium 非常费时)。

顺便提一下,GitHub 开发者还创建了 brightray 库,让 libchromiumcontent 的使用更方便。

3. Node 集成

Node-Webkit 的 Node 集成需要给 Chromium 打补丁才能工作。atom-shell 通过集成 libuv loop 和 平台的 message loop 避免给 Chromium 打补丁。

4. Multi-context

Node-Webkit 创造了 Node context 和 web context 的概念,而 atom-shell 没有引入新的 context,而是直接使用 Node 的 Multi-context 特性(这一特性是 Atom 开发者赞助 Node 添加的)。

作者

GitHub 最初考察了 Node-Webkit,但是最终还是决定雇佣 @zcbenz 来开发想要的框架。于是 atom-shell 诞生了。

@zcbenz 真名赵成,是杭 JS 的讲师,有兴趣和他交流的可以报名 杭JS哦。

相关链接

atom-shell GitHub 主页

下载 atom-shell

atom-shell API 文档


编撰 SegmentFault

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/55127.html

相关文章

  • Meteor构建桌面应用

    摘要:之前写了如何是如果构建和应用构建应用和构建应用出了能使用在,,上面以外,还能用来构建桌面应用。怎么样构建桌面应用使用能够构建桌面系统,还要依赖与的快速发展。有几个可以构建桌面应用的类库主要使用的有改名为,。 之前写了如何是Meteor如果构建ios和Android应用,Meteor构建Android应用和Meteor构建ios应用,Meteor出了能使用在Web,ios,Android...

    netScorpion 评论0 收藏0
  • 互联网江湖,桌面客户端框架技术比武大会

    摘要:而且据笔者观察,钉钉也在最近舍弃了换成了作为桌面客户端开发框架。 By 技术怪咖 欧阳森林导读:在互联网时代,如何将一个好的idea快速的转化为产品,如何在原有产品中增加新的特性,是产品能够快速的推向市场、快速占领的关键。因此,作为客户端的架构选型,面临哪几方面的需求?资深前端工程师欧阳森林针对其专业领域的经验,有着自己独到的见解。 前言 自从互联网江湖上出现了一部叫做云的秘籍,大大小...

    JinB 评论0 收藏0
  • JavaScript 就要统治世界了?

    摘要:欢迎使用中文文档架构概览是网易项目团队开发的一个基于进行开发的应用层框架,提供了一个轻量级的容器来编写简单可维护的。 JavaScript 可以……嘛,不就是操作一下 DOM,可以让元素飞来飞去吗JavaScript 是……不就是用 jQuery 让网页动起来,顶多就是再用用 Ajax 和后端进行一下数据交换吗JavaScript 是一门……最讨厌和鄙视这种弱类型不需要编译的脚本语言...

    AbnerMing 评论0 收藏0
  • 从用 AngularJS 开发 PC 客户端说起

    摘要:你们说能不能就用的开发模式来实现客户端啊这样版版版就都有了。有道云笔记可能就是最贴近我们想法的产品,有客户端,有版。这个项目由发起和维护。 最近一个多月一直在用 AngularJS 做公司的一个项目(还没有做完),我之前主要是用 PHP 开发服务端的,AngularJS 也是现学现卖,整个过程还是比较有意义的,觉得很有必要写篇文章记录一下。 缘起 事情是这样的……我们团队的产品是一款 ...

    waltr 评论0 收藏0
  • 从用 AngularJS 开发 PC 客户端说起

    摘要:你们说能不能就用的开发模式来实现客户端啊这样版版版就都有了。有道云笔记可能就是最贴近我们想法的产品,有客户端,有版。这个项目由发起和维护。 最近一个多月一直在用 AngularJS 做公司的一个项目(还没有做完),我之前主要是用 PHP 开发服务端的,AngularJS 也是现学现卖,整个过程还是比较有意义的,觉得很有必要写篇文章记录一下。 缘起 事情是这样的……我们团队的产品是一款 ...

    Reducto 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<