我发起了一个 用 C# 写 的 浏览器 开源项目 HtmlCore
我之前还发起过一个 项目, 名字也叫 HtmlCore, 见 《我发起了一个 .Net 开源 跨平台 GUI (界面开发框架)项目 HtmlCore》 https://www.cnblogs.com/KSongKing/p/9560723.html ,
其实 这 2 个 项目是 相通 的, 是一个项目 。
HtmlCore 的 设计目标 是 未来 发展成为
1 ILBC / D# 开发 的 浏览器内核
2 ILBC 的 GUI 引擎
有关 ILBC, 见 《ILBC 规范》 https://www.cnblogs.com/KSongKing/p/10354824.html ,
用 C# 写, 将来怎么变成 ILBC / D# 呢?
这很容易, D# 和 C# 的 语法 很相似, 把 C# 代码 稍作修改 就可以了 。
用 C# 写 浏览器 是一个 有意思 也 有意义 的 尝试,
只要 了解 GDI+ 编程, 就可以 着手 写一个 浏览器 了 。
.Net / C# 对 GDI+ 封装的很好 。
在 GDI+ 的 世界 里, 实现一个 半透明 效果 很容易, 实现 动画 也很容易 。
有 网友 提到, 浏览器 涉及 一个 “排版” 的 算法问题, 我想这并不太难, 可以试试 。
提到 “排版” 的 网友 说 GDI+ 用来写 浏览器 性能太差, 建议 用 DirectX, OpenGL, Vulkan 。
这建议很好, 但我在想 这些 DirectX, OpenGL, Vulkan 这些 图形接口程序 是怎么写的, 能不能自己写一个 ?
我发起了一个 用 C# 写 的 浏览器 开源项目 HtmlCore的更多相关文章
- 我发起了一个 支持 ServerFul 架构 的 .Net 开源项目 ServerFulManager
大家好, 我发起了一个 支持 ServerFul 架构 的 .Net 开源项目 ServerFulManager . ServerFulManager 的 目标 是 实现一个 支持 ServerFu ...
- 我发起了一个 .Net Core 平台上的 开源项目 ShadowDomain 用于 热更新
大家好, 我发起了一个 .Net Core 平台上的 开源项目 ShadowDomain 用于 热更新 . 简单的说, 原理就是 类似 Asp.net 那样 让 当前 WebApp 运行在一个 A ...
- 微人事 star 数超 10k,如何打造一个 star 数超 10k 的开源项目
看了下,微人事(https://github.com/lenve/vhr)项目 star 数超 10k 啦,松哥第一个 star 数过万的开源项目就这样诞生了. 两年前差不多就是现在这个时候,松哥所在 ...
- 我发起了一个 用 javascript 写一个 Office 的 开源项目 JS Office
用 js 写 Office, 说实在的, 把 现在已有的 各种 富文本编辑器 和 电子表格 js 库 收集起来 整合一下 就 差不多了 , 放到 前几天 那个 “ js 作为 一等公民 ...
- C#写的NoSQL开源项目/系统(系列)
http://www.cnblogs.com/unruledboy/archive/2013/01/07/CSharpNoSQL.html 闲扯 好久没写开源项目了,也没写对新开源项目的介绍,今晚看了 ...
- C# 一个基于.NET Core3.1的开源项目帮你彻底搞懂WPF框架Prism
--概述 这个项目演示了如何在WPF中使用各种Prism功能的示例.如果您刚刚开始使用Prism,建议您从第一个示例开始,按顺序从列表中开始.每个示例都基于前一个示例的概念. 此项目平台框架:.NET ...
- 分享一个简单易用的RPC开源项目—Tatala
http://zijan.iteye.com/blog/2041894 这个项目最早(2008年)是用于一个网络游戏的Cache Server,以及一个电子商务的Web Session服务.后来不断增 ...
- 基于开源项目的在线网络视频直播项目---一个很好的电视直播开源项目Sopcast
http://blog.csdn.net/roy_xu/article/details/2216559 http://115.com/?ct=rar&pickcode=ew52634xr2cr ...
- [开源项目]Shell4Win,一个在Windows下执行shell命令的解释器
背景 顺利拿到心目中的理想offer之后,心里的负担一下减轻了很多,希望利用还没毕业之前这段难得的悠闲时间做一点有意义的事情.于是希望能做一个长久以来都想做的开源项目,就是题中提到的Windows下的 ...
随机推荐
- 表单传值给@Controller
<form action="springmvc/testModelAttributes" method="post"> <input type ...
- 一些常见的“功能性”JS事件
————————倒序上升———————— (2)给一些 保存.提交 按钮,添加 防止重复提交 事件(常见一例) $("#submitRank").attr("disabl ...
- change the version of python on my centos
There are two versions of aconda: aconda and aconda3 in my home directorys. When comment the environ ...
- 循环输出ViewBag集合
<tr> <td> 权限分配: </td> <td> ...
- windows下安装memcached,报错:Failed to ignore SIGHUP RESULT too large
小平板不想装虚拟机, 但是却跑不起memcached 网上虽有解决方案,但都只有一条命令, 没有出处. 翻了半天, 找到这个连接 https://commaster.net/content/insta ...
- 2Sum问题
2Sum问题是3Sum和4Sum的基础,很多OJ都是以此为最简单的练手题的. 题目描述: 从一个数组里找出两个和为target的数. LeetCode上的描述: Given an array of i ...
- CSS:与input相关的一些样式设置问题
input是HTML中非常重要,非常常用而又不可替代的元素,在于其相关的样式设置中有时会遇到其他元素不会发生的问题,今天把我印象中的一些小问题和解决方案记录一下. 1.与同行元素上下居中对齐 关于上下 ...
- Verilog中的reg一定会被综合成寄存器么
对应于实际的数字电路中,如果该程序块描述的是时序逻辑,则该寄存器变量对应为寄存器:如果该程序块描述的是组合逻辑,该寄存器变量对应为硬件逻辑:如果该程序块描述的是不完全组合逻辑,那么该寄存器变量也可以对 ...
- anaconda3下64位python和32位python共存
查看当前工作平台:conda info 切换64位和32位: set CONDA_FORCE_32BIT=1是切换到32位 set CONDA_FORCE_32BIT= 是切换到64位 注意=号前后不 ...
- C#杀掉进程的方法
C#杀掉进程的方法 private static string CmdName = "cmd"; /// <summary> /// 关闭进程 /// </sum ...