手头上有个项目需要做浏览器的相关功能,评估了几个嵌入式方案最后选定CEF作为开发基础。
在入坑新技术的时候第一选择是去官网学习,这是一个非常好的习惯。
CEF官网(请科学上网)
在官网上有详细的介绍,英文苦的兄弟可以谷歌翻译大概意思是对的。必须仔细阅读。
CEF的维基百科
什么是CEF:
Chromium嵌入式框架(CEF)是一个将基于Chromium的浏览器嵌入到其他应用程序的简单框架。支持Windows, Linux, Mac平台。除了提供C/C++接口外,也有其他语言的移植版。
其实可以理解CEF是个基于Google Chromium项目的开源Web browser控件
CEF的历史:
CEF有两种版本的Chromium Embedded Framework:CEF 1和CEF 3
在Chromium Content API出现后,CEF 2的开发被放弃。
CEF 1是基于Chromium WebKit API的单进程实现。它不再积极发展或支持。
CEF 3是基于Chromium Content API的多进程实现,其性能类似于Google Chrome。
CEF能做什么:
可以做一个QQ浏览器如果你有这个精力。
可以做一个跨平台的桌面底层方案。已经有类似实现 https://electronjs.org/
国内很多知名互联网公司的客户端产品都在使用类似技术。
选择的版本:
综上所述我们选择CEF3作为我们的开发基础。采用C++作为开发语言。使用其他语言的兄弟可以参考对应语言的项目。
例如:.Net(CEF3) - https://github.com/cefsharp/CefSharp
更多语言在官方文档有详细描述。
开发环境:
硬件配置:AMD Ryzen 7 1700 16核 + 64G内存 + 512固态硬盘
硬件环境不是必须要求 但应保证8G内存 和 4核心以上处理器。
以上硬件配置是为了保证编译cef+Chromium核心代码更快速。
cef有对应的二进制打包发布版本,使用这个版本是不需要编译Chromium源码的,看自己需求一般情况这种方式足够满足我们的开发需求。
二级制打包地址
操作系统:Windows10 专业版 64位 1709
SDK: 10.0.15063.674
IDE: Visual Studio 2015 企业版
 
预计下一篇:
CEF小白人系列2-DEV环境配置-Windows10
 
学习交流:
QQ群:14764183
加入验证标注 cef入坑。
 
问题:
Q:为什么作者选择 Visual Studio 2015 而不是 Visual Studio 2017 ?
A:这是因为作者的工作需要,我会选择特定的CEF版本而不是最新版本。
Q:怎么科学上网?
A:这我没办法回答,自行百度。
 
其他:
文章风格尽量短小,一个知识点一篇文章,尽量图文并茂。
欢迎转载请注明出处。

CEF小白人系列1-认识CEF的更多相关文章

  1. CEF小白人系列2-DEV环境配置-Windows10+SDK+VS2015

    以下资料整理来自CEF官方教学.作者做了翻译和整理.并会以一种重事件操作的方式来一点点入门. 3个问题: 在上一篇内容中我们了解了什么是CEF,能干些什么.必要的物理学习环境. 下面我们也是以带着问题 ...

  2. 小白成长系列--HTTP协议(一)

    序:小白成长系列是笔者使用最简单易懂的逻辑来解释常见的计算机相关知识,不仅理解,还让你记忆深刻\(^o^)/ 先理解什么是协议? 协议就是双方要做某件事情而制定的规则,而且双方必须要遵从协议所约定的内 ...

  3. 单片机小白学步系列(二十) IO口原理

    IO口操作是单片机实践中最基本最重要的一个知识,本篇花了比較长的篇幅介绍IO口的原理. 也是查阅了不少资料,确保内容正确无误,花了非常长时间写的. IO口原理原本须要涉及非常多深入的知识,而这里尽最大 ...

  4. 单片机小白学步系列(十三) 点亮第一个LED——好的開始,成功的一半

    前面介绍了非常多概念知识.做了非常多准备工作,从这一节開始,我们正式開始单片机的学习.我们将使用单片机完毕一项非常easy的工作:点亮一个发光二极管(即LED:Light-Emitting Diode ...

  5. 单片机小白学步系列(十四) 点亮第一个LED的程序分析

    本篇我们将分析上一篇所写的程序代码.未来学习单片机的大部分精力,我们也将放在程序代码的编写上. 可是不用操心.我会很具体的介绍每一个程序的编写思路和各种注意事项等. 之前我们写的程序例如以下: #in ...

  6. 开源工作流管理系统节点接收人设置“指定节点处理人”系列讲解

    关键字: 驰骋工作流程快速开发平台 工作流程管理系统 工作流引擎 asp.net工作流引擎 java工作流引擎. 开发者表单  拖拽式表单 工作流系统CCBPM节点访问规则接收人规则 适配数据库: o ...

  7. 小北微信小程序之小白教程系列之 -- 样式(WXSS)

    为了适应广大的前端开发者,WXSS 具有 CSS 大部分 特性.同时为了更适合开发微信小程序,WXSS 对 CSS 进行了扩充以及修改.与 CSS 相比,WXSS 扩展的特性有:尺寸单位和样式导入. ...

  8. Redis小白入门系列

    一.从NoSQL说起 NoSQL 是 Not only SQL 的缩写,大意为"不只是SQL",说明这项技术是传统关系型数据库的补充而非替代.在整个NoSQL技术栈中 MemCac ...

  9. 性能工具之Jmeter小白入门系列之一

    一.简单了解 Apache JMeter The Apache JMeter application is open source software, a 100% pure Java applica ...

随机推荐

  1. [机器学习]模型评价参数,准确率,召回率,F1-score

    很久很久以前,我还是有个建筑梦的大二少年,有一天,讲图的老师看了眼我的设计图,说:"我觉得你这个设计做得很紧张".当时我就崩溃,对紧张不紧张这样的评价标准理解无能.多年后我终于明白 ...

  2. CCF系列之矩阵(201512-5)

    试题名称: 矩阵 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 创造一个世界只需要定义一个初状态和状态转移规则. 宏观世界的物体运动规律始终跟物体当前的状态有关,也就是说只要 ...

  3. MySQL Command Line Client显示中文的部分为空

    一连接数据库的时候就设置如下: 先设置 set names gbk,然后再插入就显示中文

  4. beetl模板引擎使用笔记

    maven项目pom: <dependency> <groupId>com.ibeetl</groupId> <artifactId>beetl< ...

  5. Intellij-工程目录下隐藏不想显示的文件和文件夹

    File-->Editor-->File Types

  6. mysql-SQL优化总结

    1.查询首先考虑在where和order by设计的列上建立索引,尽量避免全表扫描. 2.尽量避免在where子句中对字段进行null值判断,否则将导致引擎放弃使用索引而进行全表扫描. select ...

  7. 数据存储之HTTP Cookie

    Cookie (HTTP Cookie) 作用 HTTP本身是无状态的,客户端通过Cookie来存储会话信息 限制 cookie在性质上是绑定在特定域名下的 意思是说当设定了一个cookie之后,再给 ...

  8. Servlet--HttpServletRequest一些不常用的方法

    我们在使用Servlet和表单进行交互的时候,不管是传参和接参经常要写一些路径.关于具体的Servlet的传参和接参我后面会有详细的整理,这里先整理一下不怎么常用的到一些HttpServletRequ ...

  9. Web应用基础

    B-S架构 架构的发展 1,c/s架构 (client客户端-server服务端)         (胖客户端:要求客户端运行业务:把业务放到服务器端,则是瘦客户端)         典型的c/s应用 ...

  10. hibernate_xml映射exception

    错误原因:在通过hibernate指示生成两个表之间的外键关系之后,一个表中引用的外键不在另一个表的参考范围里面. 解决:使之满足参考完整性 org.hibernate.TransientObject ...