【急】关于 CefSharp,有过成功开发经验的吗?

【急】关于 CefSharp,有过成功开发经验的吗?,第1张

我也有同样的问题。CEFSHARP在vs2013中编译通过,但在XP上运行不正确。使用XP系统安装VS2010不能正确编译,我也想找一个早期的版本。

另,使用webkit.NET是可以在XP上开发和运行的,但是它不支持FLASH,不满足我的需求。

在项目中需要在桌面应用程序中内嵌浏览器, 尝试了几种解决方案,有:javafx, DJNativeSwing,CEF等。觉得CEF效果最好。本文目的是介绍如何编译和使用jCEF。

主要参考和翻译了这篇文章java-cef

背景说明

什么是CEF?

CEF是Chromium Embedded Framework的缩写,是个基于Google Chromium项目的开源Web browser控件,支持Windows, Linux, Max平台。除了提供C/C++接口外,也有其他语言的移植版。比如JCEF。

因为基于Chromium,所以CEF支持Webkit &Chrome中实现的HTML5的特性,并且在性能上面,也比较接近Chrome。

谁在用CEF?

各种浏览器

早期的双核浏览器(IE + Webkit),有些使用了CEF来作为Webkit内核浏览器控件。

不过对于浏览器来说,直接在Chrome上面扩展,其实才是王道,大家现在都这么做了(各种极速浏览器)。

Evernote Client (on Windows)

Evernote允许用户将网页粘贴到笔记中,还提供了插件用来将网页保存为笔记。

那肯定是需要在Client上面可以正确的渲染页面咯,这个任务就交给了CEF。

GitHub Client (on Windows)

GitHub也打包了libCEF.dll,从表现上面看,用来展示项目的ReadMe页面的,肯定是CEF,其他地方的UI,可能部分也是用页面来实现的。

QQ

QQ很早之前就通过内嵌IE来实现一些功能和界面。从2013年开始,QQ引入了CEF,对一些之前用IE的地方进行了替换,这样就可以使用一些基于Webkit的新特性,同时也获得了速度、稳定性、兼容性方面的优势。

什么是JCEF?

简单来说,JCEF是对CEF进行了一层Java封装。使用JNI调用CEF的功能。目标是让java开发者能够使用CEF框架来开发web browser控件。

如编译和使用JCEF?

目前JCEF保持了一个开发分支对CEF进行跟进,在不断的develop中。我们可以下载JCEF源码按照下面的步骤手动编译。

1. 准备环境

需要编译JCEF需要你的电脑上有如下的开发环境:

CMake version 2.8.12.2 or newer.

Git.

Java version 1.7 or newer.

Python version 2.6 or newer.

对于linux系统,下面几个发行版是支持的:

Debian Wheezy, Ubuntu Precise, and related.

对于windows系统:

因为JCEF的开发者用Visual Studio 2013 作为开发工具,所以你得准备一个VS2013 来编译JCEF,否则用其他的编译器可能会出问题。

对于MAC系统:

需要Apache Ant

2. 下载JCEF源码

使用git下载JCEF源码:

#The JCEF source code will exist at `/path/to/java-cef/src`

cd /path/to/java-cef

新建MFC的对话框工程,在对话框编辑界面添加一个按钮,双击按钮,添加按钮的消息处理函数。 在这个函数里,把你main函数里的一堆东西全添加进去。这样,点击按钮,就是执行你这个main函数一样的内容的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11452894.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存