Blueprint
使用 Swift 编写的 iOS 声明性 UI 构建
Blueprint 极大地简化了构建和更新视图以适应应用程序状态变化的任务。
我们仍然认为 Blueprint 是实验性的(并且可能受到重大 API 变更的影响),但它已经在 Square 的生产 iOS 应用中使用。
let rootElement = Label(text: "Hello from Blueprint!")
let view = BlueprintView(element: rootElement)生成的文档可在 square.github.io/Blueprint 查找。
入门
Swift 包管理器
如果您正在开发自己的包,请确保在 Package.swift 中的 dependencies 中包含了 Blueprint。
dependencies: [
.package(url: "[email protected]:square/Blueprint.git", from: "0.3.0")
]在 Xcode 11 及更高版本中,可以通过 文件 > Swift 包 > 添加包依赖... 直接将 Blueprint 作为依赖项添加到项目中。在被提示时提供 git URL:[email protected]:square/Blueprint.git。
CocoaPods
如果您使用 CocoaPods 来管理依赖项,只需将 BlueprintUI 和 BlueprintUICommonControls 添加到您的 Podfile。
pod 'BlueprintUI'
pod 'BlueprintUICommonControls'这个库可以做些什么呢?
Blueprint 提供了一种架构,允许您:
- 以纯值(Swift 结构和枚举)声明性地定义 UI 层次结构。
- 在您的应用程序中显示该层次结构。
- 当应用程序状态改变时更新该层次结构(包括动画过渡)。
我应该何时使用它?
在任何需要显示视图层次结构但不需要管理视图生命周期的情况下使用 Blueprint(提示:管理视图生命周期是大多数传统 UIKit 代码的一个大方面)。有时您可能想要管理视图生命周期(复杂的动画和过渡是一个很好的例子),对于这些情况,您可能希望坚持传统的做法。
它是如何与 UIKit 交互的?
Blueprint 不是 UIKit 的替代品!从一开始,Blueprint 就被设计为平台附带的所有强大工具的补充。您可以使用 Blueprint 来管理单个视图控制器的显示,或者表示屏幕一小部分的单个视图。同样,在蓝图层次结构中托管标准视图和控件也很简单,始终为您留下出口。
文档
入门
参考
教程
将 Blueprint 添加到现有项目
提供两个模块
BlueprintUI包含核心架构和布局类型。BlueprintUICommonControls包括表示一些常见UIKit视图和控制的元素。
Blueprint 通过 CocoaPods 提供。将其添加到您的 Podfile 以进行集成
target MyTarget do
pod 'BlueprintUI'
pod 'BlueprintUICommonControls'
end版权所有 2019 Square, Inc.
根据 Apache License, Version 2.0 ("许可") 许可使用此文件;除非符合许可,否则您不得使用此文件。您可以在以下位置获得许可的副本:
https://apache.ac.cn/licenses/LICENSE-2.0
除非适用法律要求或已书面同意,否则在许可下分发的软件按“原样”提供,不提供任何明示或暗示的保证或条件。有关许可的特定语言、权限和限制,请参阅许可证。