Bending Spoons

2 个pod

Katana

Katana是一个现代的Swift框架,用于编写iOS应用,深受ReactRedux的启发,可以为应用的所有方面提供结构。

  • 逻辑:应用状态完全由单个可序列化的数据结构描述,唯一改变状态的方式是派发一个动作。动作是改变状态的意图,并包含所有改变状态所需的信息。因为所有更改都是集中化的,且按严格顺序发生,因此不需要注意细微的竞态条件。
  • UI:UI以props(配置数据,例如按钮的背景颜色)和状态(内部状态数据,例如按钮的突出显示状态)声明性地描述的组件树来定义。这种方法让您可以将组件视为独立的、可重用的UI片段,因为组件的渲染方式仅取决于组件自身的当前props和状态。
  • 逻辑 ↔️ UI:UI组件连接到应用状态,并将自动在每次状态更改时更新。您控制它们的更改方式,选择将必要部分的应用状态馈送到组件props。为了尽可能快速地渲染此过程,只需要更新UI的相关部分。
  • 布局:Katana定义了一种简洁的语言(受Plastic启发),用于描述完全响应式布局,能够在任何宽高比或大小下优雅地缩放,包括字体大小和图像。

我们认为,自从我们开始在生产中使用Katana以来,它帮了我们很多。在Bending Spoons,我们使用了大量的开源项目,并希望回馈社区,希望您能找到这东西有用,并可能贡献。❤️

许可协议:MIT

  • Swift

KatanaElements

Katana是一个现代的Swift框架,用于编写iOS应用,深受ReactRedux的启发,可以为应用的所有方面提供结构。

KatanaElements包含了与Katana框架一起使用的UI元素,并使您能够轻松开始。

许可协议:MIT

  • Swift