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

oschina 投递于 2017/03/09 15:41 (共 7 段, 翻译完成于 03-10)
阅读 3622
收藏 95
5
加载中

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

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

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

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

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

Viyi
Viyi
翻译于 2017/03/09 20:48
0

从 Swift 开始

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

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

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

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

Viyi
Viyi
翻译于 2017/03/09 21:04
0

使用 UIKit 绘制应用界面

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

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

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

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

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

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

Viyi
Viyi
翻译于 2017/03/09 21:23
0

理解 iOS 的数据持久化

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

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

iOS 应用中你有几个选择:

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

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

  • Core Data:iOS 超强大的框架

  • 其它:SQLite、Realm 等

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

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

Viyi
Viyi
翻译于 2017/03/09 21:35
0

iOS 通过网络与外界接触

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

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

推荐的课程和教程:

Viyi
Viyi
翻译于 2017/03/09 21:41
0

构建第一个应用

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

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

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

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

Viyi
Viyi
翻译于 2017/03/09 21:59
0

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

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

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

Viyi
Viyi
翻译于 2017/03/09 22:05
1
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
加载中

评论(13)

两说
两说

引用来自“18106755872”的评论

看第一段就知道是外国人写的。。。我想问原版在哪?
标题下边有标注原文链接😃
曾经蜡笔没有小新
曾经蜡笔没有小新
不错不错,先mark了
hahashiwo
hahashiwo
Core Data超级强大,做了多个APP,都用Core Data,感觉细节上要考虑的东西好多。但是它非常方便!
kernel64
kernel64
先得花钱把水果家的全套家伙事给买齐了
_龙的传人
_龙的传人
可以留个qq或微信吗,一起交流
_龙的传人
_龙的传人

引用来自“墨名次”的评论

两三天熟悉一下语法跟基础控件一般都可以直接做项目了,布局的话我喜欢用Masonry(oc)、Snapkit(swift)
哈哈,我也是从Android转学iOS开发,用的swift语言,我也觉得snapkit比官方的拖拽约束更好用,但是还是有些问题没搞通,继续碰壁中。。。
_龙的传人
_龙的传人

引用来自“墨名次”的评论

两三天熟悉一下语法跟基础控件一般都可以直接做项目了,布局的话我喜欢用Masonry(oc)、Snapkit(swift)
哈哈,我也是从Android转学iOS开发,用的swift语言,我也觉得snapkit比官方的拖拽约束更好用,但是还是有些问题没搞通,继续碰壁中。。。
墨名次
墨名次
两三天熟悉一下语法跟基础控件一般都可以直接做项目了,布局的话我喜欢用Masonry(oc)、Snapkit(swift)
朋克
朋克
一晚上试试基本的语法,第二天就可以干活了
FalconChen
FalconChen
可以啊,一个月精通了
返回顶部
顶部