初学者或副学士级别只需要知道要做某事,但要成为中级水平,您就需要能够按照最佳实践以某种方式做某件事。 我试图列出一些中级iOS开发人员应该知道的事情。
语言高级知识(Swift / Obj-C)
一个中级的iOS开发人员应该具有基本的基础知识,以及对语言(最好是在Swift中)的深入了解。
建筑
对于架构而言,最常见,使用和滥用的模式是MVC,它无法很好地测试和重用,并且要克服该问题,有许多流行的解决方案,例如MVVM ,MVP和VIPER等,您将遵循并实现哪种方法取决于您但是我更喜欢将MVVM与Clean Architecture结合使用 ,因为我发现它更平衡,更简单,更适合中小型项目,并且易于整个团队实施和遵循。 请参阅以下有关MVVM和设计模式的文章:
MVVM教程
- 带有Swift应用程序的MVVM模式
- 如何不急于MVVM实现
- 通过教程设计模式:MVVM
- MVVM设计模式简介
- 出色的iOS架构
- 如何在MVVM中使用RxSwift
- 带有RxSwift的MVVM
- iOS上的MVVM + RxSwift
- iOS上的Clean Architecture和MVVM
- 使用RxSwift的iOS应用程序清洁架构示例
设计模式
中级iOS开发人员必须能够遵循良好的设计模式,并且应遵循 SOLID原则,并且不得违反任何设计模式原则。在iOS中,这些是“必不可少的” :
参考本教程 ,它讨论各种设计模式。
坚持不懈
如果无法使用互联网,并且应用程序无法正常运行,则数据持久性对于应用程序而言非常重要;如果互联网运行缓慢且应用程序运行缓慢,则数据持久性很差,这会导致API调用过多,从而使开发人员和用户承担更多的数据成本。 考虑到安全性,速度,复杂性,可重用性,支持性,有很多解决方案,您可以根据需要选择解决方案。
- ObjectBox (新收藏)
并发
高级开发人员必须了解 Grand Central Dispatch和OperationQueue
- 如何做GCD , OperationQueue
- 串行或并行队列。
- 主线程,后台线程
优化
应该 优化 代码 ,不应该有任何内存泄漏,保留周期,Xcode提供了内存图调试器和仪器来调查内存泄漏和保留周期。
安全
必须确保安全性,并且 秘密管理必须适当。
反应性
现代应用程序的反应性非常强,要处理反应性,我们需要任何反应性框架。 RxSwfit和ReactiveCocoa的 知识如今已不可避免。
CI / CD
CI(连续集成),CD(连续交付)是中级开发人员必须具备的知识。 诸如 Fastlane之类的工具 ,诸如Jenkins , Bitrise , CircleCL之类的服务 。
TDD
测试驱动开发(TDD)是一种编程实践,它指示开发人员仅在自动测试失败时才编写新代码。 编写可口的代码,编写单元测试是其中的一部分。 使用 XCTest或使用Quick and Nimble等第三方框架编写单元测试 。
代码样式和质量
中级开发人员应遵循任何标准样式指南,例如
对于掉毛目的工具,如SwiftLint ,代码格式化SwiftFormat 。 Xiblint用于插入情节提要,XIB文件和CodePecker,以检测未使用的Swift代码。
SwiftUI和合并
SwiftUI和Combine是Apple Development生态系统中最新,最激动人心的东西,它们是出色的框架,但没有太多开发人员在生产中使用它,因为大多数人需要在iOS 13之前支持设备,但到2020年底,它应该是规范(希望如此)。 按照此速查表快速了解SwiftUI。
不只是技术技能
具有关于这些主题的理论和实践知识,可能会使您成为中级水平的开发人员,并且要成为高级开发人员,您也需要在软技能方面有所改进。
让我们在Twitter或LinkedIn上连接,或者阅读我的其他著作或访问我 。
From: https://hackernoon.com/become-an-intermediate-ios-developer-in-2020-a-how-to-guide-zc623203