开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 20072|回复: 357
收起左侧

[易源码分享] 【发布】ACF浏览器框架 全新架构 多线程调用 事件内同步

    [复制链接]
发表于 2023-5-1 23:09:38 | 显示全部楼层 |阅读模式   山东省滨州市
分享源码
界面截图:
是否带模块: -
备注说明: -
本帖最后由 Admenri 于 2023-5-1 23:11 编辑

前言

2018年,我通过水星浏览器接触了CEF,进而接触了Chromium项目,在黑猫奆佬的基础上改出了点东西


2019年,研究了一段时间的CEF,我对水星浏览器的支持库进行了修改。

2021年,在原来模块的基础上,加上了自己(不知道从哪)学来的东西写出了ACF浏览器 (CEF版) 的模块。

2021-2022这段时间被高三压的很紧所以停更了1年。

在2022年下半年我对ACF(CEF)进行了升级,同时也开始了新的项目:ACF (Chromium)


这个项目开始于2023年初,耗时3个月也终于是把稳定版赶了出来(没错除夕还在写代码)


正式介绍

ACF (Admenri Chromium Framework) 基于Chromium项目开发,与Cef是同一层面的框架(不是cef的封装了好耶)



架构信息

下面先放两张新框架的进程模型与线程模型:

1.png 2.png

进程上采用了与WebView2同款的异步多进程架构,

与COM组件的WebView2不同,新ACF的全部函数支持多线程调用


代码风格

新ACF因为线程架构的设计原因,支持多种同步方式,得益于新IPC通信的高效,

同步的开销比较小,并且由于事件与接收不在同一线程,所以用户能够在事件中实现同步取值操作。



4.png 3.png

使用上步骤相较于Cef大幅缩减,同步创建环境,创建用户,

基本上只有浏览器创建需要异步等待。

而且新框架完美支持设置组件库路径,只需要在运行时指定exe的路径即可。


\ 5.png 6.png

同时创建浏览器也会直接返回浏览器对象,可以使用其他方法在线程中同步等待(不影响内部线程继续响应)

在新窗口处理方面,新ACF保持与WebView2一样的简便方法,

无需与Cef一样强制处理浏览器。


操作方面

新ACF由于全部操作都放在主控线程执行,所以用户无需管理子进程的代码

相比原ACF大大降低了使用门槛。

同时主控进程只负责消息收发,因此占用非常小:

7.png

同时因为架构设计原因,进程通信可以实现32位易语言程序控制64位浏览器进程,

与原ACF限制于易语言32位程序相比可用性大大增加。


内核方面

没错,是直接基于Chromium修改而来的框架,相比Cef的Content API封装,

新ACF则是在完整的浏览器之上做修改而来,支持全部的浏览器功能:

9.png

Chromium自带的浏览器WebUI


10.png

支持安装Chrome扩展(UI接口计划增加)


12.png

与Chrome一样的跑分,这内核版本应该是论坛目前最新的了吧

与.net的dotbrowser相比支持H264 H265视频解码


11.png

保留了全部的Chromium的WebUI,实测Cef的ChromeRuntime砍掉了一些。

图为getUserMedia的对话框。



与WebView2也不一样的是,新ACF对浏览器窗口进行了魔改使其能够适应完整的DevTool:

13.png

妈妈再也不用担心我找不到想要的功能了。


后记

本人目前还在读大一,所以更新没那么勤,计划是除指纹外其他全部功能免费使用,

另外ACF(CEF)版也会继续更新,后期WebView2也会更新SDK版本。

(这么说要干的事还不少)


新框架为本人几年的心血,绝大部分功能免费使用,所以不爱别伤害


下载

https://admenri.lanzout.com/b0d5iz9ja
密码:2xyp


点评

老板,需要“莫容模式”打开网页,求更新~   山东省潍坊市  发表于 2023-5-3 16:37
当初项目需求,等你更新等了那么久,现在更新了,我已经换了整套开发环境了   广东省汕头市  发表于 2023-5-3 01:59
支持开源~!感谢分享   河北省秦皇岛市  发表于 2023-5-2 10:40

评分

参与人数 24好评 +18 精币 +37 收起 理由
飞宇 + 1 我看感觉除了指纹,别的功能都是无所谓的。所以
光影魔术 + 1 + 1 开源精神必须支持~
wa690602724 + 1 感谢分享,很给力!~
qaz5080 + 1 支持开源~!感谢分享
cbl521ysys + 1 感谢分享,很给力!~
小白熊 + 1 + 5 YYDS~!
pptk + 1 + 2 感谢分享,很给力!~
wmusic + 1 感谢分享,很给力!~
昨夜的雨 + 1 + 4 YYDS~!
红妆V + 1 + 1 支持开源~!感谢分享
国王软件 + 1 + 2 YYDS~!
llxx123 + 1 + 2 支持开源~!感谢分享
910265444 + 1 YYDS~!
空竹 + 1 很好很强悍,坚持下去哦~
qweipuq + 1 感谢分享,很给力!~
1051496412 + 1 + 2 感谢分享,很给力!~
※逍遥游※ + 2 感谢分享,很给力!~
E语言|菜鸟 + 1 + 1 卧槽好秀
半俗半雅半疯癫 + 1 + 2 来回血
默念、 + 1 + 1 支持开源~!感谢分享
qq1056123185 + 1 + 2 期待WebView2,好人一生平安!
缥缈君 + 1 + 2 这么厉害!必须给个红包鼓励下~
PNut + 1 + 2 YYDS~!
易神 + 1 + 1 支持开源~!感谢分享

查看全部评分


本帖被以下淘专辑推荐:

结帖率:50% (2/4)

签到天数: 20 天

发表于 2024-3-20 13:30:51 | 显示全部楼层   湖南省岳阳市
论坛真是个学习的好地方,感谢楼主的分享,让我又学到了新东西。
回复 支持 反对

使用道具 举报

结帖率:93% (246/265)

签到天数: 7 天

发表于 2023-11-3 20:24:44 | 显示全部楼层   广西壮族自治区崇左市
nwzhi 发表于 2023-10-31 10:51
我07年大学那会,用的还是大屁股的显示器,XP系统,编程语言还是汇编C语言JAVA,时代的进步 ...

我11年大学,都还是大屁股。。。。。全校有且仅有一间多媒体教室。。。。。。
回复 支持 反对

使用道具 举报

签到天数: 14 天

发表于 2023-10-31 10:51:21 | 显示全部楼层   江苏省无锡市
我07年大学那会,用的还是大屁股的显示器,XP系统,编程语言还是汇编C语言JAVA,时代的进步
回复 支持 反对

使用道具 举报

签到天数: 18 天

发表于 2023-10-28 11:52:06 | 显示全部楼层   河南省开封市
支持开源~!
回复 支持 反对

使用道具 举报

结帖率:25% (1/4)
发表于 2023-10-18 18:36:52 | 显示全部楼层   广东省中山市

感谢楼主分享!666663
回复 支持 反对

使用道具 举报

结帖率:100% (3/3)

签到天数: 8 天

发表于 2023-10-12 16:49:22 | 显示全部楼层   河南省南阳市
不得不佩服  有些人天生就是编程大佬
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)

签到天数: 2 天

发表于 2023-9-5 02:25:47 | 显示全部楼层   广东省惠州市
反馈一下 创建浏览器的参数 x和y 好像是无效的捏怎么传都是0,0 不知道是不是我写法问题
回复 支持 反对

使用道具 举报

结帖率:80% (4/5)

签到天数: 13 天

发表于 2023-8-29 14:58:51 | 显示全部楼层   安徽省亳州市
真心不明白,你才高中,是怎么搞出来这个的?难道是祖传的编程吗?简直是太厉害了
回复 支持 反对

使用道具 举报

结帖率:99% (146/147)

签到天数: 9 天

发表于 2023-6-3 16:15:55 | 显示全部楼层   山东省烟台市
正在编译...
错误(10044): 不能将“整数型”数据转换到“ACF字典值”数据。
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)

签到天数: 14 天

发表于 2023-5-31 22:00:38 | 显示全部楼层   广西壮族自治区柳州市
感谢分享
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表