iOS开发人员在2021年应关注的10件事

donnywals于2021年1月4日发布

我知道并不是每个iOS开发人员都必须学习此列表中的所有内容。就是说,这份清单是我认为已经很重要或今年变得越来越重要的技术和技能的清单。

这是我今年已经学习,计划要学习或想要学习的技术和技能的列表。这也是希望能激发您开阔视野,学习新事物的清单。或者,此列表可能会激发您刷新您之前看过但一段时间没有关注的事物的知识。

Combine

Apple在iOS 13上发布了Combine框架。Combine是Apple的功能性反应式编程框架,与RxSwift相似,但也有很大不同。 Combine的主要卖点是它是第一方框架。这意味着它将由Apple维护(希望很长一段时间),并随着Apple操作系统的发布而更新,这既很棒,也有缺点。

无论如何,我的目标并不是要说服Combine很棒。说服您Combine的目标也不是我的目标。

我将由您决定是否要合并。

不可否认,苹果在合并方面的赌注很高,值得一看。

特别是因为SwiftUI大量使用Combine。

如果您想了解有关组合的更多信息,我想推荐我的《实用组合》一书,以帮助您入门和运行。

SwiftUI

我认为您最近至少要提到SwiftUI才能谈论iOS开发。实际上,我认为SwiftUI在iOS领域正变得越来越重要。

在这一点上,您不太可能需要知道SwiftUI可以在短期内使用。我确实相信SwiftUI是一个重要的学习框架,并且在找工作时肯定可以给您带来优势。

如果您想学习SwiftUI,可以参考一些很好的资源,例如Apple教程SwiftUI入门到实战教程。

当然,还有很多很多资源。这些只是我个人的最爱。

SwiftUI是否已准备好投入生产,这是一个有趣的讨论。当然也有一些粗糙的地方,我们正在共同研究如何在SwiftUI中正确编写应用程序。您可能想看看的SwiftUI应用程序的流行架构是pointfree.co的Composable Architecture。

XCTest

如果我们都知道应该做的一件事,但是定期跳过,不能做,不会做或者只是忘记了,那就是单元测试。

我个人尽可能地编写测试的动机是,它使我知道某些东西可以工作,而不是认为在代码库中的其他地方进行更改后它仍然可以工作。除非经过测试,否则我无法确定认为某些事情可行。自动化测试可确保我永远不会忘记测试某些功能,并且它比手动测试快得多。

如果您要说服经理相信自己应该编写测试,请查看我自2019年以来的演讲,名为``在工作场所采用TDD''。最重要的是,作为开发人员,测试应该成为您的过程的一部分。测试可以帮助您编写解耦的代码,并且一旦完成设置,您的测试就会一直运行。这比手动测试要快得多,也更加严格。

如果您想了解有关iOS单元测试的更多信息,我可以强烈推荐Jon Reids的网站和他的示例iOS单元测试书。

Collection View

在过去的几年中,Apple一直在忙于改善“收藏夹视图”。尤其是iOS 13的合成集合视图布局和可扩散的数据源,极大地改善了我们使用集合视图的方式。

在iOS 14中,Apple进行了更多改进。例如,我们现在使用一种非常灵活的集合视图列表布局,并且有一种新的方式来注册和退出自定义单元格,称为单元格注册。

如果您不熟悉集合视图,或者您还没有看过新功能,我强烈建议您这样做。苹果在集合视图方面确实做得非常出色。确保查看Apple的示例应用程序,以查看自iOS 13投入使用以来的大多数新功能。

Core Data

尽管Core Data不是一个新框架,并且其根基牢固地扎根于Objective-C领域,但它仍然是一项非常相关的技术。苹果已经投入了大量资源来使Core Data变得更容易,更易于使用,他们甚至还增加了在iOS 13中自动与iCloud同步的功能。

严格来说,这并不是Apple首次尝试将iCloud同步添加到Core Data,但这无疑是Apple的最佳尝试。

如果您在Apple在iOS 10中添加NSPersistentContainer之前不喜欢使用Core Data,或者不喜欢使用Core Data,或者由于它笨拙,糟糕,效率低下或难以使用而被告知避免使用Core Data,我强烈建议您使用换个样子。

苹果在其网站上提供了许多有关Core Data的信息,而诸如Antoine van der Lee之类的社区成员也撰写了大量有关Core Data的信息。

我自己做了很多与Core Data相关的文章,并于今年年初发布了有关该框架的一本书,名为《实用核心数据》,我个人非常喜欢它,并强烈推荐给那些初次接触Core的新手和新手。数据一段时间。

Instruments

我们都希望我们的应用程序不存在内存泄漏,丢帧和其他性能欠佳的特征。

发现性能问题的最喜欢的方法是“工具”工具。如果您以前从未看过Instruments,我认为2021年应该是您改变这一年的一年。

我认为Instruments是一种基本工具,在每个iOS开发人员的工具箱中都应占有一席之地。

要开始使用Instruments,您可以查看Apple提供的概述。

如果概述太多,您可能会喜欢我在Time Profiler上撰写的这篇文章,这是我到目前为止使用最多的Instruments。

沟通技巧

能够以开发人员的身份进行有效沟通非常重要。无论是口头还是书面形式。我认为,我们从未完成过改善沟通方式的工作。

这就是为什么我认为在2021年花一些时间来改善所谓的“软”技能是一件好事。这将帮助您成为更好的团队成员,更有效的沟通者和更好的倾听者。

这些是我认为开发人员经常低估的技能,这就是为什么将其添加到列表中对我而言很重要。 (感谢小费HeidiPuk)。

一些资源可以帮助您入门,这是Ask Furrow的演讲以及与Sean Allen和Mayuko的访谈/播客集。

练习沟通技巧,经常写作,确保听别人说,并在可能的情况下要求您提供有关沟通技巧的反馈。如果您定期这样做,我相信您会在2021年底之前成为更强大的沟通者。

构建通用应用

现在,这是我个人希望在2021年投入大量时间的一项技术。在过去的几年中,Apple向我们展示了如何构建可在iOS和Mac上运行的应用程序。首先使用catalyst,然后使用SwiftUI。

现在,Apple的M1 Macs已经淘汰,它们可以在本机上运行iOS应用程序,我认为现在是时候开始考虑将Mac作为我们应尽可能编写应用程序的平台了。与我们尝试确保大多数(如果不是全部)应用程序在iPad和iPhone上运行的方式类似。

不幸的是,我还没有找到任何有用的资源。苹果公司有一些可能有趣的WWDC视频,但是由于我还没有看过通用应用程序,因此我欠您一些链接。

如果您有适合我的通用应用程序资源,请告诉我。

ARKit(和RealityKit)

随着有关苹果眼镜的传闻越来越多,我认为我们最终可能会看到它们。也许在2021年,也许以后。

但是,一旦(不可避免)宣布这些眼镜,我们可能会希望为它们构建应用程序。

我敢打赌,一旦我们能够为眼镜构建应用程序,我们将在Apple的增强现实框架之上进行操作。

我认为,现在是开始学习ARKit并建立一些增强现实体验的绝佳时机。特别是如果您有兴趣为传闻中的Apple眼镜制作应用程序感兴趣。

除了ARKit的文档和WWDC视频外,Apple还提供了大量资源来帮助您入门增强现实。

async / await

尽管此功能尚未在Swift中正式提供,但由于它的零碎内容仍在Swift论坛上进行了审查,我认为async / await是今年要关注的最大的新事物之一。

我不知道哪个Swift版本将包含正式的async / await版本,但是如果您使用的是最新的Swift版本,则可以立即试用该功能。

异步/等待将大大改变我们在Swift中编写异步代码的方式,对此我感到非常兴奋。

如果您想跟随其发展,可以在发布所有评论和建议的Swift论坛上进行。

总之

我认为2021年您应该重点关注的10件事清单是与之相关的清单。当然,有些事情可能与您无关。或者,此列表可能缺少您认为每个人都应该关注的重要技术或技能。

没关系,我只是希望这份清单能为您提供学习(新)事物的方向。我列表中的某些内容已经存在了一段时间,而另一些则是全新的。如果您今年不了解新事物,那还可以。按照自己的进度学习和调查,着重于让自己想去的地方。

如果您对此列表有任何反馈,或者想分享2021年的关注点,请给我发送Tweet。我喜欢您的来信。

译自:https://www.donnywals.com/10-things-ios-developers-should-focus-on-in-2021/

猜你喜欢

转载自blog.csdn.net/fzhlee/article/details/114268634
今日推荐