SwiftUI 初识

swiftUI

大前端风向目前一直很强劲,目前Google 的 Flutter 可谓是风头正盛。而 苹果呢,也在去年展示了自家的跨自家平台框架 SwiftUI.

开始一波新的征程, 脱离 《UIKit》 的这套框架,重新定义了新的方式和类型、

语言&语法

swift 和 Dart 都作为两个平台的新生代语言。 swift 也打破了苹果的封闭原则,采用开源的方式使其得到了快速的发展。

SwiftUI 用数据绑定和状态管理替代了原有的复杂控制逻辑,而 DSL 又使得代码在结构上和 UI 的层级结构高度一致。

一直以来我们都 面向对象编程 OOP 的封装、集成。它是一种控制流,命令式的方式。
swift 以 函数式编程 functional programming 更像是一种 声明式语法 和 面向协议编程 POP .

这语法糖真的是太甜了: 不需要 、 缺省参数、 内联闭包 、 最后一个参数是{}, 则可以放到整个属性外面, 如果没有参数(),则可以省略()

struct ContentView: View {

        @State var name:String = "osborn" 
     let results = [Result(score: 8), Result(score: 5), Result(score: 10)]

     var body: some View {

     HStack {
        ForEach( results ) { (result) in
            Text("Result: \(result.score)")
        }
     }

    .padding()
    .foregroundColor(Color.orange)
    .font(Font.largeTitle)
}

}

View

UIControl

类型

  • struct
  • class
  • Protocol
  • generics
  • enum
  • functions

参考

喵神 – 面向协议编程与 Cocoa 的邂逅