CEF 是什么?为什么我建议你要学 CEF?
CEF 是什么?为什么我建议你要学 CEF?
最近我们上线了一本《CEF 桌面软件开发实战》的小册,新鲜出炉中,这过程中有小伙伴对 CEF 接触不多但还挺好奇的,所以借此契机今天我们就来聊聊 CEF 及我对该领域的一些看法吧。
关于桌面端软件
有很长一段时间,互联网大厂都在争夺用户的入口,都希望能在用户的电脑上部署一个长期运行的软件,这样就能在任何时候使自己的服务直接触达用户(360 和 QQ 之间的战争就是在那个时候发起的)。
这是因为通过浏览器为用户提供服务太被动了,用户主动来找你,你才可以为他提供服务;用户不找你,你就没有机会,也没有能力为用户提供服务。这是浏览器的本质,任谁也改变不了。只有绕开浏览器才行,而绕开浏览器的办法只有一个,就是自己提供本地应用。
现在移动端已经基本上达到了这个效果,用户打开手机,使用的基本上就是那么几个固定的 App,一般不会在移动端浏览器上花费太多时间。
PC 端的几个重要领域也已经被本地应用占领了,比如,邮件客户端、即时通信、音乐播放器、游戏、文字排版工具、团队协作工具等,然而 PC 端的本地应用显然没有移动端的本地应用丰富多彩。
这并不是因为 PC 端没落了,相较而言,PC 端在便携性方面确实不如移动端,但不得不说 PC 端拥有它自己独特的优势,比如,更大的可视区域
、更快捷多样的输入输出接口
、更强劲的性能支持硬件
等,现在 PC 端正在向着更专业、更精细的方向发展。
这是一个螺旋上升
的过程,移动端的社交和娱乐属性被发挥到淋漓尽致之后,用户和厂商的注意力就会转移到 PC 端来。
所以说,掌握 PC 端开发的技能是非常有必要、非常有前景的。
关于前端从业者
自 JavaScript 诞生至今已经有 20 多年了,前端开发技术在软件行业大放异彩,它以入门门槛低、容易上手、容易进阶等优点吸引了一大批从业者,再加上这么长时间的发展,一个成熟、稳定、繁荣的生态社区已经形成了。这使得更多软件从业者涌入这个领域,造成了今天内卷问题严重的现象。
很多大厂招人都有非常苛刻的条件,比如,非 985、211 名校毕业的不要
,超过 XX 年龄的不要
,工作经验未满 XX 年的不要
,等等。实际上这怪不得大厂 HR,确实是竞争某个岗位的人实在太多了。
我对这个现象的思考是:前端工作成果太贴近用户了,用户的需求是五花八门的,只要有需求的地方就有商业,就有满足这些需求的产品,就需要前端从业者。
3~5 年前这类需求持续得不到满足,导致这个领域的薪资也水涨船高,开发者看到这个现象后纷纷来“献人头”;而现在需求被填平了,还富余很多人力,内卷的现象也就出现了。
这就像农民养猪,去年年底猪肉价格很高,于是今年所有农民都开始养猪,导致今年年底猪肉价格大跌。
更恐怖的是,人力资源可不像猪肉,消耗掉就没有了,人力资源是始终在那里的,这会导致什么现象呢?
我觉得会出现两个现象:分工和溢出。
- 有些人去搞 React、Vue,有些人就去搞 Rollup、Webpack,这就是分工。
- 有些人
用前端技术搞后端
(Node.js、Deno),有些人用前端技术搞桌面端
(Electron、CEF),还有些人用前端技术搞人工智能
(TensorFlow.js),这就是溢出。
从另一个角度看,未来前端从业者还会向农林牧副渔等行业溢出。
我认为朝着分工这个方向,路会越走越窄,最终变成流水线上的工人,守着一小块东西反反复复做,虽然在某个领域堪称专家,但实际意义不大,有同类技术出现时很容易被替代。但朝着溢出这个方向做,只要选对了溢出方向,路会越走越宽,而且竞争压力小,持续开疆拓土,输出价值
。
因此,当时我写这门课程就是希望能把你从内卷的漩涡中拉出来,让你使用既有的前端技能开拓新的世界。
很多大厂都选择 CEF 作为桌面端开发框架
CEF 是 Chromium Embedded Framework 的简写,顾名思义,这是一个把 Chromium 嵌入其他应用的框架。这个开源项目是 Marshall Greenblatt 在 2008 年创立的,由 C/C++ 编写而成,它通过提供稳定的 API 来避免开发者被 Blink、V8、Chromium 等复杂的代码逻辑所困扰。
- CEF 非常注重开发者的使用体验,很多功能都有默认实现方式,遵从约定优于配置的原则,开发者可以很轻松地驾驭 CEF 框架。
- CEF 是一个商业授权非常友好的开源项目,它采用的是 BSD 授权协议,这也是那么多大厂都选择 CEF 作为桌面端开发框架的原因。
据 CEF 官网数据,CEF 框架装机量超过 1 亿,但依我看这个数据过于保守了,毕竟很多大家耳熟能详的桌面端应用都在使用 CEF 框架:QQ 桌面端、微信桌面端、网易云音乐桌面端、 MATLAB 、 FoxMail 、OBS Studio 等。也就是说,很多人的电脑上不止有一个 CEF 框架支持的项目。
介绍到这里你可能也就 get 到我们题目中那些疑问的答案了。确实,学习和努力是一方面,看得长远是另一方面,特别是在这个内卷的社会,我们都想出类拔萃、都想走捷径,我的建议是有时候也要停下来看看周遭、思考下,也多拓展自己的技术宽度,这对你会是事半功倍的。
至于小册具体的其他设置信息我就不介绍太多了,你可以看你自己心情和需要,跳转到「课程详情页」和「试读」去自主查看详情信息。比较 nice 的是,本小册对读者的技术要求不高,具备一点点 C++ 基础知识、基本的前端开发知识即可加入。很欢迎你的加入,小册是力争以一个平缓的学习曲线
,一步一个台阶地带领你学会 CEF 框架的基础知识和实战技巧。
跳转可以直接戳下面 :