网易云课堂:网易iOS开发工程师直播分享会

一:网易资深“女程序猿”带你认识iOS开发

1.推荐网站:objc.io

2.现在公司对iOS开发者的工作经验要求高的原因:公司项目的工期时间一般都比较紧凑,所以都尽量招一个来了就能开工,就能做的开发者。

3.安卓和iOS用跨平台做好吗?答:安卓和iOS有很多交互习惯都不太一样。最好还是各自按自己的交互习惯写。

二:从零开始学iOS开发?这里有入门宝典!

1.入门

书籍:《iOS编程》《iOS开发指南》,入门材料:https://code.tutsplus.com/series/learn-ios-sdk-development-from-scratch--mobile-14536(讲解各个SDK,及各个SDK的用途)

2.高级进阶:原理和基础。

①.语言

a.《Effective Objective-C2.0》&编码规范。

b.Objective-C Runtime。(http://opensource.apple.com/source/objc4/)(Objective-C Runtime Programming Guide)(objc_msgSend实现细节:能为OC的实现有很大帮助)

c.The Swift Programming Language

②.GUI学习

a.View、Controller、Event、Layout、Draw、Animation(对他们掌握的深度,就反映了开发的熟练程度,因为iOS开发一般都在做这些工作)。

b.Apple Guide:(View Programming guide、View Controller Programming Guide、Event Handling Guide、Drawing and Printing Guide、Core Animation Programming Guide)(这些Guide讲得很宽泛)。

③.Xcode学习

a.工欲善其事,必先利其器。(一个人对IDE的理解,反映了这个人对这个语言,这个平台的理解深度)。(学任何语言都要重视对IDE的学习)。

b.Xcode Overview。

c.Xcode Project Management Guide。

d.Xcode编译、链接、打包各流程,配置,Xcodeconfig。

e.Xcode管理多工程、多Target。

f.熟练使用cocoa pods、plugin。

g.llvm。

④.网络

a.理解NSURLConnection、NSURLSession、NSURLProtocol。

b.Apple Guide:(URL Loading System Programming Guide)(Introduction to CFNetwork Programming Guide)

c.AFNetworking。

⑤.多线程

a.《Objective-C高级编程iOS与OS X多线程和内存管理》。

b.Apple Guide:(Concurrency Programming Guide)(Threading Programming Guide)。

⑥.逆向安全

a.Keychain Services Programming Guide。

b.《iOS应用逆向工程》。

⑦.学习资源

a.WWDC session。

b.objc.io。

c.需要熟悉原理和实现的开源库。(SDWebImage)(AFNetworking、Restkit)(AsyncDisplayKit/Pop/ReactNative)(ReactiveCocoa)。

3.知识体系,走向专家:

内功而非招式(3-5年iOS后,该做什么)(学了这些,如果你不想做iOS了,花很少时间,你就又能成为其它领域的专家)

①.数学(基础、高等数学)(数论)(概率论)、《具体数学》

②.操作系统

a.现代操作系统。

b.操作系统实现。

③.链接(Linding)与加载(Loading)。《程序员的自我修养》

④.ARM体系架构(汇编)

a.ARM体系结构与编程。

⑤.语言:

a.Scheme、Racker、Haskell、Prolog…。

b.C/C++/Java。

c.《面向对象编程导论》

d.《编译原理》:龙书

e.《计算机程序构造与解释》(强烈推荐)

⑥.算法与数据结构

a.《算法导论》

⑦.平台编程

a.《Unix高级环境编程》

⑧.设计模式

a.《代码大全》

b.《重构》

⑨.网络&数据库

a.计算机网络

b.数据库

企业需要怎样的iOS人才:

a.大公司更看重基础,成长性。

b.技术热情,不来自于说,来自于行动。

c.系统学习的能力,多看书,系统的规划技术。(不推荐用看博客的方式作为提升技术的主要方式,书籍养分更足)。

d.听、说能力。

e.敢于承担、敢于挑战。(胆大心细)

答疑:

1.大公司都看重算法和数据结构吗?

答:招应届生时,也没啥工作经验,就只有考查基础了,所以会考查数据结构和算法。

2.同时学几门语言,会学混吗?

答:同时学几门,并且同时用几门,确实有可能学混。但是,你学一门,并只用这一门,并一门心思思考这一门语言,就不会学混。

3.架构、逆向工程师很火,iOS就不行了。

答:iOS没啥好逆向的,已经比较安全了。

架构:iOS没啥好架构的,将苹果那套东西用起来就行了。国内也没几款App复杂到需要架构的程度。

想学架构,不如在看看其它领域,如看看安卓、后台开发,这样,谈架构,才有更大的发展空间。

4.苹果为什么推出Swift替代OC?

答:OC是一门很老的语言,80年代推出的语言。很多特性都非常老。

Swift很多对安全的考虑,对性能上的考虑,都比OC好。是一门更现代化的语言。

你可能感兴趣的:(网易云课堂:网易iOS开发工程师直播分享会)