我有一个清单,列着期望在大学里完结的事。比方,学一门乐器,和朋友去旅行,建立自己的博客,去滑翔,看各主题的书本。其间一项是,写自己的App而且上架。上一年开端,我预备完结这一项,所以踏上了iOS开发之旅。现在,投入了约200个小时,我上架了自己的第一个简略的App。
App2.0版别
PS:欢迎我们助威~App地址。当然,这不是我写的第一个App,你能够在我的github上看更多的项目,比方开源的EmotionNote。
假如,有朋友说他的清单上,也有独立完结一个App这一项,这篇文章,便是我期望对他说的话了。
目录:
承认个人方针
剖析个人状况
规划自己的道路
记载学习的进程
开端吧
言语
了解你的东西——Xcode
依据项目的学习
从简略App开端, 剖析其生命周期
学习结构
了解概念
着手,不断犯错,不断改进
界面
网络
资源:
书
课程
网站
文章
正文:
承认个人方针
剖析个人状况
在听取主张之前,想一想自己的状况会更有用。比方,你有面向目标的编程经历吗?假如有,那么言语学习就不需花太多时刻。英语怎样?根本的英文文档能读懂吗?合适你自己的学习方法是什么?
对我而言,软件工程在读,根底课程都学过,入门较快。校园更多是在教理论,我更倾向在实践中学习(learning by doing)。
规划自己的道路
了解自己的根本状况之后,就能够规划自己的学习道路了。一开端不会有完好的道路,需求依据自己的状况不断的调整。无妨读一读其他人入门的文章,吸取经历。
记载学习的进程
200h.jpg
你怎样知道自己学得怎样?传统教育,会有传统考试作为查验。我的做法是,记载进程,设置查验点,寻觅概念的共通性,触类旁通,问问题以及写作总结。
开端吧
一开端了解编程言语,然后了解开发东西Xcode,了解大约的项目结构,App生命周期,界面怎样和代码交互。了解规划形式,例如MVC。之后,就能够开端与Cocoa结构交互。最终,依据你想要写的App类型,再针对性的学习。
Swift_-Overview-_Apple_Developer.png
言语
假如把写App比作是建房子,那么言语便是根本的砖块。那么,应该学习Swift仍是Objective-C呢?我个人的主张是先Swift,之后再了解OC。相比较OC,Swift更易上手,社区也日渐活泼。假如你有编程经历,这一步应该不会花去太多的时刻,get your hands dirty才是要害。
Xcode.png
了解你的东西——Xcode
工欲善其事必先利其器,快速的了解Xcode界面,各面板功用,常用的快捷键等等,会进步不少功率。
Xcode_Keyboard_Shortcuts_pdf(1_页).png
依据项目的学习
除了斯坦福大学的iOS开发入门之外,我个人很喜欢的一套教程是Teaching App Development with Swift。它首要的观念便是依据项目的学习,每课时都有不同的项目,一个项目多个课时,明晰的过程一步步建立起完好功用。由实践引出知识点,最终给出延生考虑和材料。
从简略App开端, 剖析其生命周期
学习结构
http://www.zg3ddyw.com/hy/gjdt/4160.html
结构是什么?
许多体系的功用,都是不需求你完成的。幻想你自己在拼一辆四驱车,马达啊,轮子啊,车身啊,一开端,这些你都不需求自己造。你需求知道的仅仅,每一部分的功用是什么,怎样把他们组装在一起,哪一部分拼在哪里。相同的,结构就像是各式各样的零件,比方UIKit,能够改造车身外观,多媒体需求用AV Foundation。
总归,要澄清两个问题:
什么时分用什么?(When to use what?)
怎样用?(How?)
了解概念
一边操练一边考虑考虑,各概念之间的联络与差异,多问几个为什么。比方:delegate、protocol、tagart-action、closure 。
其间Protocol,我是读了iOS 8 Programming Fundation with Swift (Matt Neuburg)中的介绍,才完全了解。
着手,不断犯错,不断改进
做完好的项目,而不仅仅一个功用点的操练。完好的项目,需求归纳的考虑。界面的规划,类的规划,目标之间的交互等等。 一开端不知道怎样完成时,无妨先看看其他人的完成。你能够查找书本,在Github上阅览相关功用的源码,上StackOverFlow发问等等。
界面
Apple很注重用户体会,学习根本的界面规划也是很必要的。之前完好的看了DesignCode的教程,了解了根本的规划以及Sketch的运用。iOS Human Interface Guide也是开发之前的必读书。
界面布局的时分,不得不提一句AutoLayout,一开端运用很或许会呈现各种问题,不过带路方法之后,你会发现它的强壮之处。
网络
JSON
iTunesEdu.png
资源:
网站:
http://www.developer.apple.com/
官方材料。文档阅览,一开端或许不知道怎样下手。有一篇博文写得非常具体。当然,iOS 8 Programming Fundation with Swift书中第八章也是有介绍的。
http://github.com
程序员界Facebook。
https://github.com/ipader/SwiftGuide
https://github.com/matteocrippa/awesome-swift
http://www.stackoverflow.com/
技术问题版知乎。
http://www.raywenderlich.com/
声名在外的系列教程。
http://nshipster.com/
你不知道Mattt Thompson?快去看看吧。
https://www.objc.io/
根底到进阶引荐。
https://designcode.io/
了解规划流程,根本界面交互、动画等。其时完好的跟着做了一遍,收成良多。
书:
The swift programming language
iOS 8 Programming Fundation with Swift (Matt Neuburg)
Programming iOS 9 (Matt Neuburg)
个人强烈引荐的两本书,一向不断的在看,解说详尽,掩盖全面。
Learning iOS UI Development (Yari D’areglia)
Yair D’areglia的博客也值得一读:http://www.thinkandbuild.it
Post:
Things I wish I had known before starting iOS development
iOS开发怎样入门?——知乎
自学iOS开发的经历
我只列出了常用的资源,材料不在于多,而在于合理的使用。一个主意的开端很简略,按下保藏也很简略。不简略的是,开端去做,开端去完成。信任,假如你也乐意支付200小时,你也能完好的将自己的主意完成为使用。