65 Star 149 Fork 438

openKylin/community

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

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

  • setoutsoft

邮件列表

soui@lists.openkylin.top

马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/openkylin/community.git
git@gitee.com:openkylin/community.git
openkylin
community
community
master

搜索帮助