适用于初学者的iOS开发。 第2部分:课程和教程

在本教程的第一部分中,我简要回顾了初始需求和最新技术趋势。 在这一部分中,我将首先回顾两个现成的iOS开发课程,然后再为您提供有用的资源列表,以与流行的库,框架以及开发人员广泛使用的其他一些资源取得联系。 如果您选择只参加现成的课程,请确保在学习结束时查看我的列表,以了解您可能会错过的一些主题。

Raywenderlich.com

正如我在第一部分中所述,Ray的网站对于初学者来说是一个时尚的地方。 当我是iOS开发人员时,我使用此网站来学习使用新的框架和新的iOS功能。 这些教程对于初学者来说非常容易,而且非常简单。 但是,它具有一些体系结构上的反模式,例如在AppDelegate中编写大量代码打破了单一职责原则。

优点:

  • 许多教程几乎涵盖了您需要的每个主题
  • 每天或两天有新文章
  • 准备学习路径
  • 非常详细的教程
  • 对于初学者

缺点:

  • 大多数视频没有转录功能,因此您必须完整观看
  • 一些视频教程的内容太小了
  • 广泛使用建筑反模式
  • 付费订阅(每月$ 19.99 /年度方案$ 179.88)

因此,raywenderlich.com对于初学者甚至是探索新技术的初级/中级开发人员都是一个很好的来源。 但是,还有许多其他方式可以开始。

Paul Hegarty用Swift开发iOS 11应用

Paul Hegarty在斯坦福大学工作。 随着2014年第一版Swift的推出,他开始了本课程的开发。 斯坦福大学是世界计算机科学领域最顶尖的大学之一,因此具有很高的水准。 最新版本涵盖iOS 11和Swift4。尽管现在是iOS 12倍,但由于这些版本之间的微不足道的更改,您仍然可以使用它。 而且,Swift 5仍将在2019年某个地方发布。

优点:

  • 自由
  • 由世界一流大学提供
  • 涵盖了iOS开发中几乎所有重要主题,包括体系结构
  • 非常专注和直接

缺点:

  • 适合熟悉编程的人
  • 比雷的难一点
  • 没有文字转录

我选择斯坦福大学作为研究的起点。 它是免费的,已被许多学生认可,并由世界顶尖的大学之一提供。 苹果软件工程高级副总裁克雷格·费德里希(Craig Federighi)也推荐了此方法。

您可以在这里找到iTunes U播客。

有用的资源

此有用的资源列表无意于替代上面的专业课程或与之竞争。 相反,我将专注于实际应用程序开发,并向您介绍流行的技术,框架和库。

开发语言

正如我在本教程的第一部分中简要提到的那样,Swift绝对是macOS和iOS应用开发的第一选择。 Swift的最新版本是4.2,几乎与4.0相同。 与3.x版本相比,也没有太多更改。 尽管1.x和2.x教程有些过时,但您可以轻松使用任何3+版本。

  • 我将从观看WWDC 2016视频“ Swift入门”开始,以简要说明语言用法和功能。
  • 这是Swift的官方指南,它将从一开始就指导您进行深入和现代的功能介绍。 您可以在需要找到更轻松解决任务的新方法时随时进行检查。

在这里,您将找到有关如何使用Apple的多线程技术GCD(Grand Central Dispatch)的基本指南。

界面生成器

第二个重要步骤是熟悉Interface Builder,该工具可以使您的生活轻松几百倍🙂而且,我还建议您使用Auto Layout,该技术可以为所有可用设备构建自适应接口。

  • 您可以在Apple的《人机界面指南》中找到所有可用的UI控件和最佳做法,以构建出色的UI。
  • 观看此视频,了解如何在Interface Builder中使用自动布局技术。
  • Ray的有关如何使用Storyboard Editor的教程。
  • 另一张有关自动布局的Ray教程。

源代码控制

每个团队都使用源代码控制系统,以确保源代码不会因技术故障而丢失,从而能够在版本或发行版之间进行切换,当然,也可以简化在一个项目中的协作。 如今,几乎每个移动团队都使用Git

  • 在本教程中了解什么是Git及其如何工作。

Xcode具有一个内置菜单来创建提交,以进行拉/推动作。 但是,某些开发人员更喜欢SourceTree应用程序,因为它具有更简单,更强大和更直接的界面。 此外,有时Xcode变得疯狂,并在尝试提交代码时抛出一些“未知错误”。 在这些情况下,SourceTree可以为您省钱。 您可以在这里免费下载此应用。

有许多免费的在线源代码存储。 最受欢迎的是GitHub和BitBucket。 多年来,GitHub仅免费提供公共存储库,因此任何人都可以在未完成的项目中看到您的所有代码,但是几天前,他们启动了私有存储库,因此在您需要之前,没有人可以看到您的代码。 BitBucket还免费为您提供免费的私人回购。

依赖管理

不要试图重新发明轮子。 如果需要开发新功能,请尝试首先使用现有解决方案。 有许多免费的框架和开源库。 为iOS应用找到最佳的方法是CocoaPods。 CocoaPods是一个依赖项管理系统,它与Xcode集成在一起,为您提供了一种将新库添加到现有项目的简便方法。 您可以在官方网站上找到适合初学者的简单教程。 以下是有关如何选择库的一些提示:

  • 在库的GitHub页面上检查星号。 通常使用1000星以上的星是安全的。
  • 检查最新发布日期。 您不想使用过时的框架。 每年9月都会发布一个新的iOS,因此应该在该日期前后对该库进行更新以获取新版本。

热门图书馆

有成千上万的库可用。 但是,只有少数几个真正有用和受欢迎。

  • Alamofire是客户端-服务器应用程序的第一选择。 它使处理网络请求变得非常容易。 检查他们的GitHub页面以获取初学者指南。 而且,它们有3万颗星
  • ObjectMapper是一个简单的库,可以将JSON解析为Swift对象。 他们在GitHub页面上也有很棒的教程和许多示例。
  • KeychainAccess是Apple的Keychain框架上漂亮且易于使用的包装,可为敏感数据(例如用户的密码)提供安全的存储。
  • iOS图表是一个强大的库,可绘制几乎所有您需要的图表。
  • Realm是苹果Core Data的一种非常快速且易于使用的替代方法,可以在设备上创建脱机数据库。 查看有关比较这两种技术的文章。

在这里,您会找到非常受欢迎的其他出色iOS库的精选列表。

如果你需要帮助

转到StackOverflow。 它是获得解决开发人员问题帮助的主要资源。 请先尝试搜索,确定有人已经和您有相同的问题,并且他/她得到了答案。 如果否,请尝试礼貌地询问,您将很快得到解决方案。

不用担心,即使是高级人士也不是一无所知。 他们只是知道在最短的时间内在哪里找到正确的解决方案。 因此,他们每天都会使用数十次StackOverflow。

为您的第一次面试做准备

在本教程的下一部分中,我将指导您准备您的第一次面试,为您提供必要知识的清单,并为您提供一些有用的提示和技巧。

继续第3部分。