新的一年已经开始,我们中的大多数人可能正在弄清楚今年应该关注什么。无论是学习新事物还是扩展我们过去已经学过的主题的知识,在 iOS 开发的世界中总有一些值得我们关注的东西。
在这篇简短的文章中,我列出了五件事,我相信它们会帮助你在 2022 年成为更好的开发人员。或者更确切地说,是 2022 年上半年。我完全期待 Apple 在今年的 WWDC 上发布一些很酷的新有趣的东西下半年值得您关注。
也就是说,如果你专注于这篇文章中列出的五件事,我相信你会在年底成为一个更强大的开发人员。
请注意,这份清单不应被视为在 2022 年成为一名优秀开发者的“最终”指南。它也不是每个iOS 开发者最重要的主题清单。
这是我认为很重要的主题列表,也是今年将占用我很多时间的主题列表。如果你不同意这个列表,那绝对没问题;你的优先事项不必与我的一致。
顺便说一下,让我们进入我列表中的第一个主题。
1. SwiftUI 与 UIKit 一起使用(反之亦然)
我在 2021 年看到的最两极分化的问题之一可能是 SwiftUI 是否“准备好生产”。在我看来,这个问题太模糊了,因为答案取决于个人对生产就绪的定义在他们的上下文中是什么。在我看来,更重要的是 SwiftUI 可以很好地用于您的应用程序。无论您是否愿意全押,您都是自己的选择。甚至在某些情况下,由于各种原因,不太可能在 SwiftUI 上全力以赴。
我在过去一年中看到和开发的绝大多数应用程序都可以通过简单的 SwiftUI 走得很远,但几乎总是有一些边缘需要降级到 UIKit。或者,我已经看到现有的生产应用程序想要开始集成 SwiftUI,而无需立即重写所有内容,这是完全合理的。
幸运的是,我们可以在我们的项目中同时使用 SwiftUI 和 UIKit,我强烈鼓励人们这样做。确保您深入了解并了解如何将 SwiftUI 混合到 UIKit 应用程序中,或者如果您发现纯粹使用 SwiftUI 遇到限制,您可以如何在 SwiftUI 应用程序中回退到 UIKit。
知道如何做到这一点将使您能够在可能的情况下采用 SwiftUI 功能,并加快您的开发过程,因为使用 SwiftUI 编写 UI 比 UIKit 快得多(当它满足您的需求时)。最重要的是,公司需要一段时间才能让他们的所有应用程序完全用 SwiftUI 编写,因此知道如何逐步引入它是作为员工甚至正在寻找下一个(或他们的第一份工作)。
2. 应用架构
不,我的意思不是“学习 VIPER”或“学习所有架构”。事实上,我并不是说您应该特别学习任何应用程序架构。
在我看来,理解几乎所有架构所建立的原则更有价值;关注点分离。当您想要编写易于推理、易于重构和易于测试的代码时,了解如何以及何时将应用程序的功能拆分为不同的组件以及了解这些组件的结构非常重要。
尝试并了解诸如单一职责原则、依赖注入、抽象、协议、泛型等主题。一旦您了解了这些主题,您就会发现许多架构模式只是相同原则的不同应用。换句话说,许多架构为您和您的团队提供了一个框架来推理代码库中的不同层,而不是一种完全独特的工作方式。
了解更多关于应用程序架构的一个不太明显的原因是,它将帮助您编写可以在 SwiftUI 世界和 UIKit 世界中工作的代码,鉴于我在此列表的第一点中解释的内容,这非常有用。构建同时适用于 SwiftUI 和 UIKit 的代码库的能力非常有用,肯定会帮助您享受更多混合 UI 框架的体验。
3. 异步等待
如果有一个主题我不能从这个列表中删除,那就是 async-await。或者更确切地说,是 Swift 的新并发模型。随着 async-await 的引入,Apple 不仅引入了一些语法糖(就像 async-await 本质上是 JavaScript 中承诺的糖)。Apple 引入了一个全新的现代并发系统,我们可以在我们的应用程序中利用它。
今年学习结构化并发、参与者、任务组等主题非常有用。尤其是因为 Apple 设法将 Swift Concurrency 一直向后移植到 iOS 13。如果您想在面向 iOS 13.0 及更高版本的应用程序中使用 Swift Concurrency,请确保您使用的是 Xcode 13.2 或更高版本,并且您应该很高兴。
如果你想了解更多关于 Swift Concurrency 的信息,我的博客上已经有几篇博文了。单击此处转到 Swift Concurrency 类别。
4. Core Data
是的。这是一个相当古老的框架,它的 Objective-C 根源不是很好隐藏。无论如何,Apple 显然仍然对让人们使用和采用 Core Data 感兴趣,因为他们已经在 iOS 15 中为 Core Data + SwiftUI 添加了新功能,并且之前的 iOS 版本也收到了各种 Core Data 更新。
Apple 会很快用更 Swift 友好的替代品取代 Core Data 吗?老实说我不知道。我认为 Apple 不太可能在短期内进行全面更换。Apple 似乎更有可能保留 Core Data 的核心位,并在此基础上为我们提供更 Swift 友好的 API。这样可以逐步完成从当前 API 到更新 API 的过渡,如果我们想利用最新最好的 API,我们的应用程序将不必经历一些重大迁移。与 Apple 引入 SwiftUI 的方式非常相似。
Core Data 是在所有情况下保存数据的绝对最佳方式吗?可能不是。对于大多数应用程序来说,实施起来是否极其困难且过于繁重?一点都不。Core Data 真的没有那么可怕,它与 SwiftUI 的集成非常好。例如,查看我在 SwiftUI 应用程序中使用 Core Data 所做的视频。
如果你想在今年学习更多关于 Core Data 的知识,我强烈建议你拿起我的Practical Core Data 一书。它教你在 SwiftUI 和 UIKit 应用程序中有效使用 Core Data 所需的一切。
5. 可访问性
最后但并非最不重要的是我自己应该了解更多的主题。可访问性通常被认为是可选的、“功能”或您在开发过程中最后做的事情。或者说老实说,在路线图上根本不考虑可访问性的情况并不罕见。
当您像这样考虑可访问性时,很有可能您的应用根本无法访问,因为您从未完成过这项工作。我不完全确定我是从哪里第一次听到这个消息的,但如果您不确定您的应用是否可访问,那就不是。
可访问性是我们应该积极关注的事情,以确保每个人都可以使用我们的应用程序。Apple 用于实现和测试可访问性的工具非常好,我不得不承认我对它们知之甚少。因此,对于 2022 年,可访问性绝对在我要关注的事情清单上。
精品教程推荐
加入我们一起学习SwiftUI
QQ:3365059189
SwiftUI技术交流QQ群:518696470
教程网站:www.openswiftui.com