使用 Electron 与 Offline HTML5 进行离线应用
Using Electron vs. Offline HTML5 for an offline application
在查找 Electron 和 Offline 时 HTML5,我发现很难决定在项目中使用哪一个。
假设用户必须去某个网站下载 Electron 应用程序,并且必须去同一个网站才能加载离线 HTML5,两者之间的优缺点是什么用一个代替另一个?
我能想到的一些:
- 离线 HTML5 无需用户有意识地更新他们的应用程序,只需让用户再次访问在线页面即可更新。
- Electron 将消除围绕多个 browser/browser 版本依赖性和怪癖进行编码的需要
这真的取决于您的具体要求。以下是我想出的所有内容的列表:
- electron 在主进程和渲染进程中都支持模块系统(即
require
)。
- electron 为您提供 OS API 的访问权限(例如
fs
)。没有这么多节点模块将无法在浏览器的 JS 运行时工作(例如 ip
)。
- 使用 Electron 更新您的应用就像发送一个 http request. (or even better as described here)
- 一个 HTML 5 离线应用程序需要一个浏览器,用户可能只是给它 IE6.
- electron 与本机桌面环境集成(有关示例,请参阅 dialog, power-save-blocker, shell or even app)
- electron 增强了 HTML5 API 中的某些功能,例如
file
API
- electron 允许您修改底层 chromium 的默认行为。例如,您可以 intercept 所有具有
file
方案的 URL 并即时修改它们*。
简而言之,如果您希望您的应用具有良好的本机集成并具有确定性(即没有浏览器怪癖),我建议选择电子。
*electron-jade
例如使用 protocol
API 即时编译所有以 .jade
结尾的文件,无需事先编译。
免责声明:我是 electron-jade
.
的开发者
在查找 Electron 和 Offline 时 HTML5,我发现很难决定在项目中使用哪一个。
假设用户必须去某个网站下载 Electron 应用程序,并且必须去同一个网站才能加载离线 HTML5,两者之间的优缺点是什么用一个代替另一个?
我能想到的一些:
- 离线 HTML5 无需用户有意识地更新他们的应用程序,只需让用户再次访问在线页面即可更新。
- Electron 将消除围绕多个 browser/browser 版本依赖性和怪癖进行编码的需要
这真的取决于您的具体要求。以下是我想出的所有内容的列表:
- electron 在主进程和渲染进程中都支持模块系统(即
require
)。 - electron 为您提供 OS API 的访问权限(例如
fs
)。没有这么多节点模块将无法在浏览器的 JS 运行时工作(例如ip
)。 - 使用 Electron 更新您的应用就像发送一个 http request. (or even better as described here)
- 一个 HTML 5 离线应用程序需要一个浏览器,用户可能只是给它 IE6.
- electron 与本机桌面环境集成(有关示例,请参阅 dialog, power-save-blocker, shell or even app)
- electron 增强了 HTML5 API 中的某些功能,例如
file
API - electron 允许您修改底层 chromium 的默认行为。例如,您可以 intercept 所有具有
file
方案的 URL 并即时修改它们*。
简而言之,如果您希望您的应用具有良好的本机集成并具有确定性(即没有浏览器怪癖),我建议选择电子。
*
electron-jade
例如使用 protocol
API 即时编译所有以 .jade
结尾的文件,无需事先编译。
免责声明:我是 electron-jade
.