700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > iOS | 妈妈再也不用担心我找不到 iOS 学习资料啦

iOS | 妈妈再也不用担心我找不到 iOS 学习资料啦

时间:2019-07-07 18:38:03

相关推荐

iOS | 妈妈再也不用担心我找不到 iOS 学习资料啦

大家好,这里是 Bo2SS,上次提到了应用开发篇还差一份资料推荐的加餐,这不马上加上~

互联网时代,学习资料基本上是应有尽有、琳琅满目了,但对于学习者来说,选择适合自己的优质学习资料已经成为一大难题。

如果能够快速找到经过检验的、适合自己的学习资料,不仅可以提升我们的学习效率,还能帮助我们快速解决现阶段遇到的问题。

所以,这份加餐主要是整理了作者推荐的一些在线资源相关书籍,开发者们赶快收藏起来吧!

关键字」Open Source、知名公众号、Apple 官方资源、修炼内功

在线资源

系统学习

Open-Source iOS Apps[1]:收录了很多优秀的、完整的开源 App,分类细致,并专门标记了上架 App Store的 App,适合通过完整的例子学习 App 开发。

Awesome iOS[2]:

众所周知的 Awesome 系列,但凡是有一定知名度的领域,都有自己的 Awesome xxx 项目。

它最大的特点就是大而全,囊括了从开发、调试到发布的各种学习资料,也包含了博客、书籍、教程、播客和邮件订阅等推荐。

同时,还有更细分的 Awesome 子系列推荐,比如 Awesome ARKit[3]、Awesome iOS Interview[4](一款收集了常见面试问题的 App,上架了 App Store,亲测使用需要借助梯子🪜)。

最后作者建议,当你遇到任何 iOS 的问题时,都应该先到这个网站看看

Awesome iOS Interview

查漏补缺

界面交互

Cocoa Controls[5] 和 iOS Examples (Swift)[6]:收集了大量开源库,分类细致,非常适合找“轮子”或学习实现思想。

冷知识点

NSHipster[7]:由 AFNetworking 和 Alamofire 的作者 Mattt 维护的网站,主要关注一些不常用的 iOS 知识点。

开发者 / 团队

Swift 知名开发者[8]:了解走在 iOS 领域前沿开发者的视野和 iOS 最新的动向。

Swift 开源项目团队[9]:如果你正在使用他们的开源项目,通过关注他们的动向,可以随时了解这些开源项目的最新进展。

PS:iOS 知名开发者基本都偏向 Swift 了。

我关注的一些公众号

老司机技术周报(定期周报)、iOS 成长之路(定期周报)、starming(作者本人)、SwiftGG翻译组(关注 Apple 生态)、Bo2SS(与你一起成长👀)。

「公众号里附上链接」

其它

iOS开发者值得关注的网站推荐[10]:从社区到周报到博客到工具等的精心推荐。

官方资源

💡 当然还少不了对Apple 官方资源的关注:

WWDC[11]:苹果每年举办的全球开发者大会,可使用 WWDC App for macOS[12] 提升观看体验。

WWDC NOTES[13]:收集了 WWDC 视频对应的优质笔记,相比观看视频,可用来快速回顾,甚至节省时间。

WWDC Community[14]:跟踪近期各种 WWDC 活动、新闻和教程。

Human Interface Guidelines[15](人机交互指南)

API 帮助文档[16]

WWDC22

相关书籍

如果你想要透彻地掌握某领域的专业知识,还是需要静下心,通过阅读相关书籍来慢慢学习。

Objective-C

《Objective-C 编程[17]》、《iOS 编程[18]》:

The Big Nerd Ranch[19] 出品,均属于不错的入门书

目前自己就在过一遍,有机会整理出一些笔记。

《Objective-C 高级编程[20]》:

围绕 OC 中 3 个核心知识点展开:内存管理、Block、GCD(Grand Central Dispatch)

基于苹果公开的源码,讲解透彻。

《Effective Objective-C 2.0[21]》:

众所周知的Effective 系列,但凡是有一定知名度的语言,都有……

从语法、接口与 api 设计、内存管理、框架等 7 大方面总结和探讨了 OC 编程中 52 个鲜为人知和容易被忽视的特性与陷阱,属于进阶读物

Swift

Raywenderlich > Books[22] 平台:

一步一步教你掌握一些开发知识,内容非常实用,质量非常不错。

涉及面很广,比如 ARKit、数据结构和算法的 Swift 版、设计模式、Core Data、iOS 动画、Apple 调试和逆向工程、RxSwift、Realm 和游戏开发等等。

此外,该网站还包含学习路径、视频和文章等其它优质内容。

objc.io[23] 平台:

从原理和源代码实现的角度来讲解知识点。

内容比 Raywenderlich 出版的图书更深入,适合有一定 iOS 开发经验的人阅读。

Source: InfoQ

不变的通用知识

《程序员的自我修养 - 链接、装载与库[24]》:

详细且深入地讲解了硬件、操作系统、线程的知识,帮你从代码编译、链接到运行时内存虚拟空间和物理空间映射的角度,了解一个程序从编写到运行时的底层知识的方方面面,有助于你理解系统工作原理

阅读本书之前,你需要先掌握 CPU、计算机原理、汇编、编译原理、C 语言、C++ 语言等计算机学科的基本知识。

《架构整洁之道[25]》:

创造“Clean 神话”的 Bob 大叔在架构领域的登峰之作,里面架构设计的思想永远不会过时,并适用于所有的知识领域。

详细分析了架构的目标价值、编程范式、架构设计原则、组件拆分和边界处理,并通过实践案例把所讲知识都串了起来,便于读者理解。

当你有了大量编程经验,需要考虑工程架构合理性的时候,推荐阅读。

💡:很多经典值得你反复阅读,不同阶段阅读也会有不同的体会和收获。

小结:有些知识是不会变的,只要抓住这些知识,不管上层如何变化,你都能抓住核心,掌握技术的走向,也就不会感到知识焦虑。

其它:热点问题答疑(三)

什么是 WatchDog 机制?

Source: CSDN

WatchDog 机制是苹果公司设计的,一种为了避免 App 界面无响应造成用户无法操作,而强杀掉 App 进程的机制。

造成 App 界面无响应的原因种类太多,于是苹果公司采用了一刀切的做法:凡是主线程卡死一定的时间就会被 WatchDog 机制强杀掉(这个卡死时间,WatchDog 在 App 启动时设置的是 20 秒,前台时设置的是 10 秒,后台时设置的是 10 分钟)。

由于 WatchDog 强杀日志属于系统日志,所以你的 App 上线后需要自己来监控卡顿,这样才能够在 WatchDog 强杀之前捕获到 App 卡死的情况,可参考苹果公司关于崩溃分析的文档:Diagnosing Issues Using Crash Reports and Device Logs[26]。

对于第三方库的使用,作者建议:

如果和业务强相关,比如埋点或者 A/B 测试这样的库,最好是自建,然后可以借鉴开源库的思路;

对于一些通用性强的基础库,比如网络库和持续化存储的库,可以直接使用成熟的第三方库,既可以节省开发和维护成本,又能够提高产品质量;

➕还有种情况就是,对于较小的、只有几个 iOS 开发人员的团队来说,还是尽可能使用开源项目,可以优先去 Awesome iOS[27](前文提到过)上找适合团队的项目。

PS:有评论推荐 Firebase 的 A/B Testing SDK,它整合了数据上报、数据分析、PUSH 消息和 AI 预测等Firebase 的其他功能,这样大大降低了数据分析的成本。

好啦,应用开发篇到此结束!下次就要真正开始原理篇的内容了。

如果你还有一些非常不错的学习资料,欢迎在下方给 Bo2SS 留言推荐,也欢迎转发本文给有需要的朋友~

咱们下次见!

参考资料

[1]

Open-Source iOS Apps:/dkhamsing/open-source-ios-apps

[2]

Awesome iOS:/vsouza/awesome-ios

[3]

Awesome ARKit:/olucurious/Awesome-ARKit

[4]

Awesome iOS Interview:/dashvlas/awesome-ios-interview

[5]

Cocoa Controls:/

[6]

iOS Examples (Swift):/

[7]

NSHipster:/

[8]

Swift 知名开发者:/ipader/SwiftGuide/blob/master//SwiftDevelopers.md

[9]

Swift 开源项目团队:/ipader/SwiftGuide/blob/master//SwiftDevelopmentTeam.md

[10]

iOS开发者值得关注的网站推荐:/p/1a94549364d6

[11]

WWDC:/videos/

[12]

WWDC App for macOS:https://wwdc.io/

[13]

WWDC NOTES:/

[14]

WWDC Community:/twostraws/wwdc

[15]

Human Interface Guidelines:/design/human-interface-guidelines/ios/overview/themes/

[16]

API 帮助文档:/search/?q=uiview

[17]

Objective-C 编程:/subject/26613294/

[18]

iOS 编程:/subject/26287812/

[19]

The Big Nerd Ranch:/books/

[20]

Objective-C 高级编程:/subject/24720270/

[21]

Effective Objective-C 2.0:/subject/25829244/

[22]

Raywenderlich > Books:/ios/books

[23]

objc.io:https://www.objc.io/books/

[24]

程序员的自我修养 - 链接、装载与库:/subject/3652388/

[25]

架构整洁之道:/subject/30333919/

[26]

Diagnosing Issues Using Crash Reports and Device Logs:/documentation/xcode/diagnosing-issues-using-crash-reports-and-device-logs

[27]

Awesome iOS:/vsouza/awesome-ios

本文由 mdnice 多平台发布

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。