Electron 基础教程-1.4 为什么选择Electron

为什么选择Electron

既然你选择了这本书,肯定是为了项目需求开发桌面应用,亦或是纯粹的个人兴趣。

如果你曾开发过web应用,你应该对适配各种浏览器平台的痛苦历历在目。浏览器标准的适配过程经历了很多年,但web开发者仍要关注适配问题。对于那些与企业客户合作的开发者来说,更有可能被旧版浏览器和操作系统困扰。当你使用Electron开发时,你的应用中会有一个完整的Chromium引擎拷贝,因此你会十分明确应用所支持的特性以及内容渲染的效果。举个例子,如果你想使用Flexbox作为布局方案,在Electron应用中是安全的(见下图)。再例如想要使用Service Worker或者Fetch API,只要确认Electron是否支持即可。

1.1
Figure 1-1. The FlexBox support table from caniuse.com

虽然不再支持caniuse.com上的特性会令人失望,但也不排除这种可能性。

按照惯例,Electron大约在Chromium发布新版本后约两周更新,Node的更新通常会稍微长一些。当你着手去开发一个较大规模的Electron项目时,你应关注这两个组件的更新,可能某些新特性会使得开发工作更高效。但是别担心版本问题,一旦你打包你的应用,这些运行时环境都会被整合进去。

Electron的优势

Electron应用与其他桌面应用程序一样:安装在本地硬盘、直接在Windows的状态栏或OS X的Dock栏中启动、也不需要像使用web程序一样在浏览器中输入某个URL才能进入。当需要保存文件时,对话框也是本地交互的。Electron应用也完全支持鼠标拖放本地文件,甚至能将自身与文件类型相关联,因此当双击某类型文件时你的应用将会打开它。

也可以为各个平台的用户开发用户菜单,也允许用户在右键单击或按住control单击时调用上下文菜单。稍后的章节将会看到如何进行菜单开发。

如果需要触发系统级别的通知,可以使用Chromium的Notification API。Electron比传统桌面应用更先进,也可以开发只在菜单条或系统托盘上的程序。

Electron提供了一套可靠的框架,可以让你开发出一流的桌面应用。

超越沙盒环境

如果有过使用外部API开发的经验,你可能就会了解其中的一些限制。我们要与跨平台资源共享问题作斗争,或要建立代理来使得web应用正常工作。

在运行环境安全性方面,Electron比一般浏览器更加宽松。我们假定用户既然主动选择了安装和运行了应用,用户就和应用之间就建立了某种信任关系。

宽松的安全性环境使得应用更不受限制,但同时我们也要慎用这些权限。

离线优先

传统的web应用都假定用户是一直是在线状态的,如今这一状况在日益广泛的PWA(Progressive Web Apps,渐进式网页应用)中有所变化,但是一定程度的在线状态对也是程序运行所必须的。Electron采用相反的方式:不必要求应用保持网络连接。实际上本章是我在35000英尺高空、没有WiFi的飞机上写的,在完全离线模式下我依旧能够写作。即时你的应用后台依赖于网络通信,也能为其设计离线模式,一旦网络恢复再传输数据。你可能需要一些时间来体会这种设计模式对交互设计和程序开发的影响。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值