iOS开发如何入门
准备工作/即将开始工作
1.Mac、iOS设备、开发者帐户
这些都是iOS开发必备的,而且是一大笔钱,但是不要怕花钱,因为都是值得的。如果能学到东西,基本上一两个月就能拿回工资。就当是自己交的“培训费”吧。
2.心理准备
诸如
如果你是零基础转行iOS,一定要有破釜沉舟的勇气和决心,做好打持久战的准备。如果你怕手脚,我劝你想好了再来,免得浪。
这需要时间和金钱。我收入很低。用三个月的工资买了一台Macbook,天天担心丢了或者坏了。后来,当我得知自己有所成就时,我毅然选择了裸辞,独自来到一个陌生的地方。
上海,失业两个月后,找到了工作。一路走来,我一直承受着巨大的精神压力和物质压力。
第二,
学习路线
1.对编程有基本的了解
如果你是完全零基础,建议你先对编程有个基本的了解。建议先从C语言开始,因为C语言简单易用,和Objective-C很像。
视频推荐网易云课堂
《计算机专业系统》这门课非常适合入门。
书籍,推荐《c。
Primer Plus”.
2.目标-C语言学习
当你对C语言有了大致的了解,就可以开始学习Objective-C了。
推荐书籍:
目标C基础教程
目标C程序设计
注:这两本书内容几乎一样,但《目标-C基础教程》更好,更经典,建议重点看这本书进行精读。不过这本书比较笼统,难度略大,所以如果遇到不懂的地方,可以看看Objective-C编程,简单详细。
需要掌握和熟练运用:
1)面向对象编程基础知识。包括:面向对象和面向过程的区别,为什么要面向对象编程,对类、对象、继承、方法、属性、接口等概念的理解和使用。
2)基础框架。主要是NSString类、NSArray类、NSDictionary类、NSNumber类、NSRange类的熟练使用。
3)内存管理原理MRC和ARC委托代理、协议、类别和块的理解和使用。
3.iOS SDK/可可触摸学习
有了Objective-C基础,就可以边看斯坦福公开课边开始做APP了(个人觉得,没有OC基础直接看这个会很困难)。视频如下:
斯坦福大学公开课cs 193 p《IOs 7应用开发》(目标-C语言)
斯坦福大学公开课cs 193 p《I os8开发》(Swift语言)
推荐书籍:掌握iOS开发
第一款iOS应用:
苹果官方有制作iOS应用的教程——“马上开始开发iOS应用(Start
今日开发iOS应用)》,强烈推荐将这个演示作为你的第一个iOS应用,因为这个教程可以让你非常全面详细的了解一个iOS应用的构造。完成这个Demo后,你可以结合在斯坦福公开课上所学的知识,创建自己的APP。
需要掌握的地方:
1) MVC设计模式。只有了解了iOS的MVC架构,你才能把一个应用解剖成一个个独立的部分,这样你在开始一个项目的时候才不会迷茫。
2)2)ui kit的各种控件。尤其是UITableView和UICollectionView一定要掌握,因为大部分iOS应用都是由这两个视图构建的,理解它们会很有乐趣。
3)导航控制器UINavigationController和选项卡控制器UITabBarController。如上,这两个控制器也是大多数iOS应用的UI框架的基础,也是多个MVC协同工作的最典型的例子。
4)场景切换的实现。熟练使用Segue非常重要,因为一个应用程序通常会依次出现在每个界面中。如何在两个接口之间跳转,如何将一个接口的数据转移到下一个接口,这些都是实际开发中会遇到的问题。
5)故事板和AutoLayout的使用。它们都是应用程序UI设计中不可或缺的部分。
iOS的其他高级编程。包括:数据访问CoreData/SQLite、多线程GCD、画图CoreGraphics、动画Coreimagination、网络编程、手势手势、多媒体AVFoundation等。这些内容可以在实际使用时进一步研究。
7)第三方库的使用。参考:GitHub上有哪些值得学习的iOS开源项目?-编程
4.坚持写代码,查文档,看技术博客。
学编程,一定要勤于动手,多看看书,多看视频,不开始打代码也是白搭。即使看不懂书和视频里的一行代码,自己敲代码实现Demo也是很重要的。编程可以用手,不用眼睛。
在学习iOS开发的过程中,有不懂的地方很正常。不要怕不理解。可可有很多细节,WWDC每年都会发布一些新技术。所以,不懂的知识,一定要学会查苹果官方API文档:iOS Dev Center。
做APP的时候,如果一个地方不会实现,或者遇到无法解决的问题,一定要学会使用Google搜索。一般来说,对于iOS新手遇到的问题,都有类似的关于堆栈溢出的问题,基本上一查就准了。
此外,CSDN等一些技术博客上的文章也很有参考价值。推荐几个优秀的iOS技术博客——中文iOS/Mac开发博客列表:tangqiaoboy/IOS blogcn github。
第三,写遗言
诸如
如果你能按照上面说的做个APP,找个工作,那基本就是介绍了。但这不是结束,这只是一个新的起点。IOS开发,乃至整个计算机/互联网行业,
还有很长的路要走。苹果的整个可可框架可谓博大精深,里面可以深挖的东西太多了;而且,一个程序,一段代码的优化是没有止境的。作为一项发展
只懂一种语言是不够的。网络编程、数据库、算法、设计、交互等等都需要掌握,而语言只是实现这些的工具,语言其实是最简单的。
另外,如果你和我一样来自非专业类,需要补上计算机的基础课,即:数据结构、算法、操作系统、数据库、计算机网络、编译原理等等。因为这些知识是你的“内功”,这些基础直接决定了你在这个领域天花板的位置。
当...的时候
不过基础几乎没什么大问题。最重要的是你对电脑和互联网的热爱和热情。你需要有很强的自学能力,不断学习新知识,才不会被这个瞬息万变的行业淘汰;
你需要保持一颗好奇心,不断尝试和接受新事物,不断创新,守旧的人是无法在这个行业生存的。在我找工作的过程中,那些知名大公司直接在简历上把我关了。
我刷掉了,那些给我Offer的公司都说我被选中是因为欣赏我的热情,看重我的自学能力。
所以,如果你和我一样对iOS开发充满热情,敢于接受挑战,那么现在就开始努力吧,我会在前方的路上等你!