ITPub博客

首页 > 应用开发 > IT综合 > 学习SwiftUI

学习SwiftUI

投稿 IT综合 作者:VX_147I8IO5I13 时间:2020-04-09 17:37:45 0 删除 编辑

  总览


  如果你想要入门SwiftUI的使用,那Apple这次给出的官方教程绝对给力。这个教程提供了非常详尽的步骤和说明,网页的交互也是一流,是觉得值得看和动手学习的参考。


  不过,SwiftUI中有一些值得注意的细节在教程里并没有太详细提及,也可能造成一些困惑。这篇文章以我的个人观点对教程的某些部分进行了补充说明,希望能在大家跟随教程学习SwiftUI的时候有点帮助。这篇文章的推荐阅读方式是,一边参照SwiftUI教程实际动手进行实现,一边在到达对应步骤时参照本文加深理解。在下面每段内容前我标注了对应的教程章节和链接,以供参考。


  在开始学习SwiftUI之前,我们需要大致了解一个问题:为什么我们会需要一个新的UI框架。


  为什么需要SwiftUI UIKit面临的挑战


  对于Swift开发者来说,昨天的WWDC 19首日Keynote和Platforms State of the Union上最引人注目的内容自然是SwiftUI的公布了。从iOS SDK 2.0开始,UIKit已经伴随广大iOS开发者经历了接近十年的风风雨雨。UIKit的思想继承了成熟的AppKit和MVC,在初出时,为iOS开发者提供了良好的学习曲线。


  UIKit提供的是一套符合直觉的,基于控制流的命令式的编程方式。最主要的思想是在确保View或者View Controller生命周期以及用户交互时,相应的方法(比如viewDidLoad或者某个target-action等)能够被正确调用,从而构建用户界面和逻辑。不过,不管是从使用的便利性还是稳定性来说,UIKit都面临着巨大的挑战。我个人勉强也能算是iOS开发的“老司机”了,但是「掉到UIKit的坑里」这件事,也几乎还是我每天的日常。UIKit的基本思想要求View Controller承担绝大部分职责,它需要协调model,view以及用户交互。这带来了巨大的side effect以及大量的状态,如果没有妥善安置,它们将在View Controller中混杂在一起,同时作用于view或者逻辑,从而使状态管理愈发复杂,最后甚至不可维护而导致项目失败。不仅是作为开发者我们自己写的代码,UIKit本身内部其实也经常受困于可变状态,各种奇怪的bug也频频出现。


  声明式的界面开发方式


  近年来,随着编程技术和思想的进步,使用声明式或者函数式的方式来进行界面开发,已经越来越被接受并逐渐成为主流。最早的思想大概是来源于Elm,之后这套方式被React和Flutter采用,这一点上SwiftUI也几乎与它们一致。总结起来,这些UI框架都遵循以下步骤和原则:


  使用各自的DSL来描述「UI应该是什么样子」,而不是用一句句的代码来指导「要怎样构建UI」。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69969661/viewspace-2685275/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: HTTP 协议的起源
请登录后发表评论 登录
全部评论
承接各种APP软件开发:147-1810-5113微电.

注册时间:2020-04-01

  • 博文量
    12
  • 访问量
    8043