确切地讲,我是30天前开始学习swift的。3天前,我开发的第一个应用程序通过了苹果公司的审核。相比其他事情,这一开发过程并不算什么,但是对我而言,却是一个巨大的成就。
我没有计算机的学位,也没有专业的开发经验,但是在过去的5年中,我一直在一个开发团队中担任产品经理。因为兴趣,曾经也用Ruby写过一些Rails应用。我一直想和我的工作有一个更直接的联系,所以我决定开始编程。
为什么选择iOS和Swift
移动市场是巨大的;手机是个人的。我想开发一些对用户切实有用的软件,并且我非常喜欢人们与手机之间的亲密关系。我们的手机非常了解我们——它知道我们什么时候醒来,什么时候睡觉,在什么位置,是怎么到达这个位置的,我们的日常安排、我们与朋友、家人的谈话内容,甚至更多。因为我一直使用苹果产品,所以很自然地选择从iOS开始。前段时间,我尝试了下Objective-C,发现它的地位正在受到威胁,因为Swift一直很受欢迎。
良好的约束。专注于苹果平台和在适用于口袋般大小的屏幕开发提供了良好的约束。这些约束让我很好的专注在需要学习的技术上(相对于永无休止的网页开发),还促使我把创造力聚焦在用户体验上。
Swift是一门快速进化的语言。我喜欢看着事物从底层开始成长和发展,并参与其中,这也是我为什么喜欢在初创公司里工作的原因。有些事情能够使一门不成熟的语言日趋完善,我加入到一个小团队一起去尝试解决那些有待完善的问题。我很兴奋能有可能为这门语言和社区做出个人的贡献。
入门资源
7月1号当我开始我的学习之旅时,我已经有了一个开发一款简单应用的想法。就我的初衷和当时学习情况而言,带着这一想法是非常有帮助的。
我花了很长时间在网上搜索有关Swift的最好的资源、教程和课程。对于初学者来说,网上有很多好的资源,但大多数都是假定你从没有看过一行代码,并开始得非常缓慢,比如介绍什么是变量,变量如何跳转等。另外还有一些都是技术文章和参考资料(包括苹果的官方文档),这些貌似只有那些有丰富经验的或者是从Objective-C转到Swift的同学能够看得懂。
最终,我还是找到了适合我这样初学者的资源,以下是我找到的一些最有用的:
PaulHegarty的斯坦福课程:DevelopingiOS8AppswithSwift(用Swift开发iOS8应用)。这个在iTunesU上是免费的。我是从学习这个课程开始的,并仅在一周之内就完成了前5节课和第2个作业。课程很快就变得很有挑战性了,所以当我小试牛刀之后,我暂停了我的进度,去学习更多的实用教程。但是这真的是一个很棒的课程,Hegarty教授真的有两把刷子,以至于我现在都打算重新回顾一遍。如果你被一个问题难住(不要去iTunesU上找解决方案),这(