OpenSwiftUI

codecov

OpenSwiftUI 是 Apple SwiftUI 的一个开源实现。

该项目的目标如下:

API 设计尽可能与原始 SwiftUI API 保持一致。

目前,该项目正处于早期开发阶段。

您可以在这里找到 API 文档

警告

这个包在 Apple 平台上使用了大量的隐藏 API 和私有框架。

不要在 Apple 的生产环境(例如 App Store)中使用这个包。

否则,它可能会在未来的 SDK/OS 更新中破坏您的构建或使您的应用程序崩溃。

用法

请查看 Example 文件夹,并使用 ExampleApp 尝试。

重要提示

在运行示例之前,请在同一目录中克隆 OpenGraph。

有关更多详细信息,请参见 Example/README.md

构建

构建时不包含测试框架

./Scripts/build

构建时包含库演进(Library Evolution)

./Scripts/openswiftui_swiftinterface

注意

您可以使用像 EnvPaneMenuHelper 这样的工具在 macOS 平台上更轻松地管理环境变量。

支持的平台

下表描述了 OpenSwiftUI 对各个平台的当前支持级别

平台 CI 状态 支持状态 构建 测试 部署
SwiftUI 兼容性 Compatibility tests
macOS macOS ⭐️⭐️⭐️ *1
iOS iOS ⭐️⭐️⭐️⭐️ *2
Ubuntu 22.04 Ubuntu ⭐️⭐️ *3
Wasm Ubuntu ⭐️ *4
Windows 尚未支持

注意

跨平台 OpenGraph 尚未完全实现。

目前仅与 AttributeGraph 在 API 上兼容。

因此,大多数核心功能仅在用 AttributeGraph 变体构建的 Apple 平台上可用。

产品

许可

请参阅 LICENSE 文件 - MIT

相关项目

Star History

Star History Chart

脚注

  1. AppKit 和其他 UI 框架后端尚未集成。

  2. UIKit 集成已部分实现。 尚未提供渲染支持。

  3. 支持构建和测试。 但由于已知的 Swift 编译器问题,某些功能被删减。

  4. 支持构建。 由于上游问题,尚未支持测试。