微信号:programmer_club

介绍:程序员第一自媒体,与你探讨码农人生路上遇到的各类泛技术话题,定期为你推荐码农人生思考、感悟以及启迪!

如果只有一个月的时间学 iOS 开发,我们该做些什么?

2017-04-28 21:59 OSC-协作翻译

#点击图片,报名参加深圳源创会#


一年前,我还是一个 Android 开发者。那时候我没有任何 iOS 编程相关的知识,我甚至没用过任何苹果的产品。然而,这已成为过去,现在我已经能同时开发 iOS 和 Android 应用了。

现在,我想给大家传授一下我一个月学习 iOS 编程的秘诀。

我非常推荐 Android 开发者学习开发 iOS 应用。这听起来很奇怪,但值得一试,原因是:扩宽知识面可以帮助你在自己的领域中更加深入。 

    “如果你做了一些事,并且做好了,那就应该去做一些其它美好的事情,不要拖延太久。只是要弄清楚接下来要做什么。”—史蒂夫·乔布斯

不扯远了,回到主题。我为自己写了一个月的计划,然后开始了我的学习之旅。当然所有学习资源都是免费的。


从 Swift 开始


你也可以学习 Objective-C,但我真心推荐你从 Swift 开始。它很友好而且易学。

我最先在苹果官方资源获取学习资源。通读基本概念,然后在 XCode 中着手尝试那些代码。

此外,你可以试试 Udacity 上的 Swift 学习课程。虽然网站上说需要 3 周,但实际可以在几天内完成(甚至几小时)。

我花了一周学习 Swift。如果你有时间,可以去看看下面这几个资源:


使用 UIKit 绘制应用界面


现在来到可视化部分。UIKit 使工作内容在 iOS 上呈现,并与 iOS 设备互动。

我在 Udacity 上搜索免费的 UIKit 基础课程

起初,我觉得 iOS 自动布局非常奇怪。在开发 Android 应用的时候,我通常在 xml 文件中布局界面,其结果是可以看到的,几乎不需要使用拖放功能。然而 iOS 完全不同。我花了一些时间,通过实践了解自动布局机制之后,我学到了超越常规 Android 设计风格的东西。

此外,在 XCode 中制作屏幕过渡只需要向 Storyboard 中拖入它们的连接,这在 Android 需要一些代码才能实现。

你可以探索其各种不同的特性。

而且,你可以在 iOS Raywenderlich 页面的“核心概念”中找到更多 iOS UIKit 教程。


理解 iOS 的数据持久化


熟悉 UIKit 之后,你可以向用户展示数据并从他们那接收数据。

下一步是存在数据,让用户即使在应用关闭后重新打开也能获得这些数据。意思就是把数据保存在用户设备的硬盘中,而不是远程服务器中。

iOS 应用中你有几个选择:

  • NSUserDefaults:键值对类型,就像 Android 中的 SharePreferences

  • NSCoding / NSKeyedArchiver:在兼容类和数据持久之间进行序列化并通过 NSUserDefaults 保存到文件系统中

  • Core Data:iOS 超强大的框架

  • 其它:SQLite、Realm 等

与 Core Data 相比,现在很多 iOS 开发者都更喜欢 Realm。不过我推荐学习 Core Data,因为它是 iOS 官方推出的持久化框架,只要你理解了它的核心结构和实现,就可以举一反三。

我曾经使用过的资源包括:


iOS 通过网络与外界接触


我们生活在互联网时代,所以你的应用应该开放并与外界交换信息。现在进入下一课:iOS 网络。在这里学习 iOS 中的 REST API。有一件很重要的事情要记住:这时候你不能使用任何第三方库。我们将使用 iOS 内建的框架来完成这个课程。

将来你有很多机会用到炫酷的网络库,比如 Alamofire,但我们现在应该先学习基本的知识。

推荐的课程和教程:


构建第一个应用


“光知道是不够的,我们要应用知识。”—达·芬奇

经历了 iOS 自学之旅之后,你手头会有很多工具。你会使用 Swift 编程,会使用 Storyboard 和 UIKit 绘制 iOS 应用界面草图,会把数据保存到设备的存储器中,还会使用 iOS 网络技术通过互联网与世界进行信息交换。

你很棒,亲。来构建你想要的一切。

开发者创建酷且有价值的东西,给全世界的人们带来便利。你可以试着构建 iOS 应用,改善你的日常工作,帮助你的小伙伴解决难题。最后,我推荐你把它发布到苹果应用商店。它能时刻激励你前行。

3 年前,我在 Google Play 上发布了我的第一个 Android 应用(一个笔记应用),这是学习 Android 一个月的成果。1 年前,我在苹果商店发布了我的第一个 iOS 应用,也是在一个月的自学之后。它们一开始都不太好,但它们让我一天比一天更有动力。

我相信你能做得比我更好,来创造一些东西,然后展示给整个世界吧!

说明:可以通过 Google 搜索到大量不错的资源。上面提到的教程的课程只是我的最爱。




推荐阅读

3月19日深圳源创会报名正式启动!

TIOBE 3 月编程语言排行榜:Swift 首次进入前 10

终于等到你,最强 IDE Visual Studio 2017 正式版发布

2017 年值得学习的 3 个 CSS 新特性

以后程序员将无所不能?一个字母就能瘫痪半个互联网!|源资讯 18 期

点击“阅读原文”查看更多精彩内容

 
程序员之家 更多文章 金庸笔下的良好代码风格 代码真的有必要写到完美吗? 为什么程序猿会选择跳槽? 女生的大白兔到底有多软? 大型网站架构演化历程
猜您喜欢 就这么简单!5个简单原则帮你搞定产品的用户体验设计 10个可定制的用于按钮切换和开关的CSS片段(上) 金秋十月,观止云与您相约北京“论道” CTO寄语应届生 全城期盼——武汉校区黑马双元Android第一期开班了!