/* * Create By : 李绍良[lsl](zyzx)
* Create Time : 2015-03-14
*/
按照惯例得啰嗦一番^_^。我想写的这个专题就是再次重新创造GUI这个轮子。
从大一下学期(2004年年初)开始接触VB,第一次写出来的“Hello World!”就是界面程序。VB给我带来的感觉是写界面如此简单,但随后的学习和工作对界面是即爱又狠。使用MFC等,写个玩具倒是很简单,真正想写成可以使用的软件却是坑爹之极。先且不论英文障碍,找个资料找半天,还得一边尝试一边推想微软在底层到底干了些啥。这也是初学做Windows程序的悲哀吧,整天围这个鸟问题折腾。
在大学,从学习VB,再自学WIN32编程,再到使用MFC。毕业后在武汉一家皮包公司做WinCE,使用的是wxWindows,前些年留下的BLOG就是那个时候的笔记和心得。在武汉待了两年后,2009年在深圳到了目前的这家公司(做安防嵌入式DVR/NVR之类,其他的就不说了,当前也处于即将离职,悲哀啊,也只有离职期间才有时间总结),才深深的被震撼。原来UI也可以自己一针一线(一点,一线条)将其实现,只是当时的实现方案比较原始,但确确实实启发了我的思维,不再认为GUI只有微软、苹果、QT、mimiGUI、wxWindows等才可以将其实现,我们也可以有自己的思维来实现GUI。
在此特别感谢当年的团队在这个方面的思维积累。DVR3.0时代界面设计思路由前人完成,而我做的就是在这个界面思路下实现、完善、优化和扩展。此时的界面也就摆脱了当初简简单单的结构,为公司产品顺利打开国际化市场,树立行业DVR的OME厂商品牌,功劳不小。2012年左右,主管在前一代产品界面使用上的不足,提出来新一代产品界面需求,而我则开始构思GUI体系,规划实现了4.0界面框架体系。4.0使用的是C++实现,并利用了基本C++类特性,为保密起见,我要再造的GUI轮子将按新的思路扩展,重写这个部分的代码。
这里就是我的GUI的需求:
1. 主要目标围绕嵌入式平台的界面,需要跨平台实现
2. 内存,CPU消耗不得过多
3. 尽量精简,以满足基本要求为主
4. 接口使用标准C,以库的方式提供
5. 只处理UI相关的部分,其他一律不考虑
6. 能否将UI使用lua脚本语言来实现
7. 只使用基础语言,不使用高级语言特性
大概就这些吧,后面想到了再加进来。