都是新一代UI编程框架,都是申明式 UI 编程,都有各自的DSL描述页面。都有各自的场景。
目标
Flutter,Google新一代操作系统Fuchsia 的界面设计框架,还支持Android,iOS,桌面,Web 平台。推测以后嵌入到Android系统内部,流行度将暴增。
SwiftUI是苹果Swift语言的作品,支持watchOS,iOS,iPadOS,macOS,tvOS ,苹果的所有操作系统平台。统一了界面元素。
React是Facebook搞得web框架,也衍生出React Native,支持移动端平台。
入口
Flutter入口是main方法,runApp(widget),传入DSL描述的widget。
SwiftUI也是main方法。集成App协议,实现body。
import SwiftUI
@main
struct TestApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
UI 元素
Flutter 每个UI元素是Widget,子元素是child,多个子元素是children。修饰使用属性。
SwiftUI 每个UI元素是 View,子元素是context,修饰元素使用modify。链式写法,比flutter的属性要简明很多,不需要注意逗号。
React使用html标签。逻辑使用js。