每个高级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 上。