美文网首页
SwiftUI 入门指北

SwiftUI 入门指北

作者: 一茶壶茶 | 来源:发表于2021-01-13 10:34 被阅读0次
编写更少的代码,打造更出色的 APP。

SwiftUI 是什么

SwiftUI 是苹果2019年 WWDC 推出的新 UI 开发框架,主要特点是声明式语法,数据绑定,响应式编程等。和谷歌的跨平台框架 Flutter 思想大同小异。

为什么选择 SwiftUI

SwiftUI 开发效率很高有预览功能,代码即写即所见。支持 Apple 生态平台,一套代码运行 Mac、iPad。

现有项目使用 SwiftUI

由于 SwiftUI 最低支持 iOS13 系统版本,如果你的项目符合,完全可以使用 SwiftUI 开发,目前 SwiftUI 一些 API 还不完善,缺少一些功能,还离不开 UIKit ,所以苹果提供了接口,可以在 SwiftUI 中使用 UIKit 来弥补目前 SwiftUI 的不足,所以我们完全不用担心。

目前有哪些坑

毕竟是新框架还在慢慢完善,API 不稳定,功能不完善,还有可能会出现一些莫名其妙难以定位的 Bug,需要慢慢填坑。

SwiftUI 学习成本

学习成本不算高,上手很快,如果你没有接触过 React、Flutter等跨平台开发框架,还是需要多学习些,主要是命令式到声明响应式编程思想的转变。

推荐的学习资料

由于最低版本限制,目前使用 SwiftUI 开发的很少,除了一些新项目,大部分主流 App 还没有接入 SwiftUI,普及还需要时间,这就导致了目前 SwiftUI 资料很少,网上能搜到的都是零零散散的,并不能很好系统的学习,需要自己花时间看官方文档和教程,官方 SwiftUI 的教程很完善,一定要跟着敲一下代码。另外我最推荐的就是看 19年 WWDC20年 WWDC 关于 SwiftUI 的视频,有中文字幕,包含 UI,布局,动画,数据流,Combine 响应式框架等讲解,强烈推荐。我用一个星期把 WWDC 视频看完,已经可以上手开发了,目前我们有一个新项目正在使用 SwiftUI 开发。

另外推荐两个方便上手开发的框架,可以少走不少弯路

  1. SwiftUIX
    使用 SwiftUI 开发最头疼的就是之前使用的一些 UIKit 控件目前在 SwiftUI 中还没有,比如搜索框 UISearchBar,如果要使用就需要做一下桥接,这个框架帮我们把 SwiftUI 缺失的控件都桥接好了,可以在 SwiftUI 中直接使用 UIKit 的控件,非常方便。
struct ContentView: View {
    @State var isEditing: Bool = false
    @State var searchText: String = ""
    
    var body: some View {
        SearchBar("Search...", text: $searchText, isEditing: $isEditing)
            .showsCancelButton(isEditing)
            .onCancel { print("Canceled!") }
    }
}
  1. SwiftUI-Introspect
    目前 SwiftUI 底层实现大部分是基于 UIKit 框架的,由于 SwiftUI 部分 API 不完善,我们很可能要用到 UIKit 的 API,这个框架允许你获取 SwiftUI 视图的底层 UIKit 或 AppKit 元素。

例如修改设置 List 的分割线,我们就可以拿到底层的 tableview 对象直接修改:

List {
    Text("Item 1")
    Text("Item 2")
}
.introspectTableView { tableView in
    tableView.separatorStyle = .none
}

相关文章

  • SwiftUI 入门指北

    SwiftUI 是什么 SwiftUI 是苹果2019年 WWDC 推出的新 UI 开发框架,主要特点是声明式语法...

  • SwiftUI简单使用

    SwiftUI入门教程[https://github.com/SimpleBoilerplates/SwiftUI...

  • Markdown入门“指北”

    记得第一次接触到Markdown是看见同事在用有道云笔记,然后用Markdown写,不知道是个什么东西,同事简单的...

  • git入门指北

    git是分布式版本控制系统,啥是分布式的呢,就是每一个用户的主机上都有一个版本库,可以在本地进行版本管理。如果需要...

  • Vim入门指北

    ======== 一些基本概念: operator(操作符): 例如命令d, y, c等; motion(移动):...

  • Realm入门指北

    简介 接触Realm已经有一段时间了,但是一直忙着项目,一直没有时间做一下笔记。趁着项目闲着之际,我开始着手记录我...

  • Kylin 入门指北

    1. Background 在数仓指标中,多维度分析是一种常见的需求。当多个维度不确定具体组合时,需要我们在 hi...

  • Nsq入门指北

    Nsq是什么 特征: 分布式的 NSQ提倡没有单点故障的分布式和分散拓扑,支持容错和高可用性,并提供可靠的消息传递...

  • SwiftUI入门 - 代码仓库地址发布

    SwiftUI入门 - 代码仓库地址发布 重新整理了代码和目录 置顶 菜鸟入门,各位大佬轻喷,如有谬误之处欢迎讨论...

  • SwiftUI快速入门

    SwiftUI 是一种非常简单的创新方法,可以利用 Swift 的强大能力在所有苹果设备平台上构建用户界面。通过 ...

网友评论

      本文标题:SwiftUI 入门指北

      本文链接:https://www.haomeiwen.com/subject/xphuaktx.html