使用 Swift 从零开始的 iOS:下一步该去哪里

iOS 从零开始使用 Swift系列:
探索 iOS SDK
探索 Foundation 框架
使用 UIKit 的第一步
自动布局基础
表格视图基础
导航控制器和视图控制器层次结构
iOS 上的数据持久性和沙盒
构建购物清单应用程序 1
构建购物清单应用程序 2
下一步该去哪里

在过去的几周里,你学到了很多东西,蚱蜢,此时你甚至可能会感到有点不知所措。我想给你一些建议和大量资源,以帮助你成为一名熟练的 iOS 开发人员。

需要考虑的事情

尽管 2007 年似乎是昨天,但移动领域,尤其是 iOS,已经以惊人的速度增长。很难想象没有 iPhone、iPad 和 iPod Touch 的移动环境。由于 iOS 平台的显着增长和普及,不乏书籍、视频、课程和博客来指导您成为一名熟练的 iOS 开发人员。

实践,实践,实践

我们在本系列中介绍的材料应该可以让您从开发人员的角度很好地了解 iOS 平台。我想给你的第一条建议是继续构建 iOS 应用程序。不要等到您认为自己知道的足够多时才开始创建第一个 iOS 应用程序。您将通过创建小型应用程序并为您遇到的问题找到解决方案来学习最多。最后,编程就是解决问题。

我发现自己每周都会创建几个应用程序。这并不意味着每个应用程序都值得在 App Store 中发布,恰恰相反。我首先隔离一个特定的、定义明确的问题,它是一个更大的项目的一部分。然后我创建了一个新的 iOS 项目,专注于解决这个问题。当我找到并实施了问题的解决方案时,我会通过几个重构步骤来完善解决方案,以准备将其集成到更大的项目中。同时,我创建了一个可重用的组件供以后使用。通过专注于可重用性,您编写意大利面条式代码的可能性降低,更有可能在未来的项目中节省时间。

这种方法也非常适合探索新框架或尝试您想要使用的新开源库。在本系列中,我们创建了许多 iOS 项目。对于每一个新项目,我们都学到了一些新东西,并且在此过程中,我们对 Xcode 越来越熟悉。熟悉您的开发环境是 iOS 开发的另一个关键要素。

不要复制和粘贴

我的第二条建议是避免复制和粘贴您在网络上找到的代码片段。除非您了解要复制的片段,否则从长远来看,您不会从中受益。当然,它可能会暂时解决您正在努力解决的问题,但是通过使用您不理解的随机代码片段,您会积累 技术债务。这并不意味着您不应该在项目中包含维护良好的库,例如 AFNetworking 或 Magical Record。这也不意味着您应该了解您在项目中使用的库的每个实现细节。如果您遇到一个问题,您可以通过花一两个小时编写解决方案来解决自己的问题,那么这就是值得的时间。

软件开发与速度和交付结果无关。在个人层面上,软件开发就是在你所做的事情上变得更好,编程,你不会通过复制和粘贴你不完全理解的代码片段来成为一个更好的程序员。成为一名优秀的程序员没有捷径可走。

Envato Tuts+

在深入研究有用资源列表之前,我想提一下 Envato Tuts+ 已经存在多年,并且已经建立了令人印象深刻的高质量 iOS 开发教程集合。 Envato Tuts+ 上的近 400 个教程 专门针对 iOS 开发,从初学者到高级主题。我们还有几门关于 iOS 开发的课程,您可能想看看。

在哪里寻求帮助?

苹果开发者论坛

如果您是注册的 iOS 开发者,那么您可以访问 Apple 开发者论坛。Apple 开发者论坛不仅活跃且充满了了解他们的东西的开发者,框架和 DTS(开发者技术支持)工程师维护和监控论坛,这有时可以节省您的时间或节省您一天的时间。

谷歌救援……还是堆栈溢出?
Google to the Rescue … or Is It Stack Overflow?

每当您发现自己使用 Google 来寻找编程问题的答案或您遇到的问题的解决方案时,Google 很有可能会将您指向 Stack Overflow

公平地说,Stack Overflow 彻底改变了软件开发和开发者社区。Stack Overflow 是提出问题的好地方,也是通过帮助他人来回馈社区的好地方。无论您使用哪种语言或为哪种平台开发软件,Stack Overflow 都有一个以您的兴趣为中心的充满活力的社区。

GitHub

在过去的几年里,社交编码变得非常流行,而GitHub无疑是这一趋势的推动力之一。由于您是 iOS 开发的新手,因此您可能还不能为 (iOS) 开源项目做出贡献。

但是,这不应该阻止您探索一些开源项目。浏览开源库以了解如何完成某些事情可能会令人大开眼界。如果您想通过探索其他开发人员编写的代码来加快学习速度,那么选择一个维护良好且正在积极开发的项目是关键。

书籍和视频

迅速

Apple 最近开源了 Swift 编程语言。同时,该公司根据知识共享署名 4.0 国际许可提供了Swift 编程语言。Swift 团队在这本 Swift 参考资料方面做得非常出色,如果你认真对待 Swift 和 iOS 开发,我鼓励你从头到尾阅读这本书。

另一本关于 Swift 开发的好书是Chris Eidhof、Florian Kugler 和 Wouter Swierstra 合着的 Swift 函数式编程。尽管它更高级一些,但函数式编程是 Swift 开发的一个重要方面。 Swift 中的函数式编程 是一个很好的起点。

更多书籍

Apress 和 O’Reilly Media 是两家以出版关于 iOS 开发和一般开发的高质量书籍而闻名的出版商。关于 Cocoa 开发的第一本书籍是 Cocoa Programming for Mac OS X。这本书由 Big Nerd Ranch 的创始人Aaron Hillegass撰写并更新。Aaron 在 Cocoa 社区非常有名,许多开发人员都通过他的书学习了 Cocoa 开发,包括我自己。

WWDC

Apple 的全球开发者大会 (WWDC) 是许多 Cocoa 开发者的年度重头戏。WWDC 上的每个演示文稿都会被记录下来,并且可以流式传输或下载。视频集合可以追溯到 WWDC 2010,因此您有大量的材料可以浏览。

博客

当我告诉您有成百上千个致力于 iOS 开发的博客时,您应该不会感到惊讶。我在下面列出了一些我最喜欢的博客,但还有更多内容等着你去发现。

  • 几周前,Swift 编程语言的官方博客 有了新家。如果您想及时了解 Swift 的最新动态,请务必将此博客添加为书签。
  • Cocoa Is My Girlfriend 发表了更高级、更深入的文章。Cocoa Is My Girlfriend 的作者是 Marcus Zarra、Matt Long、Fraser Hess 和 Saul Mora(  Magical Record的创始人)。
  • 尽管 Mike Ash的博客不是网络上最漂亮的,但它的内容非常丰富。他的周五问答文章尤其令人愉悦。
  • Ole Begemann的博客  提供了关于 iOS 开发和相关主题的新鲜且写得很好的文章。
  • NSHipster 是另一个很棒的博客,由 Nate Cook 维护。NSHipster 的标语写着“……Objective-C、Swift 和 Cocoa 中被忽视的部分的日志”,很好地总结了 NSHipster 上的内容。
  • 布伦特西蒙写的任何关于发展的文章都值得一读。Brent 拥有丰富的软件开发经验,他写的东西总是值得你花时间。

时事通讯

几年前,  Dave Verwer 创办了 iOS Dev Weekly,这是一份关于 iOS 和 Swift 开发的每周通讯。如果你想收到一份精心挑选的与 iOS 和 Swift 开发相关的链接列表,那么我强烈推荐 Dave 的时事通讯。我提到它是免费的吗?

跟随谁?

Twitter 是了解 iOS 和 OS X 开发最新动态的绝佳媒介。我在推特圈中编制了一份您可能想要关注的人的简短列表。

最后,你也可以  在 Twitter 上关注我。如果您有任何问题或只想打个招呼,请随时联系我。

ios-from-scratch-with-swift-where-to-go-next–cms-25474