An open API service indexing awesome lists of open source software.

https://github.com/lkzhao/uicomponent

A modern, declarative approach to building user interfaces with UIKit.
https://github.com/lkzhao/uicomponent

declarative-ui swiftui ui uicollectionview uikit unidirectional-data-flow

Last synced: 24 days ago
JSON representation

A modern, declarative approach to building user interfaces with UIKit.

Awesome Lists containing this project

README

          

# UIComponent

UIComponent is a declarative and modern framework to build user interfaces with UIKit. With the power of `@resultBuilder` and `@dynamicMemberLookup`, your UIKit interface can be easily constructed with a syntax similar to SwiftUI. UIComponent also embraces unidirectional data flow instead of two way binding, and offers great performance and optimization opportunities.

In version 5.0, UIComponent can also easily render SwiftUI View alongside UIViews and other components.

## Documentation

### Getting Started

#### The best way to learn the project is to download or clone the repo, then open the `UIComponentExample.xcodeproj` and run it on your mac or an iPad simulator!

- [Installation](https://lkzhao.com/UIComponent/documentation/uicomponent/installation)
- [Component Basics](https://lkzhao.com/UIComponent/documentation/uicomponent/componentbasics)
- [Custom View](https://lkzhao.com/UIComponent/documentation/uicomponent/customview)
- [State Management](https://lkzhao.com/UIComponent/documentation/uicomponent/statemanagement)

### Advanced Topics

- [Custom Component](https://lkzhao.com/UIComponent/documentation/uicomponent/customcomponent)
- [Animation](https://lkzhao.com/UIComponent/documentation/uicomponent/animation)
- [Modifier List](https://lkzhao.com/UIComponent/documentation/uicomponent/component#instance-methods)
- [Internal Architecture](https://lkzhao.com/UIComponent/documentation/uicomponent/architecture)
- [Compare to SwiftUI](https://lkzhao.com/UIComponent/documentation/uicomponent/swiftuicompare)
- [Full API Reference](https://lkzhao.com/UIComponent/documentation/uicomponent)
- [2.0 Changes](https://lkzhao.com/UIComponent/documentation/uicomponent/version2migrationguide)
- [4.0 Changes](https://lkzhao.com/UIComponent/documentation/uicomponent/version4migrationguide)
- [5.0 Changes](https://lkzhao.com/UIComponent/documentation/uicomponent/version5migrationguide)

> Checkout the [UIComponentExample/Chapters](https://github.com/lkzhao/UIComponent/tree/main/UIComponentExample/Chapters) folder for code examples.