标题: 在 30 天内,从零开始学习 Swift [打印本页] 作者: 小李探花 时间: 2015-10-3 18:32 标题: 在 30 天内,从零开始学习 Swift 本文是翻译,版权归原作者所有
原文地址(original source):https://blog.growth.supply/from-zero-to-swift-in-30-days-8ad97b630e00
作者(author):https://twitter.com/katiesmillie
确切地说,我是在 30 天前开始学习 Swift 语言的。三天前,我的第一个对外公测版的应用被 Apple 审核通过了。这个对外公测的版本和最终产品比较起来,算不上什么,但是对我而言,这是一次极大的成就。
我没有计算机科学的学位,也没有做为开发人员所需要的专业经验,但是最近 5 年,我在软件开发组里的角色是产品经理,本着玩的心态,曾经做了一些 Ruby on Rails 方面的应用。我一直想和我忙碌的工作取得更加直接的联系,因此我决定开始写代码。
为什么选择 iOS 和 Swift?
庞大的移动;私人化的移动。我想做一款人们真正在用的软件,人们和他们的手机有着亲密感,我爱这种感觉。我们的手机太懂我们了——我们什么时候起床、睡觉,我们在哪里以及怎样去那里,我们的日程表,和朋友、家人的交谈等。这是我感兴趣的地方,我很早就是一名 Apple 用户了,当然从 iOS 开始比较好了。我短暂地体验了一把 Objective-C,它比较恐怖,而 Swift 一直都受人喜欢。
约束的好处。Apple 平台,可装入口袋的屏幕,在这种范围内去开发应用,就需要良好的约束。这些约束让我专注于要学习的东西(与之相对的是,web 开发中深不见底的兔子洞【注4】),并促使我围绕用户体验进行创新。
Swift 是一门快速发展的语言。我喜欢在刚开始时参与,观察该语言的发展及演化,并成为小社区的一分子——这就是我为什么喜欢在创业公司工作的原因。创业公司允许用一种相对不太成熟的语言来攻关某个问题,加入更小的群组,尽量让人和事衔接起来。对于向语言和社区贡献一己之力的可能性,我感到兴奋。
初学者资源
为了找到 Swift 相关的最好资源、教程和课程,我投入了很长时间在互联网上搜罗。有很多面向初学者的优秀资料,但是大部分都假设你从来没有写过一行代码,起点非常低。比如,这是一个变量,看下变量跳转。另一些资料是技术文章和参考材料(包括 Apple 的文档),貌似有个前提:你有丰富经验、或从 Objective-C 转到了 Swift。
下面是一些不错的资源,对于我这种水平的初学者,我觉得非常有用:
Paul Hegarty 的斯坦福大学课程《Developing iOS8 Apps with Swift》,可免费在 iTunes U 【注1】里获取。我从这里开始,在一个多星期里,听了前五节课,又做了一份家庭作业。这份教程很快就变得有挑战了,因此在我入门之后,为了找到下面更实用的教程,我暂停了这个进度。不过,这是一份非常棒的课程,Paul Hegarty 教授熟悉他的资料,因此我打算回头继续学。如果你在练习上遇到了困难(你在 iTunes U 里找不到解决方案),那么这个网站解释了每个问题的设置和方法。
Apple 推出的 Swift 编程语言教程。如果你之前有过一些编程经验,这本 Swift 语言的书,和 Apple 的 iOS SDK 文档相比,将非常易于阅读。它清晰、扼要、可快速浏览,当你碰到问题时,你能明白在哪里能够找到某些概念。Big Nerd Ranch 针对其训练营打造了一份《Swift Pre-reading Assignment》,包含了类似概念,但为初学者准备了更多实用的例子,供你练习。
www.raywenderlich.com。这像是某个家伙的个人网站,但是不要被它的外表欺骗了。这个网站是我曾经遇到过的、最好的资源站。如果你从未创建过 iOS 应用,那就注册 newsletter,访问「史诗般的教程」吧——有那么一刻,感觉其极具史诗风格,但是,如果你愿意,用一天时间就能搞定。这个教程让我初次深入 iOS 开发的古怪世界,为我们揭开了很多容易让初学者望而生畏的秘密。我自己在开发自己的应用时,会参考这份教程,以唤醒我对 Xcode 里的某些特性或功能的记忆。在你学完这一份教程之后,该网站还有大量另外的免费教程,我精心挑选着学了一些概念,它们对于我做应用的想法有帮助。有如此多的优秀内容,以致于我早点儿想回去看看。
(大概的)时间线
注1:iTunes U是一种网络公开课,诸多名校如:哈佛、MIT、牛津等都把自己的课堂的音频、视频、文档,放在网上,可以通过itunes这款软件来下载。 iTunes U都是免费的。http://baike.baidu.com/view/5418286.htm
注2:An edge case is a problem or situation that occurs only at an extreme (maximum or minimum) operating parameter. https://en.wikipedia.org/wiki/Edge_case
注3:大都会运输署(Metropolitan Transportation Authority,一般简称 MTA),亦称为大都会捷运局,是管理纽约市公共交通的管理机构,成立于1967年,管辖著范围达4000平方英里、总人口1800万的大纽约地区(包含纽约市五大区、纽约州12个县、新泽西州及康乃狄克州部分地区)内的交通运输,该机构拥有并管理纽约地铁、公共汽车及渡轮。其辖下单位包括纽约市公共运输局、大都会北方铁路、长岛铁路、长岛公车公司、桥梁暨隧道管理局、以及大都会运输署公车公司。http://zh.wikipedia.org/wiki/%E7%B4%90%E7%B4%84%E5%A4%A7%E9%83%BD%E6%9C%83%E9%81%8B%E8%BC%B8%E7%BD%B2
注4:”down the rabbit hole”, 是一种隐喻,表示进入了一个未知、奇幻或精神上错乱的地方,在电影《爱丽丝梦游仙境》里有被用到:https://en.wikipedia.org/wiki/Rabbit_hole。《爱丽丝梦游仙境》是路易斯·卡罗(Lewis Carroll)出版的儿童文学作品。故事的主角爱丽丝,从兔子洞掉进一个充满奇珍异兽的梦幻世界,遇到各种懂得说话的动物。这童话1865年出版,一直深受不同年纪的读者喜爱。https://zh.wikipedia.org/wiki/%E7%88%B1%E4%B8%BD%E4%B8%9D%E6%A2%A6%E6%B8%B8%E4%BB%99%E5%A2%83
注5:预览程式(Preview)是Mac OS X操作系统中的影像检视器及PDF阅读器。跟Mac OS X本身一样,是从NeXT的OpenStep操作系统里衍生出来的。 https://zh.wikipedia.org/wiki/%E9%A0%90%E8%A6%BD%E7%A8%8B%E5%BC%8F作者: 心似琉璃 时间: 2015-10-4 07:52
不错,各个支持,加油