Swift開發開源框架Katana

banq發表於2016-11-23
Katana是一個用於編寫iOS應用程式的現代Swift框架,靈感來自React和Redux:

1.邏輯:應用程式狀態完全由單個可序列化資料結構描述,並且更改狀態的唯一方法是排程操作action。動作action是轉換狀態的意圖,幷包含所有要執行此操作的資訊。因為所有的變化是集中的,並且以嚴格的順序發生,沒有微妙的競爭條件值得注意(無需關注鎖與併發問題)。

2.UI:根據屬性props(配置資料,如按鈕的背景顏色)和狀態(內部狀態資料,如按鈕的突出顯示的狀態)宣告性地描述的元件樹來定義UI。這種方法讓您將元件視為獨立的,可重複使用的UI,因為元件的呈現方式僅取決於元件本身的當前屬性props和狀態。

3.邏輯↔️UI:UI元件連線到應用程式狀態,並將在每個狀態更改時自動更新。您可以控制它們的變化,這種變化是透過選擇應用程式某個狀態實現,這些狀態正好輸出給元件屬性props。為了儘可能快地呈現該過程,僅更新UI的相關部分。

4.佈局:Katana定義了一種簡潔的語言(靈感來自於Plastic),用於描述完全響應的佈局,它將適度地縮放每個寬高比或尺寸,包括字型大小和影像。

BendingSpoons/katana-swift: Swift Apps in a Swoosh

相關文章