准确的说,我是30天前开始学习Swift语言的。三天前,我的第一个公测应用程序获得了Apple的批准。与最终产品相比,这个公测版算不了什么,但对我来说,这是一个巨大的成就。我没有计算机科学学位,也没有开发人员所需的专业经验,但在过去的5年里,我在软件开发组的角色一直是产品经理,我做了一些RubyonRails的乐趣。应用程序。我一直想更直接地与繁忙的工作联系起来,所以我决定开始编码。为什么选择iOS和Swift?大规模流动性;个人流动性。我想制作一款人们实际使用的应用程序,让人们与手机保持亲密关系,我喜欢这样。我们的手机非常了解我们——当我们醒来和上床睡觉时,我们在哪里以及如何到达那里,我们的日程安排,与朋友和家人的谈话等等。这是我感兴趣的地方,我长期以来一直是Apple用户时间,当然最好是从iOS入手。我对Objective-C有过短暂的体验,这很可怕,而Swift一直受到人们的喜爱。约束的好处。苹果平台,袖珍屏幕,在这个范围内开发应用,需要很好的约束。这些限制让我专注于学习什么(而不是Web开发中的无底洞[4])并驱使我围绕用户体验进行创新。Swift是一种快速发展的语言。我喜欢从一开始就参与进来,观察语言的发展和演变,并成为一个小社区的一员——这就是我喜欢在初创公司工作的原因。初创公司被允许使用一种相对不成熟的语言来解决某个问题,加入更小的群体,并尝试连接人与物。我对为语言和社区做出贡献的可能性感到兴奋。初学者资源我在7月1日开始了这段旅程,我的想法是制作一个非常简单的应用程序。将此列在列表的首位有助于激励我并应用我所学的知识。我花了很长时间在互联网上寻找与Swift相关的最佳资源、教程和课程。有很多适合初学者的好资源,但大多数都是假设你一行代码都没写过,起点很低。比如这是一个变量,见变量跳转。其他的都是技术文章和参考资料(包括苹果的文档),好像有个前提:你经验丰富,或者从Objective-C转到Swift。以下是我发现对我这个级别的初学者有用的一些很好的资源:PaulHegarty的斯坦福课程《Developing iOS8 Apps with Swift》,可在iTunesU上免费获得。我从这里开始,在一个多星期的时间里,我听了前五个讲座和又做了一项家庭作业。这个教程很快变得具有挑战性,所以在我开始之后,我暂停了这个进度,以便在下面找到更实用的教程。然而,这是一门很棒的课程,而且PaulHegarty教授对他的材料很熟悉,所以我打算回去继续学习。如果您在练习时遇到问题(您无法在iTunesU中找到解决方案),此站点会解释每个问题的设置和方法。Apple的Swift编程语言教程。如果你之前有过一些编程经验,这本Swift语言的书,相比苹果的iOSSDK文档,读起来会非常轻松。它清晰、简洁且扫描速度快,因此您可以在遇到困难时看到在哪里可以找到某些概念。BigNerdRanch为他们的训练营创建了《Swift Pre-reading Assignment》,其中涵盖了类似的概念,但提供了更实用的示例供初学者练习。www.raywenderlich.com。这看起来像是某人的个人网站,但不要被它的外表所迷惑。这个网站是我见过的最好的资源。如果您从未创建过iOS应用程序,请注册时事通讯并访问“史诗般的教程”——它暂时感觉很宏伟,但如果您愿意,可以在一天内完成。本教程让我第一次深入iOS开发的怪异世界,并揭示了许多让初学者望而生畏的秘密。在开发我自己的应用程序时,我自己会参考本教程来刷新我对Xcode中某些特性或功能的记忆。学习完本教程后,网站上还有大量其他免费教程,我挑选了又挑选了对我的应用创意有帮助的概念。有太多很棒的内容,我想早点回去看看。(大约)时间轴第1周:让自己沉浸其中。我沉浸在斯坦福课堂的讲座和练习中,阅读了大量关于Swift语言的书籍,并完成了来自www.raywenderlich.com的“史诗般的教程”。在那之后,我准备开始处理我的应用程序。第二周和第三周:打磨。我开始编码的那天,恰好在缅因州的一艘帆船上开始了为期12天的生活。咖啡,平静的水,我每天早上都会在这个地方度过几个小时。这里没有互联网,我可以专注于Xcode而不是在40个浏览器选项卡之间来回跳转。这迫使我停下来,认真思考我想做什么以及为什么这样做。在这些日子里,我发现自己在思考代码并想出新的方法来在第二天早上尝试一下。第4周:我目前在做什么。学习曲线很陡峭,但我一天的工作效率比前几周高,这感觉棒极了。在最后一天,我清理了代码并找出了奇怪的边缘情况[注2],这真是太棒了,真的很令人满意。作为产品经理,我厌倦了这些场景,将多个小任务分配给工程师。能够自己卸下这些工作感觉真好。最后,我在Sketch中创建了一个基本的应用程序图标,按照步骤将其上传到iTunesConnect,并将其作为公测应用程序提交给Apple。这个构建用了不到24小时。7月份(根据RescueTime),我在Xcode上用了25小时,在iOSSimulator上用了2小时52分钟,在Preview[注5](阅读教程)上用了4小时23分钟,在StackOverflow上用了51分钟。我也在手机上看了很多资料。Swift社区为了加入Swift社区,我还做了一些其他事情:订阅We?Swift的时事通讯订阅DaveVerwer的iOSDev周刊在Medium上关注标签:“Swift”在www.raywenderlich.com上观看播客查找本地聚会(我参与了BrooklynSwiftDevelopers*和iOSoho)加入Slack组:(1)helpMeCodeSwift是我无意中加入的一个小组。现在只有少数几个活跃的人,但他们超级友好,从不厌倦所有的小白问题。(2)swift-langslack一大群,有问必答,不过好像初学者不多。我对进入这个对话有点不安。也许我应该为初学者建立一个频道。说了这么多,我觉得很有帮助。如果你还有其他优秀的资源想要推荐,请在评论中写下你喜欢什么,为什么好。我参加的第一次聚会是DaveGrandinetti的“LearningSwifttheEulerWay”。Dave开发了一个名为EulerKit的工具,我很高兴尝试使用它,其中包含一些帮助解决ProjectEuler问题的辅助方法。我做了前两次,之后我有点挣扎。最后,我的第一个应用程序—RoundTrip我的应用程序名为RoundTrip,它面向乘坐大都会运输署(MTA)[注3]公交车并喜欢优化地铁票价的纽约人。这是一个非常简单的实用程序。RoundTrip—MTAAppRoundTrip—MTA应用,敬请期待!弄清楚在您的MetroCard上存多少钱,这样您就不会剩下无法使用的钱。如果您存款超过5.50美元,MTA会给您11%的红利,最低存款只能是5美分。这两种情况交织在一起,让行色匆匆的人去心算就很尴尬了。评估您每月的乘车次数,看看与购买30天无限制MetroCard相比,您是否可以省钱。您还可以记录您的行程并查看有关您骑行频率的统计数据。如果您想成为Beta测试员,或者想知道该应用程序何时可用,请在此处注册或关注@helloroundtrip。感谢您了解我的旅程,并感谢@cm和@amrithap帮助我审阅本文的草稿。我正在寻找iOS开发人员的工作或实习生!如果有机会,请联系katie@katiesmillie.com。我的推特是@katiesmillie,我的网站是katiesmillie.com
