在2020年成为中级iOS开发人员[操作指南]

初学者或副学士级别只需要知道要做某事,但要成为中级水平,您就需要能够按照最佳实践以某种方式做某件事。 我试图列出一些中级iOS开发人员应该知道的事情。

语言高级知识(Swift / Obj-C)

一个中级的iOS开发人员应该具有基本的基础知识,以及对语言(最好是在Swift中)的深入了解。

  • 面向协议的编程
  • 泛型和协议
  • 价值观和参考
  • 类型和操作
  • 序列,集合和算法
  • 内存管理
  • 错误处理
  • 可编码

建筑

对于架构而言,最常见,使用和滥用的模式是MVC,它无法很好地测试和重用,并且要克服该问题,有许多流行的解决方案,例如MVVM ,MVP和VIPER等,您将遵循并实现哪种方法取决于您但是我更喜欢将MVVM与Clean Architecture结合使用 ,因为我发现它更平衡,更简单,更适合中小型项目,并且易于整个团队实施和遵循。 请参阅以下有关MVVM和设计模式的文章:

在2020年成为中级iOS开发人员[操作指南]_第1张图片

MVVM教程

  • 带有Swift应用程序的MVVM模式
  • 如何不急于MVVM实现
  • 通过教程设计模式:MVVM
  • MVVM设计模式简介
  • 出色的iOS架构
  • 如何在MVVM中使用RxSwift
  • 带有RxSwift的MVVM
  • iOS上的MVVM + RxSwift
  • iOS上的Clean Architecture和MVVM
  • 使用RxSwift的iOS应用程序清洁架构示例

设计模式

中级iOS开发人员必须能够遵循良好的设计模式,并且应遵循 SOLID原则,并且不得违反任何设计模式原则。在iOS中,这些是“必不可少的”

  • 辛格尔顿
  • 观察者
  • 代表
  • 战略
  • 迭代器
  • 建筑
  • 组播委托模式
  • 外墙图案
  • 复合图案
  • 纪念图案
  • 观察者模式

参考本教程 ,它讨论各种设计模式。

坚持不懈

如果无法使用互联网,并且应用程序无法正常运行,则数据持久性对于应用程序而言非常重要;如果互联网运行缓慢且应用程序运行缓慢,则数据持久性很差,这会导致API调用过多,从而使开发人员和用户承担更多的数据成本。 考虑到安全性,速度,复杂性,可重用性,支持性,有很多解决方案,您可以根据需要选择解决方案。

  • 核心数据
  • SQLite的
  • 用户默认值
  • 领域
  • ObjectBox (新收藏)

并发

高级开发人员必须了解 Grand Central Dispatch和OperationQueue

  • 如何做GCD , OperationQueue
  • 串行或并行队列。
  • 主线程,后台线程

优化

应该 优化 代码 ,不应该有任何内存泄漏,保留周期,Xcode提供了内存图调试器和仪器来调查内存泄漏和保留周期。

安全

必须确保安全性,并且 秘密管理必须适当。

反应性

现代应用程序的反应性非常强,要处理反应性,我们需要任何反应性框架。 RxSwfit和ReactiveCocoa的 知识如今已不可避免。

CI / CD

CI(连续集成),CD(连续交付)是中级开发人员必须具备的知识。 诸如 Fastlane之类的工具 ,诸如Jenkins , Bitrise , CircleCL之类的服务 。

TDD

测试驱动开发(TDD)是一种编程实践,它指示开发人员仅在自动测试失败时才编写新代码。 编写可口的代码,编写单元测试是其中的一部分。 使用 XCTest或使用Quick and Nimble等第三方框架编写单元测试 。

代码样式和质量

中级开发人员应遵循任何标准样式指南,例如

  • Raywinderlich样式指南
  • Linkedin风格指南
  • Google样式指南

对于掉毛目的工具,如SwiftLint ,代码格式化SwiftFormat 。 Xiblint用于插入情节提要,XIB文件和CodePecker,以检测未使用的Swift代码。

SwiftUI和合并

SwiftUI和Combine是Apple Development生态系统中最新,最激动人心的东西,它们是出色的框架,但没有太多开发人员在生产中使用它,因为大多数人需要在iOS 13之前支持设备,但到2020年底,它应该是规范(希望如此)。 按照此速查表快速了解SwiftUI。

不只是技术技能

具有关于这些主题的理论和实践知识,可能会使您成为中级水平的开发人员,并且要成为高级开发人员,您也需要在软技能方面有所改进。

  • 如何成为高级开发人员
  • 什么时候应该称自己为高级开发人员
  • 成为高级开发人员的6个技巧

让我们在Twitter或LinkedIn上连接,或者阅读我的其他著作或访问我 。

From: https://hackernoon.com/become-an-intermediate-ios-developer-in-2020-a-how-to-guide-zc623203

你可能感兴趣的:(设计模式,swift,移动开发)