删减代码似乎是一件让人上瘾的事情,随着大家对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年。