SOUI兴趣小组(SIG)
SOUI SIG小组致力于国产客户端跨平台开发框架的设计。
工作目标
- 进一步完善开发工具完善,开发流程简化。
- 推动跨平台支持,完善linux平台接口,后续将推动支持macos,移动端等支持。
- 推动soui4js在全平台支持,完善soui4js的开发调试框架。
维护包列表
- SOUI,SOUI模块是使用SOUI开发客户端的用户层接口,提供快速的客户端开发框架支持。
- Swinx, 这是SOUI跨平台的接口,为不同OS提供和Windows APIs一致的API,目前已经实现了linux平台的API,macos还在规划中。
- soui4js, 这是使用quickjs引擎,使用js来调用soui的能力,实现使用js开发客户端产品,提供媲美原生app的性能,同时又能更快速开发的框架。
Applications
- soui4js, 使用js来调用soui的能力,实现使用js开发客户端产品,提供媲美原生app的性能,同时又能更快速开发的框架。
- 百度网盘
- 迅游
- 富途
- 航信税控开票系统
SOUI介绍
SOUI拥有完整的控件系统,完整的键盘支持,原生支持高分屏,多语言等,为PC客户端快速开发提供了坚实的基础。SOUI还提供了独家高性能虚表控件,可以实现各种复杂的海量数据展示。
SwinX为SOUI5的跨平台而生,依托SwinX,SOUI的所有功能现在都已经可以完美支持Linux,已经在ubuntu, debian, centos, fedora, openkylin, uos, deepin,树莓派等系统中测试通过,已经测试x86, x64, arm, arm64 CPU(理论上SwinX不挑硬件)。
SOUI是一套在windows平台上持续维护了10+年的客户端开发框架,5.0之前,通过在windows平台上持续开发维护,形成了自己独特的开发模式,SOUI的优点有很多:
- 完整的控件系统:SOUI5 提供了丰富多样的控件,涵盖了从基础按钮、文本框到复杂的虚表控件等,满足不同应用场景的需求。
- 完整的布局系统:支持多种布局方式,包括线性布局、相对布局、网格布局等,开发者可以根据界面需求灵活选择,轻松实现复杂界面的布局。
- 完整的事件系统:SOUI5 的事件机制结合了 WTL 的消息映射表和 Qt 的 sigslot 两种方式。WTL 的消息映射机制将所有事件响应集中在一起,便于代码维护;而 sigslot 的灵活性则允许开发者在代码的任意位置实现事件响应。
- 完整的矩阵变换系统及动画系统:具备强大的图形处理能力,支持矩阵变换,能够实现复杂的图形变换效果。同时,其动画系统提供了丰富的动画效果,如平移、缩放、旋转等,帮助开发者打造流畅、生动的用户界面。
- 完善的扩展机制:SOUI5 提供了灵活的扩展机制,开发者可以扩展系统提供的控件(IWindow),绘图对象(ISkinObj),布局对象(ILayout)等定制UI,还可以通过插件等方式轻松扩展框架的功能。这种机制使得框架能够根据项目需求进行定制化开发,满足不同业务场景的特殊需求。
- 国产化自主知识产权:SOUI5 是一款国产的跨平台开发框架,拥有自主知识产权。这不仅意味着在技术上不受制于国外框架,还能够更好地支持国内的开发需求,为国产软件的发展提供有力支撑。
- 体积更小,性能更高:相较于一些竞品框架,SOUI5 在设计上更加精简。它通过优化代码结构和资源管理,实现了更小的体积和更高的性能。这使得基于 SOUI5 开发的应用程序在运行效率和资源占用方面更具优势。
- 通过soui4js项目,soui已经在windows及linux平台实现了全部使用js开发原生客户端项目的能力,使用js开发客户端项目可以大大缩短软件产品的开发周期。
- 方便现有 Windows 客户端产品移植:SOUI5 通过自主实现的 Swinx 在 Linux 平台下模拟 Windows API,为 Windows 客户端产品的移植提供了极大的便利。开发者无需对现有代码进行大规模修改,即可快速将应用迁移到 Linux 平台(后续也将对macos提供支持)。
SIG成员
Owner
Maintainers
- setoutsoft
- soui008
- cjl3230
- bangfringe0317
- HuugYang
- uxgood
Committers
邮件列表
soui@lists.openkylin.top