课程咨询 :186 8716 1620      qq:2066486918

昆明Java培训 > 达内新闻 > 达内iOS培训:如何在30内学会Swift语言
  • 达内iOS培训:如何在30内学会Swift语言

    发布:达内科技      来源:昆明达内      时间:2015-10-18

  •  确切地说,我是在30天前开始学习Swift语言的。三天前,我的第一个对外公测版的应用被Apple审核通过了。这个对外公测的版本和最终产品比较起来,算不上什么,但是对我而言,这是一次极大的成就。

    我没有计算机科学的学位,也没有做为开发人员所需要的专业经验,但是最近5年,我在软件开发组里的角色是产品经理,本着玩的心态,曾经做了一些Ruby on Rails方面的应用。我一直想和我忙碌的工作取得更加直接的联系,因此我决定开始写代码。

    为什么选择iOS 和Swift?

    庞大的移动;私人化的移动。我想做一款人们真正在用的软件,人们和他们的手机有着亲密感,我爱这种感觉。我们的手机太懂我们了——我们什么时候起床、睡觉,我们在哪里以及怎样去那里,我们的日程表,和朋友、家人的交谈等。这是我感兴趣的地方,我很早就是一名Apple用户了,当然从iOS开始比较好了。我短暂地体验了一把Objective-C,它比较恐怖,而Swift一直都受人喜欢。

    约束的好处。Apple平台,可装入口袋的屏幕,在这种范围内去开发应用,就需要良好的约束。这些约束让我专注于要学习的东西,并促使我围绕用户体验进行创新。

    Swift是一门快速发展的语言。我喜欢在刚开始时参与,观察该语言的发展及演化,并成为小社区的一分子——这就是我为什么喜欢在创业公司工作的原因。创业公司允许用一种相对不太成熟的语言来攻关某个问题,加入更小的群组,尽量让人和事衔接起来。对于向语言和社区贡献一己之力的可能性,我感到兴奋。

    初学者资源

    7月1号,我开始了这段旅程,当时的想法是做一个真正简单的应用。始终把这一点摆在最高位置,有助于激励我、并应用我学到的东西。

    为了找到Swift相关的最好资源、教程和课程,我投入了很长时间在互联网上搜罗。有很多面向初学者的优秀资料,但是大部分都假设你从来没有写过一行代码,起点非常低。比如,这是一个变量,看下变量跳转。另一些资料是技术文章和参考材料(包括Apple的文档),貌似有个前提:你有丰富经验、或从Objective-C转到了Swift。

    下面是一些不错的资源,对于我这种水平的初学者,我觉得非常有用:

    Paul Hegarty的斯坦福大学课程《Developing iOS8 Apps with Swift》,可免费在iTunes U 里获取。我从这里开始,在一个多星期里,听了前五节课,又做了一份家庭作业。这份教程很快就变得有挑战了,因此在我入门之后,为了找到下面更实用的教程,我暂停了这个进度。不过,这是一份非常棒的课程,Paul Hegarty教授熟悉他的资料,因此我打算回头继续学。如果你在练习上遇到了困难(你在iTunes U 里找不到解决方案),那么这个网站解释了每个问题的设置和方法。

    Apple推出的Swift编程语言教程。如果你之前有过一些编程经验,这本Swift语言的书,和Apple的iOS SDK文档相比,将非常易于阅读。它清晰、扼要、可快速浏览,当你碰到问题时,你能明白在哪里能够找到某些概念。Big Nerd Ranch针对其训练营打造了一份《Swift Pre-reading Assignment》,包含了类似概念,但为初学者准备了更多实用的例子,供你练习。

    www.raywenderlich.com。这像是某个家伙的个人网站,但是不要被它的外表欺骗了。这个网站是我曾经遇到过的、最好的资源站。如果你从未创建过iOS应用,那就注册newsletter,访问“史诗般的教程”吧——有那么一刻,感觉其极具史诗风格,但是,如果你愿意,用一天时间就能搞定。这个教程让我初次深入iOS开发的古怪世界,为我们揭开了很多容易让初学者望而生畏的秘密。我自己在开发自己的应用时,会参考这份教程,以唤醒我对Xcode里的某些特性或功能的记忆。在你学完这一份教程之后,该网站还有大量另外的免费教程,我精心挑选着学了一些概念,它们对于我做应用的想法有帮助。有如此多的优秀内容,以致于我早点儿想回去看看。

    时间线

    第一周:沉浸其中。我沉浸在斯坦福课程里的演讲和练习里,通读了大量Swift语言书籍,完成了来自于www.raywenderlich.com的“史诗般教程”。之后,我就准备开始着手我的应用了。

    第二、第三周:打磨。在我开始写代码的那一天,我碰巧启动了为期12天的、在缅因州的帆船上的生活。咖啡、平静的水面,我每天早上在这个地方待上好几个小时。这里不能上网,我可以高度集中在Xcode里,而不用在40个浏览器标签里来回穿梭。这迫使我停下来,认真思考了我正在尝试做的事情及其原因。在这些天里,我发现自己在思考代码时,会想出新方法,第二天早上就迫不及待地尝试。

    第四周:我目前正在做的事情。有一根陡峭的学习曲线,但是和前几周相比,我在一天里有着更高的效率,感觉太神奇了。在最后一天,我清理了代码,弄通了奇怪的边界情形,令人惊奇、着实满意。做为产品经理,我对这些场景感到厌烦,把多个小任务分配给工程师。我自己就有能力去除这些工作,感觉不错。最后,我用Sketch创建了一个基本的应用图标,按照步骤上传到了iTunes Connect,并做为公测应用提交给了Apple。这个版本用了不到24小时。

    在7月份(根据RescueTime统计),我在Xcode花了25小时,在iOS模拟器上花了2小时52分钟,在预览上花了4小时23分钟(阅读教程),在Stack Overflow上花了51分钟。我还在手机上阅读了很多资料。

    Swift 社区

    我还做了一些其它事情,让自己融入Swift社区:

    订阅WeHeartSwift的newsletter

    订阅Dave Verwer的iOS Dev weekly

    关注Medium上的TAG:“Swift”

    观看www.raywenderlich.com上的播客

    找到当地的meetup(我参与了Brooklyn Swift Developers*和iOSoho)

    加入一个Slack小组:(1)helpMeCodeSwift是我偶然进去的一个小团体。现在只有少部分活跃的人,但是他们超级友好,从来不会对各种小白问题感到厌烦。(2)swift-lang slack是大团体,有问必答,不过貌似没有太多初学者,对于进入这种交谈的情况,我稍稍感到不安。可能我应该只是为初学者建立一种渠道。

    说了这么多,都是我觉得有帮助的。如果你有其它的优秀资源想推荐,请在评论里,把你喜欢的东东、以及它为什么好的理由都写上。

    第一次参加的meetup是由Dave Grandinetti发表的“Learning Swift the Euler Way”演讲。Dave开发了一个工具EulerKit,我很激动地签出了,它包含了一些helper方法,能为解决Project Euler问题助一臂之力。我参加了前两次,此后就有些吃力。

    推荐文章

上一篇: 基础设施监控平台监控易获真格、达内1300万元天使投资

下一篇:达内Android培训:“轻”谈H5小游戏设计理念

最新开班日期  |  更多

Java--零基础全日制班

Java--零基础全日制班

开班日期:12/29

Java--零基础业余班

Java--零基础业余班

开班日期:12/29

Java--周末提升班

Java--周末提升班

开班日期:12/29

Java--零基础周末班

Java--零基础周末班

开班日期:12/29

  • 网址:http://km .java.tedu.cn      地址:昆明市官渡区春城路62号证券大厦附楼6楼
  • 课程培训电话:186 8716 1620      qq:2066486918    全国服务监督电话:400-827-0010
  • 服务邮箱 ts@tedu.cn
  • 2001-2016 达内国际公司(TARENA INTERNATIONAL,INC.) 版权所有 京ICP证08000853号-56