都是新一代UI編程框架,都是申明式 UI 編程,都有各自的DSL描述頁(yè)面。都有各自的場(chǎng)景。
目標(biāo)
Flutter,Google新一代操作系統(tǒng)Fuchsia 的界面設(shè)計(jì)框架,還支持Android,iOS,桌面,Web 平臺(tái)。推測(cè)以后嵌入到Android系統(tǒng)內(nèi)部,流行度將暴增。
SwiftUI是蘋果Swift語(yǔ)言的作品,支持watchOS,iOS,iPadOS,macOS,tvOS ,蘋果的所有操作系統(tǒng)平臺(tái)。統(tǒng)一了界面元素。
React是Facebook搞得web框架,也衍生出React Native,支持移動(dòng)端平臺(tái)。
入口
Flutter入口是main方法,runApp(widget),傳入DSL描述的widget。
SwiftUI也是main方法。集成App協(xié)議,實(shí)現(xiàn)body。
import SwiftUI
@main
struct TestApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
UI 元素
Flutter 每個(gè)UI元素是Widget,子元素是child,多個(gè)子元素是children。修飾使用屬性。
SwiftUI 每個(gè)UI元素是 View,子元素是context,修飾元素使用modify。鏈?zhǔn)綄懛ǎ萬lutter的屬性要簡(jiǎn)明很多,不需要注意逗號(hào)。
React使用html標(biāo)簽。邏輯使用js。