首页 文章 精选 留言 我的

精选列表

搜索[工具库],共10000篇文章
优秀的个人博客,低调大师

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年。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册