文章目录
  1. 1. SwiftUI简介
  2. 2. 目前UI开发面临的挑战
  3. 3. 声明式界面开发方式
  4. 4. SwiftUI开发实战
  5. 5. SwiftUI vs Flutter

一个星期前苹果推出了SwiftUI这个全新的UI框架。《SwiftUI尝鲜》是我在公司移动端内部分享的一个课题,在这里整理一下分享的大致结构和PPT内容。

SwiftUI简介

2019年 WWDC 大会上,苹果宣布了基于Swift的全新的UI开发框架-SwiftUI,让开发者用更少的代码编写相同的UI,开发体验有了很大的提升。

声明式语法

learn one, apply anywhere

实时预览

缺点:目前最低支持iOS13。

目前UI开发面临的挑战

从 iOS SDK 2.0 开始,UIKit 已经伴随广大 iOS 开发者经历了接近十年的风风雨雨。

UIKit 提供的是一套符合直觉的,基于控制流的命令式的编程方式。

负面影响:Controller 承担了绝大部分职责,如果没有妥善管理,会导致状态管理越来越复杂,难以控制。

声明式界面开发方式

声明式的意思就是让我们描述我们需要一个什么样的界面,而不是告诉计算机一步一步要干什么。

比如:如果我们需要添加一个“Hello World”的标签,对于传统的UIKit,它需要负责“创建label”, “设置文字”, “将其添加到view上”:

1
2
3
4
5
6
func viewDidLoad() {
super.viewDidLoad()
let label = UILabel()
label.text = "Hello World"
view.addSubview(label)
}

相对应的,使用SwiftUI我们只需要告诉SDK我们需要一个文字标签:

1
2
3
var body: some View {
Text("Hello World")
}

SwiftUI开发实战

通过开发下面的功能,了解SwiftUI的具体使用。

这是分享的重点内容。

SwiftUI vs Flutter

声明式语法

Flutter跨平台性更强,SwiftUI更能兼容平台特性

SwiftUI代码更为简洁

Flutter更成熟

文章目录
  1. 1. SwiftUI简介
  2. 2. 目前UI开发面临的挑战
  3. 3. 声明式界面开发方式
  4. 4. SwiftUI开发实战
  5. 5. SwiftUI vs Flutter