Blazor server side 自家的一些开源的, 实用型项目的进度之 CEF客户端
距离上次提出
[Asp.Net Core] Blazor Server Side 扩展用途 - 配合CEF来制作带浏览器核心的客户端软件
的想法后, 差不多2个星期了.
这个玩意也做了一半, 自用是没问题的, 放出去倒是不够精细.
如图:


上面的是开发中的项目文件的截图.
不是成品.
现在可以用 .net core 或者 .net framework 来绑定这个 CEF . 只有 .net core 才能启动 asp.net core , 而 .net framework 可以自启 asp.net webform , 虽然自己觉得这不实用.
现在离发布开源, 还差一些工作量 :
1 - CEF的很多实用的API根本没整合 , 只是根据需要, 用一个就整合一个.
2 - 改名 , 很多类名, 属性方法, 都需要看情况改名.
3 - 下载列表对话框
4 - 完整的测试. 功能越多, 需要的测试越多
5 - CEF默认没有Notification API, 考虑实现.
项目当前功能的一些状况:
1 - 冷启动是6秒左右. 包括启动.net core, 启动asp.net core, 启动CEF, 用CEF打开第一个网页, 待网页的window.onload触发
2 - 热启动是1.1秒左右.
3 - 程序启动后占用内存180MB起步. CEF多进程模式(默认不打开,不推荐), 启动就有5个进程, 占用360MB起步.
4 - CEF文件夹大小是145MB , 压缩后是57MB左右 , 已有.net core框架时, 程序大小可以忽略
5 - 程序发布为单个文件并且自带框架和其他dll时 , 单个exe就要145MB , 合计是290MB, 压缩后是110MB
6 - 客户端asp.net core代码可以直接控制客户端winforms代码
7 - 服务器asp.net core代码, 在网址授权的情况下, 可以推送符合授权的 dll 到客户端执行.
8 - 在对网址授权后, 并且打开CSharpCode权限的情况下, 可以推送CSharp代码到客户端编译并执行.
9 - 可以嵌入 MediaPlayer , 参考 https://www.cnblogs.com/zhgangxuan/p/12839140.html
10 - 目前使用的是网上编译的版本. 没有加进mp4的支持. 需要用activex来弹窗播放mp4
HTML5 Test 跑分如下

比Chrom/Edge少10分
缺少H264支持, 缺少ACC支持.
不过播放MP3倒是没问题. 即可以自行添加音效.
除此, 主要缺少的是:

还在忙, 暂时写到这里.
Blazor server side 自家的一些开源的, 实用型项目的进度之 CEF客户端的更多相关文章
- 开源 一套 Blazor Server 端精致套件
Blazor 作为一种 Web 开发的新技术已经发展有一段时间了,有些人标称 无 JS 无 TS,我觉得有点误导新人的意味,也有人文章大肆宣传 Blazor 是 JavaScript 的终结者,是为了 ...
- [Asp.Net Core] Blazor Server Side 扩展用途 - 配合CEF来制作客户端浏览器软件
前言 大家用过微信PC端吧? 这是用浏览器做的. 用过Visual Studio Code吧? 也是用浏览器做的. 听说, 暴雪客户端也包含浏览器核心?? 在客户端启动一个浏览器, 并不是什么难事了. ...
- Blazor Server 和 WebAssembly 应用程序入门指南
翻译自 Waqas Anwar 2021年3月12日的文章 <A Beginner's Guide To Blazor Server and WebAssembly Applications&g ...
- 使用Blazor Server 线路处理程序 (circuit handler)跟踪打开的SignalR连接
Blazor服务器允许定义线路处理程序(circuit handler)代码,该处理程序(handler)允许在更改用户线路状态时运行此代码. 线路处理程序(circuit handler)是通过从C ...
- [Asp.Net Core] 为什么选择 Blazor Server Side (一) 快速实现图片验证码
关于Blazor 由于在国内, Blazor一点都不普及, 建议读者翻看我之前写的随笔, 了解Blazor Server Side的特点. 在一段时间内, 我会写一些解说分析型的 "为什么选 ...
- [Asp.Net Core] 关于 Blazor Server Side 的一些杂项, 感想
在2016年, 本人就开始了一个内部项目, 其特点就是用C#构建DOM树, 然后把DOM同步到浏览器中显示. 并且在一些小工程中使用. 3年下来, 效果很不错, 但因为是使用C#来构建控件树, 在没有 ...
- ASP.NET Core Blazor 初探之 Blazor Server
上周初步对Blazor WebAssembly进行了初步的探索(ASP.NET Core Blazor 初探之 Blazor WebAssembly).这次来看看Blazor Server该怎么玩. ...
- [Asp.Net Core] Blazor Server Side 扩展用途 - 配合CEF来制作带浏览器核心的客户端软件 (二) 可运行版本
前言 大概3个星期之前立项, 要做一个 CEF+Blazor+WinForms 三合一到同一个进程的客户端模板. 这个东西在五一的时候做出了原型, 然后慢慢修正, 在5天之前就上传到github了. ...
- 在Blazor Server 项目中使用 EF Core Sqlite
按照教程创建了一个 Blazor Server 项目 教程地址: https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/build-a-blaz ...
随机推荐
- Angular第三方UI组件库------ionic
一.Angular UI组件库 ------------ionic 1. 官网:https://ionicframework.com 文档:https://ionicframework.com/d ...
- 查找算法----二分查找与hash查找
二分查找 有序列表对于我们的实现搜索是很有用的.在顺序查找中,当我们与第一个元素进行比较时,如果第一个元素不是我们要查找的,则最多还有 n-1 个元素需要进行比较. 二分查找则是从中间元素开始,而不是 ...
- Docker的安装(Linux)
官网下载安装说明 1.卸载旧版本 sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ doc ...
- GreenPlum执行gpfdist报错:libssl.so.1.0.0: cannot open shared object file: No such file or directory
当你报这个错时,是因为你执行 ./gpfdist 时默认去找寻/usr/lib64的环境依赖,没有去找寻你gpfdist安装目录中lib的目录. 解决方法: 根据报错提示,将你gpfdist安装目录中 ...
- 201771010128王玉兰《面象对象程序设计(Java)》第七周学习总结
第一部分:基础知识总结: 1继承 A:用已有类来构建新类的一种机制,当定义了一个新类继承一个类时,这个新类就继承了这个类的方法和域以适应新的情况: B:特点:具有层次结构.子类继承父类的方法和域: C ...
- 深入剖析ThreadLocal原理
描述 ThreadLocal,很多地方叫做线程本地变量,也有些地方叫做线程本地存储.ThreadLocal为变量在每个线程中都创建了一个副本,那么每个线程可以访问自己内部的副本变量. 通常使用静态的变 ...
- WEB常见攻击及防御
对于一个Web应用来说,可能会面临很多不同的攻击.下面的内容将介绍一些常见的攻击方法,以及面对这些攻击的防御手段. 一.跨站脚本攻击(XSS) 跨站脚本攻击的英文全称是Cross Site Scrip ...
- js 滚动条滑动
toTop() { let top = document.documentElement.scrollTop || document.body.scrollTop; // 实现滚动效果 const t ...
- 如何使用JPA的@Formula注解?
背景描述 我们经常会在项目中用到一些数据字典,在存储和传输时使用Code,在前端展示时使用Name,这样做的好处是便于系统维护,比如项目中用到了"医院"这个名称,如果后期需求发生变 ...
- 又抓了一个导致频繁GC的鬼--数组动态扩容
概述 本周有个同事过来咨询一个比较诡异的gc问题,大概现象是,系统一直在做cms gc,但是老生代一直不降下去,但是执行一次jmap -histo:live之后,也就是主动触发一次full gc之后, ...