转载自: https://github.com/atom/electron/blob/master/docs/development/atom-shell-vs-node-webkit.md
Technical Differences Between Electron and NW.js (formerly node-webkit)
Note: Electron was previously named Atom Shell.
Like NW.js, Electron provides a platform to write desktop applications with JavaScript and HTML and has Node integration to grant access to the low level system from web pages.
But there are also fundamental differences between the two projects that make Electron a completely separate product from NW.js:
1. Entry of Application
In NW.js the main entry point of an application is a web page. You specify a main page URL in the package.json
and it is opened in a browser window as the application's main window.
In Electron, the entry point is a JavaScript script. Instead of providing a URL directly, you manually create a browser window and load an HTML file using the API. You also need to listen to window events to decide when to quit the application.
Electron works more like the Node.js runtime. Electron's APIs are lower level so you can use it for browser testing in place of PhantomJS.
2. Build System
In order to avoid the complexity of building all of Chromium, Electron uses libchromiumcontent
to access Chromium's Content API. libchromiumcontent
is a single shared library that includes the Chromium Content module and all of its dependencies. Users don't need a powerful machine to build Electron.
3. Node Integration
In NW.js, the Node integration in web pages requires patching Chromium to work, while in Electron we chose a different way to integrate the libuv loop with each platform's message loop to avoid hacking Chromium. See the node_bindings
code for how that was done.
4. Multi-context
If you are an experienced NW.js user, you should be familiar with the concept of Node context and web context. These concepts were invented because of how NW.js was implemented.
By using the multi-context feature of Node, Electron doesn't introduce a new JavaScript context in web pages.
相关推荐
此外,Atom 提供了丰富的个性化选项,用户可以通过设置来调整 Atom-atom-format-shell 插件的默认格式规则,如缩进空格数、是否保留行尾空白等,以满足个人喜好和团队编码规范。 总结来说,Atom-atom-format-shell ...
为 Atom-Shell 安装和构建 npm-modules。 如果您正在处理 Atom-Shell 项目,则aspm被设计为npm的替代品。 警告:目前可能不可靠。 目录 动机 有几种方法可以为 atom-shell 构建模块,但没有一种方法非常适合我...
Node-Webkit 创造了 Node context 和 web context 的概念,而 atom-shell 没有引入新的 context,而是直接使用 Node 的 Multi-context 特性(这一特性是 Atom 开发者赞助 Node 添加的)。 作者 GitHub 最初...
Atom-atom-import-js 是一个专为 Atom 文本编辑器设计的插件,它与 Galooshi/Atom 社区紧密相连,旨在提升开发者的工作效率,特别是处理JavaScript代码时的导入功能。Atom是一款由GitHub开发的现代、可高度自定义的...
gulp-build-atom-shell ====================== ** 由于错误,目前无法在 Windows 上下载版本。 ** 用于为 Fireball 项目构建 atom-shell 的 gulp 插件。 这不是适用于任何 atom-shell 应用程序的 npm 包。 它将...
Yeoman npm install -g yo自耕农发电机要从 npm 安装 generator-atom-shell,请运行: npm install -g generator-atom-shell 最后,启动生成器: yo atom-shell应用程序此生成器的默认安装后挂钩是构建和启动 ...
"Atom-node-feedsub"是一个与Atom编辑器相关的项目,它专注于RSS、Atom和JSON提要的订阅及新项通知功能。标题中的".zip"表明这是一个压缩包,其中包含了该项目的相关源代码和资源。 【描述详解】 描述中提到的"Atom...
以简单的方式从 GIT 构建带有品牌标识的 Atom-shell 启动器,包括图标和其他资源。 为什么? 在 Atom-shell ,提到完整的品牌重塑意味着从源代码编译 atom-shell。 有一个可以让我们自动处理这个。 但是,它不支持...
在编程过程中,经常需要在不同的关键字或代码片段之间进行快速切换,Atom-atom-toggle就是为了满足这种需求而设计的。它允许用户定义一组关键字或代码模式,通过快捷键或者特定的命令,可以在这些预设的关键字间迅速...
这个压缩包"Atom-atom-markdown-toc-auto.zip"包含了一个名为"atom-markdown-toc-auto-master"的项目,该项目是一个专门为Atom编辑器设计的插件,用于Markdown文档的处理。 Markdown是一种轻量级的标记语言,它允许...
应用程序将在build/[platform]/atom-shell (在 OS X 上为build/darwin/atom-shell或在 Windows 上为build/win32/atom-shell )。 我从哪里获得我的 API 密钥? 要使用此应用程序,您需要提供您的 FastBill 用户名...
通过Atom-atom-miniprettier,开发者可以专注于编写代码,而不用分心去关心代码的格式问题,从而提高工作效率,保持代码的整洁性和一致性。无论你是初学者还是经验丰富的开发者,这个插件都是提升代码质量的得力助手...
总之,Atom-atom-pdf-view 提供了一种方便的方式来在 Atom 中查看 PDF 文件,使开发者和研究人员能够在他们熟悉的编辑器环境中高效地工作,而无需依赖其他专门的 PDF 查看软件。这个插件的出现,充分体现了 Atom ...
这个“Atom-atom-photon-dark-syntax”主题,正如其名,是专门为Atom编辑器设计的一款暗色主题,特别关注代码的视觉效果和阅读体验。 "Photon Dark Syntax"主题旨在改善代码在低光照环境下的可读性,通过深色背景和...
"Atom-atom-arc-dark-ui,arc dark"是针对Atom编辑器的一个UI(用户界面)主题,设计风格为深色系,旨在提供舒适且对眼睛友好的编码环境。这个主题由Lioneil为Atom社区贡献,增加了编辑器的美观性和个性化选择。 在...
然而,当用户在不同设备间切换工作时,手动重新配置和安装这些插件可能是一项繁琐的任务,这就是 Atom-atom-package-sync 插件应运而生的原因。 "atom-package-sync-master" 这个子文件名可能是该插件的源代码仓库...
从Git构建atom-shell,并重建本机模块。 这是grunt-download-atom-shell的主要替代品,因为您可以在Atom构建过程中的同一时间用此软件包替换对它的使用。 为什么我还要这样做? 这样做的主要原因是由于在Windows上...
#hello-atom-shell atom-shell hello-app 应用程序到 Clojurescript 的端口。 hello-app 可以在 atom-shell 快速入门页面看到:
在使用 Atom-atom-project-manager 时,用户需要注意保持 Atom 和插件的更新,以获取最新的特性和修复。通常,这些更新可以通过 Atom 内置的包管理器完成。同时,如果遇到问题或有新功能需求,可以向开源社区提交 ...
Atom-atom-ui是一个专为Atom文本编辑器设计的用户界面库。Atom,作为一个基于Web技术的开源文本编辑器,以其高度可定制性和...了解和掌握Atom-atom-ui的使用和开发,对于提升Atom的使用体验和开发效率具有重要意义。