使用Atom Shell创建跨平台桌面应用程序

1. Atom-shell是什么?

Atom Shell是一套开源的桌面应用构建框架,使用它能够将 HTML + JavaScript + CSS 的程序打包成跨平台的桌面应用程序。它基于node.js Chromium并且已经应用于Atom editor。你可以把它看作是Node.js运行时的变体,但是它关注的是桌面应用而不是WEB服务器。这并不意味着atom-shellJavascript绑定到GUI库,恰恰相反,它把web页面当做了自己的原生界面,因此你可以把它当做是用Javascript控制的Chromium小巧浏览器。

2. 有关浏览器端

如果你有使用Node.js 开发web应用的经验,那么你应该知道有两种Javascript脚本:服务器端和客户端。服务器端Javascript运行在Node.js 运行时上,而客户端运行于浏览器上。

在atom-shell中,也有类似概念:从web页面展示atom-shell的窗口时,就已经有脚本运行在web页面上,并且这些脚本运行在atom-shell运行时,运行时用来创建这些页面。就像Node.js,我们称之为客户端脚本和浏览器端脚本(这意味着浏览器代替了服务器端概念)。

在传统的Node.js应用中,服务器和客户端得通讯一般都是使用web sockets,在atom-shell中,有专门的ipc模块用来做通讯,并且远程模块比较容易支持RPC。 继续阅读