Java Chromium嵌入式框架(JCEF)。 一个简单的框架,用于使用Java编程语言在其他应用程序中嵌入基于Chromium的浏览器
JCEF项目地址:https://bitbucket.org/chromiumembedded/java-cef/src/master/
我使用JCEF是为了用它开发自己的桌面应用程序。相对于vc,vb,swing这些,使用浏览器外壳,利用网络上众多流行的Web UI开源框架(如Easyui)做界面无疑是最快的,这可以让我们有更多的时间去实现业务逻辑,而不用被那些该死的UI控件折磨。想一想,原先做个表格,一整套界面做完大半天过去了,现在,引入JS、CSS,一瞬间做出一个高大上的界面,效率不言而喻。
初次接触JCEF,光是编译就花了一天时间。接着发现在网上找不到什么中文资料,利用空闲时间靠不断的网络搜索加翻译英文帮助文档了解它。断断续续到现在,终于做出了自己想要的软件。
特意写这系列文章来给想学习JCEF的同学引路,也开源了自己的个人项目供大家参考:PowerOfLongedJcef
你渴望力量吗?JCEF==力量!
JCEF帮助文档在线地址【含中文翻译】:http://www.xuanyimao.com/jcef/doc/index.html(文档在百度网盘有)
关于翻译:前半部分使用翻译软件,后面的自己写了个程序自动翻译进去的,部分修正过,基本上没大问题,对照英文可以看懂(没办法,手动太累)
JCEF帮助文档【含中文翻译】、JCEF帮助文档原文件【html】、JCEF win64相关编译文件(其他版本请自行编译)下载地址:https://pan.baidu.com/s/1C7NyoNWEc7sph7GvZ1oaqg 提取码:hfk2
个人使用心得
优点:很强大,和谷歌浏览器差不多。
缺点:
1.JS调用java代码的方式让人很不习惯,可能是我没找到更好的方法,执行java方法得到的结果是通过回调得到,意味着var a=test();这样的语句得写成
var a;
window.test({
...
onSuccess:function(response){
a=response;
...
}
});
2.我目前没找到方法监听response返回的数据,这意味着类似获取url返回数据的操作很难实现,虽然可以通过脚本注入的方式,不过那样太麻烦
3.打开淘宝这样的网站容易卡死,这让我有时想放弃它(也可能是我代码有问题,哈哈)。不过我更期待它未来的版本会更加流畅,至少我感觉它是免费的里面的最牛的。
4.进很多视频网站不但卡,还播放不了。所以,不建议用它来开发浏览器。
为什么要使用JCEF?
因为强大,免费开源。如果资金宽裕,可以考虑JxBrowser,个人感觉不错,但是因为没钱,放弃了。有兴趣的可以去申请个免费的许可证,体验下JxBrowser。
吐槽:编译JCEF的诸多软件安装实在是让人受不了,这或许是很多人望而却步的原因。软件安装好了编译不一定成功,软件版本不对也可能编译不成功,出了问题很难搜到答案,还好我在砸电脑之前编译成功了。编译完之后,C盘变成了红色。
开源项目:
PowerOfLongedJcef【注:本项目在win10 64位系统上开发,不保证其他系统可以直接运行】
github:https://github.com/lieyanfeimao/PowerOfLongedJcef.git
码云:https://gitee.com/edadmin/PowerOfLongedJcef.git
采用JCEF+Easyui设计,内含功能:代码模板生成器、脚本管理、中文帮助文档、简单的脚本注入示例等【百度自动搜索(弹出对话框输入一句话,程序自动填充搜索框),简单的自动注入】,需要JDK1.8。后续可能会增加新功能。
工作繁重,学习不止,不接受任何形式的问题解答,不帮忙编译JCEF其他版本,请理解,谢谢!【有问题请自行对照文档和demo找解决方案或百度谷歌或自己想办法】——玄翼猫