5千行的GUI库,又双叒叕删减代码了
删减代码似乎是一件让人上瘾的事情,随着大家对GuiLite代码的熟悉,又发现了一些不必要的代码;于是6千行的代码,被删减到5千,而今天更删减到了让群主都难以置信的4千行。好担心有一天GuiLite因为代码数量不够而被消失了。。。
在下真的认为:目前的代码已经精炼无比,绝对没有再次删减的可能;但是谁知道打脸会不会在2021年准时到来呢?
代码更新:
1. 删掉audio相关的代码 -- 感谢开发群同学犀利的眼光
2. 重构UI消息回调机制,再见MFC,你好Android
Audio部分:
由于历史原因,Audio作为一个功能在GuiLite里面保留了很久;但根据这几年的实践,它的使用率是非常低的,而且嵌入式环境Audio环境比较复杂,相对难以统一;所以,让这段代码保留在主干里面是不合适了。
但群主觉得该代码质量依然很好,可以完美支持Windows,Linux,Android平台,据说当时发出的滴滴声跟心跳频率太过接近,很容易让人产生不适感。所以,也欢迎大家通过查阅历史commit的方式查阅和使用这些代码。
UI消息回调:
很早的时候,就有开发群同学诟病GuiLite的消息传递机制太老,跟MFC很像;群主觉得MFC的生态强大,接口与之保持一致,或相似,有利于开发者降低学习成本;谁知,今天连MFC开发者都看不惯这套‘夺命连环消息宏’了。。。再看看Android的开发接口,给一个按键添加一个响应函数,永远都是1行搞定;这学习成本是10000000:1呀。所以消息机制的修改必须,立刻,马上进行!
当然,修改的阵痛也是难免的,基础代码的修改,意味着所有Demo的相应调整。为此我们进行了仔细的测试,保证了代码的高品质和体验上的一致性。
剩下的就是巨大的优势了:不仅GuiLite的代码获得了精简,所有Demo的代码也得到了大大简化,面对23个Demo,我们竟然很快就完成了代码更新和测试。
举个栗子,现在作一个按键响应函数是这样的:
Your_button->set_on_click(WND_CALLBACK(&c_your_window::on_button_clicked));
是的,就是1行!
我们还活着:
先看看活跃数据:GuiLite的编译,运行次数超过2万次;运行时间约3万分钟(有兴趣的同学,可以参看不定时公布的活跃数据图表)。同时在Gitee上有超过2千的star,在GitHub上有接近5千的star。
GuiLite自大出生以来,就争议不断,一直在国内外优秀GUI软件的夹击中生存;能活到今天,确实超出了群主的预期,唯一获得的经验就是:重视开发者的每一次抱怨,每一次PR,不断从开发者的鞭策中汲取营养和方向,Keep hungary,Keep foolish,把GuiLite打造成为全球开发者手中简单易用的神兵利器。
最后,都读到这里了,也随手给GuiLite(https://www.oschina.net/p/guilite)投个票呗;不求大红大紫,但求天下开发者:精力充沛,头发茂盛,为祖国健康工作40年。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
用Python构建和可视化决策树
作者|Nikhil Adithyan 编译|VK 来源|Towards Data Science 决策树 决策树是当今最强大的监督学习方法的组成部分。决策树基本上是一个二叉树的流程图,其中每个节点根据某个特征变量将一组观测值拆分。 决策树的目标是将数据分成多个组,这样一个组中的每个元素都属于同一个类别。决策树也可以用来近似连续的目标变量。在这种情况下,树将进行拆分,使每个组的均方误差最小。 决策树的一个重要特性是它们很容易被解释。你根本不需要熟悉机器学习技术就可以理解决策树在做什么。决策树图很容易解释。 利弊 决策树方法的优点是: 决策树能够生成可理解的规则。 决策树在不需要大量计算的情况下进行分类。 决策树能够处理连续变量和分类变量。 决策树提供了一个明确的指示,哪些字段是最重要的。 决策树方法的缺点是: 决策树不太适合于目标是预测连续属性值的估计任务。 决策树在类多、训练样本少的分类问题中容易出错。 决策树的训练在计算上可能很昂贵。生成决策树的过程在计算上非常昂贵。在每个节点上,每个候选拆分字段都必须进行排序,才能找到其最佳拆分。在某些算法中,使用字段组合,必须搜索最佳组合权重。剪...
- 下一篇
TKEStack 整体架构及性能介绍
腾讯 2009 年开发容器计算平台T-Borg;2012 年开发内部的离线在线混合部署的容器平台Torca;2013、2014年Docker 和Kubernetes 出现后,腾讯迅速切换自研方案到开源方案,对外推出商用公有云版本服务 TKE 和私有云版本GaiaStack。2019年,公有云和私有云版本合并为统一架构和方案TKE,并推出了社区发行版TKEStack。 TKEStack 名称中包含Stack,也表明TKEStack 有别于其他容器产品,它将打造的是一整套技术栈,以TKE 容器平台为核心,面向网络,存储,应用,服务等各个领域,扩展平台在底层资源管控和上层业务服务上的能力边界,所有这些能力都将在TKEStack 下开源,社区用户、合作伙伴等都可以参与进来贡献和分享。 整体架构 TKEStack 整体架构上采用Kubernetes on Kubernetes 的设计理念,充分满足平台服务的高可用性和扩展性。 Global: 集群负责运行整个TKEStack 平台自身所需组件; Cluster: 业务集群是由TKEStack 控制台统一管理,负责运行业务; Installer: ...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Docker安装Oracle12C,快速搭建Oracle学习环境
- SpringBoot2全家桶,快速入门学习开发网站教程
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS关闭SELinux安全模块
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Hadoop3单机部署,实现最简伪集群