SwiftUI 初探

栏目: Swift · 发布时间: 5年前

内容简介:从 Swift1.2 就看好Swift,逐渐在项目中使用,并且之后的代码完全用Swfit开发。享受到了便利,也遇到了很多坑,痛并快乐着。WWDC19 最令人兴奋的无疑是SwfitUI,这个即将统一Apple平台(iOS, padOS, macOS, TVOS, watchOS)的声明式UI框架。也刚好作为这次内部 Tech Share 的分享,美滋滋。这就开始吧!因为声明式 UI已经成为主流,React、Flutter、Jetpack Compose、SwiftUI。

本次分享又名:AppleFuckFlutter.framework 初探

从 Swift1.2 就看好Swift,逐渐在项目中使用,并且之后的代码完全用Swfit开发。享受到了便利,也遇到了很多坑,痛并快乐着。WWDC19 最令人兴奋的无疑是SwfitUI,这个即将统一Apple平台(iOS, padOS, macOS, TVOS, watchOS)的声明式UI框架。也刚好作为这次内部 Tech Share 的分享,美滋滋。

这就开始吧!

为什么

为什么关注SwiftUI?

因为声明式 UI已经成为主流,React、Flutter、Jetpack Compose、SwiftUI。

为什么要实践SwiftUI?

受够了Storyboard 和 每次更改都需要运行才能看到结果。

为什么选择 SwiftUI?

实时更新 live preview, (不能给上厕所找借口了),不但可以预览,还可以反向生成代码,真正的微调, 多屏幕预览,一次适配所有机型。

声明式编程是未来

  • 代码是描述程序在做什么,可阅读性会大大提高;

  • 组件状态更容易维护在内部,减少副作用;

  • 组件之间的边界更明显,从而让组件复用更灵活。

最知名的就是 SQL 了,SQL 最大的特点就是只声明我想要什么(What) , 就是不说怎么做(How)。声明式编程多和链式想嵌套,每次返回操作对象,对操作对象一直操作。

什么是声明式UI:

声明式UI描述的不是命令,是直接描述界面是怎样的,而忽略其实现细节。

React、Flutter 包括刚出的 SwiftUI 都选择了声明式的 UI,从一个侧面也印证了这一点。摒弃了将 IB 生成的 UI 内容存储在 XML 的这种很老土的做法。

实战:

前期准备

  • 升级mac 系统 10.15 beta(新系统才能支持实时 preview)

  • 升级Xcode 11 beta

例子

实战例子选取了苹果SwiftUI Tutorials 实现了常用组件 List (UITableview),以及点击事件跳转到详情的操作。总体涵盖了常用的UI和Action。并且每节课课后有 Check Your Understanding 几个简单题目检测你的理解。

总结

优点

  • 更加 autolayout, 更加相对,以及和系统的适应,比如字体的 head, 比如 leadding, 更接近 Flex 布局

  • 点开 SwiftUI Text 属性会发现是一个不同于 UIText 的新的属性,猜测SwiftUI 在较为底层重新实现了UI,抛弃了(或在逐渐抛弃)冗余UIKit,使渲染更高效。

    SwiftUI 初探
  • 实时预览 Live preview, 不但可以预览,还可以反向生成代码,真正的微调,可以预览多个 preview,同时适配多个 device

  • WatchOS, TVOS, macOS, iOS 会调整适配的UI *4

  • 新实现了UI,抛弃老旧冗余的 UIKit

缺点

  • 反应还是有些不灵敏

  • 输入联想不太好,总错,总不联想

  • Live Preview & Debug Preview, 当你要相应事件以及操作,需要打开Live Preview 模式

  • 使用较小型,定制化低的应用,精细的定制化反而破坏了声明式UI提供的系统定制UI

  • 不适配低于 iOS 13 的设备

前景

有理由相信 苹果可以考虑把 SwiftUI 内置在 APP 包内,使开发者可以更轻易地兼容低版本的操作系统。

The shortest path to building great apps on every device
SwiftUI 初探
SwiftUI 初探

以上所述就是小编给大家介绍的《SwiftUI 初探》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

反应式设计模式

反应式设计模式

Roland Kuhn、Brian Hanafee、Jamie Allen / 何品、邱嘉和、王石冲、林炜翔审校 / 清华大学出版社 / 2019-1-1 / 98.00 元

《反应式设计模式》介绍反应式应用程序设计的原则、模式和经典实践,讲述如何用断路器模式将运行缓慢的组件与其他组件隔开、如何用事务序列(Saga)模式实现多阶段事务以及如何通过分片模式来划分数据集,分析如何保持源代码的可读性以及系统的可测试性(即使在存在许多潜在交互和失败点的情况下)。 主要内容 ? “反应式宣言”指南 ? 流量控制、有界一致性、容错等模式 ? 得之不易的关于“什么行不通”的经验 ? ......一起来看看 《反应式设计模式》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具