[WebKit内核]EasyCKL开源浏览器库 6.1 支持调试运行了

EasyCKL是一款基于WebKit内核的浏览器库,由phewyyx开发并发布,使用C/C++编写,专为易语言提供web浏览框功能。它支持HTML5等现代web标准,并且兼容从XP到Windows 10的多个操作系统版本。

下面是原作者的介绍

EasyCKL是一款基于某开源浏览器内核的浏览器库,使用C/C++编写,为易语言提供web浏览框的库。EasyCKL是phewyyx编写发布。

EasyCKL基于国际领先的开源浏览器内核,支持HTML5等现代web标准,同时兼容XP、Vista、7、8、8.1、10操作系统,比超文本框具有兼容性好,速度快,支持新web标准等优点。

好了,俺来说一句,这个是正宗WebKit内核,比网上其他开源的都好点




/---------------------------------------------

链接: http://pan.baidu.com/s/1o89xgMI 密码: vt73

第一期使用命令介绍: 类: (CefApp): 与进程,命令行参数,代理,资源管理相关的回调类 (CefBrowserProcessHandler): 用于接收进程相关的回调通知。 (CefClient): 回调管理类,主要是用于向浏览器反回我们需要接管哪些功能的类。 (CefLifeSpanHandler):浏览器运行管理类,包含当浏览器创建完成之后,浏览器被关闭等通知 (CefMainArgs): 数据类,用于设置当前应用实例句柄的。 (CefSettings): 数据类,用于设置一些浏览器整体的基本信息 (CefWindowInfo): 数据类,用于设置一些浏览器的窗口信息 (CefBrowserSettings): 数据类,用于设置一些浏览器的基本信息 用到的类命令: 返回值 (CefBrowserProcessHandler) = (CefApp).GetBrowserProcessHandler()  '获取一个用于管理浏览器进程的类 返回值 空= (CefBrowserProcessHandler).OnContextInitialized()  '回调通知函数,告诉我们浏览器已经准备就绪了。 返回值 (CefLifeSpanHandler) = (CefClient).GetLifeSpanHandler()  '向浏览器返回我们用于接管浏览器进程的类 返回值 空 = (CefLifeSpanHandler).OnAfterCreated()  '回调通知函数,用于告诉我们,当前有一个新的浏览器创建好了 返回值 空 = (CefLifeSpanHandler).DoClose()  '回调通知函数,貌似是表示所有浏览器都关闭之后,Cef上有一大段注释,但是TM始终看不明白... 返回值 空 = (CefLifeSpanHandler).OnBeforeClose()  '回调通知函数,用于告诉我们,当前有一个浏览器被关闭了 返回值 空 = CefMainArgs.Load()  '数据类函数,用于设置当前当前应用的实例句柄 返回值 空 = CefSettings.SetAsSingleProcess()  '数据类函数,是否使用单进程运行浏览器, 1.单进程运行 0.多进程运行。默认是以多进程运行的。 返回值 空 = CefSettings.SetAsNoSandbox()  '数据类函数,是否关闭沙盘功能 返回值 空 = CefSettings.SetAsRemoteDebuggingPort()  '数据类函数,设置远程调试端口 返回值 空 = CefWindowInfo.SetAsChild()  '数据类函数,设置浏览器窗口为子窗口 通用类命令: (All).AddRef()  '给这个函数所属的类增加一次引用计数 (All).Release()  '给这个函数所属的类释放一次引用计数 (All).HasOneRef()  '判断当前这个类是不是第一次被引用 (All).Wrap()  '实际上《Hello WebKit》框架的类都是以一种接近于C++类的存在,为了能给浏览器使用,我们必须要将这个类转换为近似于C的类。这个函数就有这样的作用 (All).Unwrap()  '从C类中取回我们的C++类 (All).ToCpp__() '导入或取出由浏览器提供的类指针或者数据指针 通用命令: CefBrowserHostCreateBrowserSync()  '创建一个新的浏览器,成功返回浏览器类CefBrowser. CefExecuteProcess()  '初始化浏览器进程 CefInitialize()  '全初始化,该函数执行完成之后,(CefBrowserProcessHandler).OnContextInitialized() 将收到通知 CefRunMessageLoop()  '浏览器进程消息循环 CefShutdown()  '浏览器进程结束 CefQuitMessageLoop()  '向所有(多进程下)浏览器进程发送结束通知 REQUIRE_UI_THREAD()  '调试函数,用于检查执行到该函数位置的线程/进程是否为UI线程/进程,如果不是将被中断下来 CEF_BROWSER_RELEASE()  '释放一次浏览器的引用计数 第二期使用命令介绍: (CefDisplayHandler): 与浏览器状态显示相关的类 (CefBrowser): 浏览器类,用于控制或者取得浏览器的相关信息,最常用的类 (CefBrowserHost): 浏览器窗口类,用于控制或者取得浏览器窗口的相关信息,最常用的类 (CefFrame): 浏览器框架类,用于控制或者取得浏览器框架的相关信息,最
源码介绍: 1、HTML是目前在用户体验、界面舒适度最先进的语言 2、HTML所有标签都是容器,CSS调试效果方便 3、最重要的一点,让做界面的去界面,写程序的去写程序吧,界面与程序分享得更彻底 4、支持js、jq和易语言交互! 5、窗口尺寸自适应; 6支持FLASH; 7、网页文件可以放在服务器上(如果你有虚拟机或者云主机的话),也可以加密打包后,内存加载;还可以放在资源表里;防止界面代码泄露; 例子中,做了简单的交互示例。并无实际功能! 本例程仅演示界面功能,实际开发需添加更多功能代码; (调用了开源的wke模块) 什么是wke? WebKit 是一个开源浏览器引擎,同时WebKit 也是苹果Mac OS X 系统引擎框架版本的名称,主要用于Safari,Dashboard,Mail 和其他一些Mac OS X 程序。WebKit 前身是 KDE 小组的 KHTML,WebKit 所包含的 WebCore 排版引擎和 JSCore 引擎来自于 KDE 的 KHTML 和 KJS,当年苹果比较了 Gecko 和 KHTML 后,仍然选择了后者,就因为它拥有清晰的源码结构、极快的渲染速度。apple将 KHTML 发扬光大,推出了装备 KHTML 改进型 WebKit 引擎的浏览器 Safari。Safari, Google Chrome,傲游3,猎豹浏览器,百度浏览器 opera浏览器 等都是基于 Webkit 开发。,Webkit作为一款优秀的浏览器内核,它众多优秀的特性引起业内的的广泛关注。尤其是近来,google的加入更是让Webkit有所升温,从 Goole Chrome浏览器, Goole Anroid手机操作系统内置浏览器均采用Webkit作为内核
miniblink是什么? Miniblink是一个追求极致小巧的浏览器内核项目,全世界第三大流行的浏览器内核控件。 其基于chromium最新版内核,去除了chromium所有多余的部件,只保留最基本的排版引擎blink。 Miniblink保持了10M左右的极简大小,是所有同类产品最小的体积,同时支持windows xp、npapi。 为什么要做miniblink? 市面上作为嵌入的组件的可用的浏览器内核,不外乎这几个:webkit、cef、nwjs、electron。 cef:优点是由于集成的chromium内核,所以对H5支持的很全,同时因为使用的人也多,各种教程、示例,资源很多。但缺点很明显,太大了。最新的cef已经夸张到了100多M,还要带一堆的文件。同时新的cef已经不支持xp了(chromium对应版本是M49)。而且由于是多进程架构,对资源的消耗也很夸张。如果只是想做个小软件,一坨文件需要带上、超大的安装包,显然不能忍受。 nwjs,或者最近大火的electron:和cef内核类似,都是chromium内核。缺点和cef一模一样。优点是由于可以使用nodejs的资源,同时又自带了各种api的绑定,所以可以用的周边资源非常丰富;而基于js的开发方案,使得前端很容易上手。所以最近N多项目都是基于nwjs或electron来实现。例如vscode,atom等等。 原版webkit:现在官网还在更新windows port,但显然漫不在心,而且最新的webkit也很大了,超过20几M。最关键的是,周边资源很少,几乎没人再基于webkit来做开发。同时由于windows版的saferi已经停止开发了,所以用webkit就用不了他的dev tools了。这是个大遗憾。 WKE:这是个很老的webkit内核的裁剪版了。小是小,但bug太多了。 那么关键点来了,使用miniblink有啥好处呢?? 首先,miniblink对大小要求非常严格。原版chromium、blink里对排版渲染没啥大用的如音视频全都被砍了,只专注于网页的排版和渲染。甚至为了裁剪大小,我不惜使用vc6的crt来跑mininblink(见我上篇文章)。这个也算前无古人后无来者了。 其次,miniblink紧跟最新chromium,这意味着chromium相关的资源都可以利用。在未来的规划里,我是打算把electron的接口也加上的,这样可以无缝替换electron。使用miniblink的话,开发调试时用原版electron,发布的时候再替换掉那些dll,直接可以无缝切换,非常方便。 miniblink如何使用? Miniblink导出了electron、WKE的接口,可以直接无缝替换现有的electron、WKE项目。 早期miniblink还导出了CEF接口,不过现在已被废弃。 miniblink有个小demo,从demo里可以看到,brackct这个基于cef的开源编辑器,已经顺利由miniblink跑起来了。现在electron的接口已做好,vscode跑起来了。 更详细的使用文档见本页其他文章。 miniblink如何裁剪到这么小? 这个比较复杂了。主要就是把blink从chromium抽离了出来,同时补上了cc层(硬件渲染层)。现在的blink,已经不是当年的那个webkit了,渲染部分全走cc层,复杂无比。我这大半年都在重写他那个蛋疼又复杂的cc层。 和webkit比,miniblink架构有什么优势 现在的webkit版本,已经比miniblink落后太多了。blink一直在加入各种极富创造力和想象力的功能、组件。例如,blink早就加入多线程解析html token、blink gc回收器、多线程录制回放渲染机制。这些能让blink的解析渲染速度极大提升。下一次,我会先开源出blink gc组件,这东西很有意思,在c++里硬是搞出了一个垃圾回收机制,能让你像写java一样写c++。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值