0
点赞
收藏
分享

微信扫一扫

拥有这项技能的加持,97年的他,面试字节跳动一次过

诗与泡面 2022-02-25 阅读 66

 正如 Electron 官方所说“如果你可以建一个网站,你就可以建一个桌面应用程序”。 拥有这项技能的加持,97年的他,面试字节跳动一次过_客户端

作为一个​跨平台的桌面应用开发框架​,Electron 的迷人之处在于,它是建立在 Chromium 和 Node.js 之上的 —— 二位分工明确,一个负责界面,一个负责背后的逻辑,构成了一个​成本低廉却十分高效的优秀“集成框架”​。


如果用一张图来直观诠释 Electron 的强大之处,就是下面这样。

拥有这项技能的加持,97年的他,面试字节跳动一次过_客户端_02



但是,不同系统间还是会有很大的差异,需要相应地做一些额外处理,使得打包出的应用在不同系统下都能正常运转。但相比于 80% 都能完全复用的代码,这些成本几乎可以忽略不计。


所以,对 Web 前端开发者来说,​用 Electron 开发多平台客户端的成本非常低​。​ ​而且,Electron 是基于 Node.js 的,这就意味着,​Node 这个大生态下的模块,Electron 都可以用​。同时,跨平台也让​ Electron 可同时开发 Web 应用和桌面应用​,无论是 UI,还是代码,很多资源都可以共享,大幅减少了开发者的工作量。 作为目前非常热门的技术,Electron 在 GitHub 上已经有 ​8W+ star​ 了,很多应用都是用 Electron 开发的,比如字节跳动的飞书、Slack、VS Code、Atom、Skype、WhatsApp、支付宝小程序 IDE(蚂蚁开发者工具)等。

        拥有这项技能的加持,97年的他,面试字节跳动一次过_前端工程师_03       


与此同时,包括蚂蚁金服、小米、华为、GitHub、微软在内的​很多大厂都在使用 Electron​。因此,学好 Electron ​是你日后跳槽加薪的加分项​,毕竟,大厂都在用。 

如何高效使用 Electron?

 ​用 Electron 写一个简单的桌面端应用并不难,有一定 JavaScript 基础的话,可能只要半小时。但要做一个项目,就没那么容易了:​ 首先,​Electron涉及的技术栈比较多​,不仅需要了解客户端知识,在客户端中使用Node.js、集成C++、Rust等三方库,还会涉及到多进程概念等等,对于基础薄弱的前端工程师不太友好。 而且在实际开发项目中推行 Electron,​工程化建设流程上有很多技术关键点和坑​,需要丰富的实战经验来化解。 这些问题,我也曾遇到过。都知道光理论是不够的,还是要落地,是了解其在​工程化建设方面具体应该如何推进​。 但这种实践不是谁都愿意共享的,如今的各大厂里,美团大象应该是比较早的一批用 Electron 做大型项目的团队,这个团队的负责人​「邓耀龙」​,我之前听过他在 Qcon (全球软件开发大会)的分享,当时就很受启发。 后来听说他开了个​《Electron 开发实战》视频课​,我第一时间就订阅了,毕竟这种内部经验难得能公开。先分享一张邓耀龙总结的​「Electron 核心知识图谱」​,从全局了解下 Electron 要掌握什么。


拥有这项技能的加持,97年的他,面试字节跳动一次过_前端工程师_04 

举报

相关推荐

0 条评论