每个高级iOS开发人员都应了解的概念。

这是每个高级iOS开发人员都应该知道的概念的摘要(不是按优先顺序排列)。 阅读时,在每个标头上添加“何时使用”。

欢迎提出建议。

不同的架构模式:

MVC,MVVM,清洁架构,Viper…

不同的源代码管理选项:

Git,Subversion等。Github,GitLab等服务…。

不同的依赖管理器选项:

Cocoapods,迦太基。

不同的数据存储选项:

Coredata,领域,xml,文件,SQlite,FMDB,SQLCipher…..

编程方法的不同选择:

功能性反应式编程,面向对象的编程,面向协议的编程
框架:反应性可可,反应性Swift,RxSwift,RxCocoa…

解决方案实施中的不同选择:

原生,混合等
框架:Angualar2,ReactNative,Xamarin,Cordova…..

确保代码质量的不同选项:

DI,单元测试,测试自动化,TDD,BDD,样式指南,c格式(自动样式指南)
框架:XCTest,iOS快照测试用例,KIF(iOS集成测试框架)…

确保质量的不同过程:

有效的代码审查
工具:坩埚,Atlassian储藏箱,差速器
框架:ObjcLinte,SwiftLint…。

发送推送通知的不同选项:

APNS,Firebase,Urban Airship等第三方选项…

跟踪用户行为和分析的不同选项:

谷歌分析

跟踪报告和分析应用崩溃的不同选项:

Crashlytics,面料…。

分发用于生产和测试的应用程序的不同选项:

企业与消费者对决(Apple Appstore),曲棍球…..

远程部署应用程序的不同选项:

MobileIron,Airwatch…。

CICD的不同选项:

特拉维斯,詹金斯…..

跟踪项目的不同选项:

JIRA,混血儿……..

最初于 2017 年3月27日 发布在 nishabe.wordpress.com 上。