作者介绍

刘晓伦liulun,资深桌面端开发工程师。目前在一家大型国有控股上市公司任职,主要负责桌面端产品的核心技术研发、重难点技术攻关,以及新技术的预研和技术储备工作,拥有十几年的软件开发经验,在 Electron 、 Qt 、 CEF 等领域都有较深的知识积累。

现已出版两本与桌面端编程相关的技术图书:《Electron 实战:入门、进阶与性能优化》 和 《深入浅出 Electron:原理、工程与实践》

CEF 桌面软件开发实战 - 刘晓伦liulun - 掘金小册由浅入深,体系化知识与实战技巧并重,带你进入 CEF 桌面应用开发世界。「CEF 桌面软件开发实战」由刘晓伦liulun撰写,546人购买https://s.juejin.cn/ds/rA5Kvqs/

小册介绍

目前市场上很多知名应用都使用 CEF 框架构建 GUI 界面,比如网易云音乐、微信 PC 端、QQ 桌面端、MATLAB、 FoxMail、OBS Studio 等。

CEF 是 Chromium Embedded Framework 的简写,顾名思义,这是一个把 Chromium 嵌入其他应用的框架。这个开源项目是 Marshall Greenblatt 在 2008 年创立的,由 C/C++ 编写而成,它通过提供稳定的 API 来避免开发者被 Blink、V8、Chromium 等复杂的代码逻辑所困扰。CEF 非常注重开发者的使用体验,很多功能都有默认实现方式,遵从约定优于配置的原则,开发者可以很轻松地驾驭 CEF 框架。

CEF 是一个商业授权非常友好的开源项目,它采用的是 BSD 授权协议,这也是那么多大厂都选择 CEF 作为桌面端开发框架的原因。据 CEF 官网数据,CEF 框架装机量已经超过了 1 亿,这个数据量还是挺惊人的。

那到底如何使用 CEF 框架来开发桌面端软件呢?

这就是我们这本小册主要解决的问题。本小册力争以一个平缓的学习曲线,由浅入深,带领 C/C++ 开发者和前端开发者,学会 CEF 框架的基础知识实战技巧

你会学到什么?

基于 CEF 框架开发桌面应用涉及到的知识非常多,从现代前端开发知识到操作系统底层控制知识,无一不在其涉及范围内;而 CEF 的官网文档又假定读者都了解这些知识,仅仅蜻蜓点水地介绍 CEF 框架的 API ,大部分知识都隐藏在 CEF 示例项目的代码和注释中。因此,对于初学者来说,就很难循序渐进地学习如何使用 CEF 框架开发桌面应用的知识。

正是基于以上客观因素和学习痛点,本小册会从如何搭建 CEF 开发环境、如何使用 CEF 框架构建第一个窗口讲起,一步一个台阶地带领你逐步学习与 CEF 框架有关的知识。

当然,本小册中不仅仅包含如何使用 CEF 框架提供的各项 API 完成桌面应用的需求,还包括很多最佳实践,比如,如何把跨进程通信封装成 JavaScript Promise 风格的 API,如何使用 JavaScript 访问 SQLite 数据库,等等。

本小册详细的 知识结构图 如下所示:

总体来说,本小册可以为你带来如下改变收获

  • 了解 CEF 框架的运作原理与核心逻辑;
  • 有能力使用 CEF 框架开发一个完整的桌面应用;
  • 娴熟驾驭 CEF 框架涉及到的重点、难点知识;
  • 掌握多种 CEF 框架开发桌面应用的实战技巧;
  • 更得心应手地把前端生态体系或 C/C++ 生态体系下的组件引入到桌面应用领域。

适宜人群

使用 CEF 框架开发桌面应用主要涉及两大领域的知识:前端开发知识、C/C++ 开发知识。

  • C/C++ 开发者可以很容易地基于 CEF 开发桌面应用的底层逻辑,但如何把这些底层逻辑与前端技术很好地结合却略显力不从心。

  • 前端开发者可以很容易地基于 CEF 开发丰富多彩的界面 UI,但又很难让这些界面元素来控制操作系统底层 API 的行为。

所以说,本小册主要面向这两类读者:

  • 有一定基础的 C/C++ 开发者,略懂前端开发知识
  • 有一定基础的前端开发者,略懂 C/C++ 知识

另外,如果你是一个习惯于以平缓的学习曲线,循序渐进、按部就班、一步一个台阶来学习知识的人,那么这本小册也非常适合你。我花了很大精力为每个章节安排关键知识点,难易程度由浅入深,章节和章节之间知识的衔接性也非常强,相信这会非常利于你的理解和实践。

CEF 桌面软件开发实战相关推荐

  1. 【CEF】《CEF 桌面软件开发实战》笔记-汇总

    一.入门知识 基于 CEF 开发桌面应用有其独特的配置要求,比如运行库必须配置为 MTD/MT ,而不能是 MD/MDd 等. CEF 是 Chromium Embedded Framework 的简 ...

  2. vue 拖动 datatransfer 问题_electron-vue跨平台桌面应用开发实战教程(四)——窗口样式amp;打开新窗口...

    > 本文我们讲解下怎么修改窗口样式,系统默认的窗口非常普通,通常与设计不符,所以我们要自定义,接下来我们讲解下怎么去掉原有样式,怎么实现实现窗口的最小化,最大化和关闭按钮.还有怎么打开一个新页 ...

  3. 好书推荐——《Modbus软件开发实战》

    技术类书籍写得好不好,一个评价标准是看作者是不是为读者而写的,有的书直接翻译英文用户手册,或者复制别的书里的内容,可能作者都没琢磨过.有的书自说自话,堆砌内容,读者觉得难以理解的知识点,作者却一带而过 ...

  4. c++为什么适合桌面软件开发?

    C++适合桌面开发?这个不见得,要看是什么系统了,如果是Windows系统,那么C#或Delphi可能更合适,如果考虑到性能和跨平台性,那么Qt等C++框架可能更合适,下面我分别简单介绍一下,感兴趣的 ...

  5. 桌面软件开发的复杂性在哪里,一个程序员能完成一个桌面软件开发吗

    桌面软件开发的复杂性在哪里,一个程序员能完成一个桌面软件开发吗.这个估计是很多软件开发外行人士的疑惑.而事实就是一个程序员完成不了一个桌面软件开发这个是为什么,桌面软件开发很复杂吗. 目前软件公司普通 ...

  6. 基于Qt Designer和PyQt5的桌面软件开发--环境搭建和入门例子

      本文介绍了如何使用技术栈PyCharm+Qt Designer+PyQt5来开发桌面软件,从环境搭建.例子演示到对容易混淆概念的解释.文中用到的全部软件+代码下载链接为:https://url39 ...

  7. modbus软件开发实战指南_C++核心准则?GSL:指南支持库

    GSL: Guidelines support library GSL:指南支持库 The GSL is a small library of facilities designed to suppo ...

  8. java培训学习之Java桌面软件开发

    大家都知道Java软件开发工具有很多,本文面向 Java 技术新手,它描述了创建各种类型的桌面应用程序所涉及的技术以及您可能决定何时使用它们. 要使用本文中的任何技术,您必须 在计算机上安装Java ...

  9. [AAQuto-v30.2.7] aardio桌面软件开发工具+一键发布为绿色软件+生成独立EXE执行文件

    介绍 aardio是专用于桌面软件快速开发的新一代混合型编程语言,aardio支持COM动态.静态接口.支持标准DLL组件,兼具动态.静态语言优势,兼容流行C系语法.Pascal语法,学习成本最低. ...

最新文章

  1. 湖南工程师用中文编写操作系统,还发明了甲、乙、丙语言???
  2. mysql表大小限制_技术分享 | 在磁盘上查找 MySQL 表的大小
  3. xpath 第一个元素_XPath
  4. 35.页面置换算法有哪些?
  5. 如何使用 C# 中的 Tuple
  6. html流动海报css,海报网css代码怎样把模块移到右面?最好把代码直接给我!嘿嘿。...
  7. Hashtable 和 HashMap 的区别
  8. Scanner、String(java基础知识十二)
  9. deepin,windows10双系统安装教程
  10. 文件系统以及硬盘分区概念
  11. 初识python导学案_驿路梨花导学案教师版
  12. Android View绘制流程
  13. 应届生应聘软件开发岗位推荐书籍
  14. Zabbix 分布式监控
  15. 人工智能相关技术的快速发展,主要带来了哪些价值优势?
  16. 汉明码生成过程图文详解
  17. 数字图像处理:(2)一阶微分和二阶微分在数字图像处理中的应用
  18. java统计excel数据_数据分析实战——EXCEL实现复购率计算
  19. Parameter 'propertyName' not found. Available parameters are [propertyInformation, id, param1, para
  20. echart实现地图的逐级钻取

热门文章

  1. TOP100summit 2017:【案例分享】魅族持续交付平台建设实践
  2. 中秋发祝福?一套程序让你成为【相亲相爱一家人】群里最靓的仔
  3. linux加锁文件删除,Ubuntu上用杀死Apt-get及删除锁定文件来修复could not get lock错误...
  4. 无法打开文件opencv_world341d.lib
  5. 新版飞康CDP、NSS全新功能完全解读
  6. 浙江嵊州根雕传承路:政府艺人联心 演绎“小城大艺”
  7. 我们计划招收300位生信人,免费攻读发论文技巧!
  8. 推荐一些好用的视频处理工具
  9. 动手学深度学习Kaggle:图像分类 (CIFAR-10和Dog Breed Identification), StratifiedShuffleSplit,数据集划分
  10. TS第一讲-----基础类型