-
Notifications
You must be signed in to change notification settings - Fork 281
Home
欢迎访问SOUI Wiki ٩(๑>◡<๑)۶
在Windows平台上开发客户端产品是一个非常痛苦的过程,特别是还要用C++的时候。 尽管很多语言很多方法都可以开发Windows桌面程序,目前国内流行的客户端产品都是C++开发的,比如QQ,YY语音,迅雷等。 快速,稳定是我认为的应用软件开发框架最基本的要求,对于UI还有两个要求就是界面美观,配置灵活。 C++语言满足了快速的要求,传统的客户端软件开发框架如MFC,WTL等满足了稳定的要求。然而界面美观,配置灵活是MFC,WTL这样的开发框架所不能满足的。 腾讯是做客户端发家的,他们的UI经验积累非常好,有自己专门的UI框架;迅雷有一个专业的团队开发自己的UI框架;然而大多数公司只希望有一个能够快速完成项目开发的UI库来使用,它们没有专业的团队来维护UI库。国企有钱任性,所以成就了UIPower:一个商业化的DirectUI库(具体怎么样不好说,优点在于有人给你服务),一般的小公司没有谁愿意当这个冤大头。这就是Duilib这样一个简单到简陋的UI库(请原谅我这样说)为什么这样流行的原因(百度一下Duilib就知道它有多少人在用)。 Duilib基本满足了界面美观 ,配置灵活的需求,然而由于框架本身的限制,要实现复杂的效果将不可避免的遇到各种坑。好在Duilib代码量很少,随便一个有经验的UI开发工程师都能够相对容易的使用并修改它,所以在一般的应用中使用并不会有太大的问题,这也应该是为什么会有那么多的Duilib变种的原因:每一个使用它的公司或者个人都会有一份独一无二的副本。 其实上面我还漏了说QT, QT在国外有专业的团队维护,文档也很好,但至少有两个缺点:1、它是跨平台的,跨平台即是优点,也是缺点,为了实现跨平台,很多时候需要做出取舍,就算抽象的100%的完美,它也不可避免的带来体积庞大;2、代码量太大,普通人很难驾驭:就算是看懂都不容易,更别说修改了,这样的结果就是一旦在使用中遇到问题你唯一的选择就是提交BUG给QT开发小组等待补丁(要知道不存在没有BUG的产品)。
SOUI是一套和Duilib类似的开源C++ UI开发框架。它的祖宗是金山卫士开源版本中使用的UI库Bkwin,之后由启程软件(也就是我了)开发维护升级为Duiengine,最后历经多次重构改名为SOUI,寓意“瘦UI”,“UI, just so so!”。使用MIT开源协议,公司、个人兼可免费作用,只需要发布时带上SOUI的license。
UI? just so so!
- 第一篇:SOUI是什么?
- 第二篇:SOUI源码的获取及编译
- 第三篇:用SOUI能做什么?
- 第四篇:SOUI资源文件组织
- 第五篇:在SOUI中使用XML布局属性指引
- 第六篇:在SOUI中用九宫格拉伸方式显示一个图片资源
- 第七篇:创建一个SOUI的Hello World
- 第八篇:SOUI中控件事件的响应
- 第九篇:在SOUI中使用多语言翻译
- 第十篇:扩展SOUI的控件及绘图对象
- 第十一篇:SOUI系统资源管理
- 第十二篇:SOUI的utilities模块为什么要用DLL编译?
- 第十三篇:在SOUI中使用有窗口句柄的子窗口
- 第十四篇:在SOUI中使用定时器
- 第十五篇:在SOUI中消息通讯
- 第十六篇:SWindow的布局属性pos2type及offset
- 第十七篇:使用窗口的cache属性加速SOUI的渲染
- 第十八篇:在SOUI中实现PreTranslateMessage
- 第十九篇:提高SOUI应用程序渲染性能的三种武器
- 第二十篇:在SOUI中使用分层窗口
- 第二十一篇:SOUI中的控件注册机制
- 第二十二篇:在SOUI中使用代码向窗口中插入子窗口
- 第二十三篇:在SOUI中使用LUA脚本开发界面
- 第二十四篇:导出SOUI对象到LUA脚本
- 第二十五篇:在SOUI中做事件分发处理
- 第二十六篇:两个SOUI新控件 ---- SListView和SComboView
- 第二十七篇:SOUI中控件属性查询方法
- 第二十八篇:SOUI中自定义控件开发过程
- 第二十九篇:使用SOUI的SMCListView控件
- 第三十篇:SOUI模块结构图及SOUI框架图
- 第三十一篇:SOUI布局之相对于特定兄弟窗口
- 第三十二篇:在SOUI2.0中像android一样使用资源
- 第三十三篇:使用uiresImporter生成uires.idx及skin.xml
- 第三十四篇:在SOUI中使用异步通知
﹊﹊﹊﹊﹊﹊﹊﹊﹊﹊
This wiki is created by [SOUI Team]