MovieSwiftUI

SwiftUI & Combine app using MovieDB API. With a custom Flux (Redux) implementation.

  • 所有者: Dimillian/MovieSwiftUI
  • 平台:
  • 許可證: Apache License 2.0
  • 分類:
  • 主題:
  • 喜歡:
    0
      比較:

Github星跟蹤圖

MovieSwiftUI

MovieSwiftUI is an application that uses the MovieDB API and is built with SwiftUI.
It demos some SwiftUI (& Combine) concepts. The goal is to make a real world application using SwiftUI only. It'll be updated with new features as they come to the SwiftUI framework.

I have written a series of articles that document the design and architecture of the app: Making a Real World Application With SwiftUI.

App Image

Architecture

MovieSwiftUI data flow is a subset and a custom implementation of the Flux part of Redux.
It implement the State in an ObservableObject as a @Published wrapped property, so changes are published whenever a dispatched action produces a new state after being reduced.
The state is injected as an environment object in the root view of the application, and is easily accessible anywhere in the application.
SwiftUI does all aspects of diffing on the render pass when your state changes. No need to be clever when extracting props from your State, they're simple dynamic vars at the view level. No matter your objects' graph size, SwiftUI speed depends on the complexity of your views hierarchy, not the complexity of your object graph.

SwiftUI

MovieSwiftUI is in pure Swift UI, the goal is to see how far SwiftUI can go in its current implementation without using anything from UIKit (basically no UIView/UIViewController representable).

It'll evolve with SwiftUI, every time Apple edits existing or adds new features to the framework.

Platforms

Currently MovieSwiftUI runs on iPhone, iPad, and macOS.

Follow me on Twitter to get the latest update about features, code and SwiftUI tips and tricks!

主要指標

概覽
名稱與所有者Dimillian/MovieSwiftUI
主編程語言Swift
編程語言Swift (語言數: 2)
平台
許可證Apache License 2.0
所有者活动
創建於2019-06-06 19:19:46
推送於2024-01-17 15:31:08
最后一次提交2021-06-07 13:45:32
發布數0
用户参与
星數6.5k
關注者數134
派生數653
提交數343
已啟用問題?
問題數45
打開的問題數7
拉請求數17
打開的拉請求數4
關閉的拉請求數7
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?