学习ios开发,从哪儿学起?都要学哪些知识?如何才算掌握或精通ios开发?笔者根据自己多年的ios开发经验,给出一些体会,以便为立志成为ios开发精英的人员快速找到一条学习之路。本文是以最新上市的ios10 为依据的。
一、ios总体知识架构
要全面掌握ios开发技术,需要学习和掌握下列几方面的知识和技巧:
1.开发语言:Objective-C或Swift。
2.ios SDK:由苹果官方提供的一些列从初级到高级,并不断更新和扩展的API。包括框架(Framework)和动态库(Dynamic Library)两种形式。
3.App架构:APP的组成、APP生命周期及各种状态转换、APP界面基本原则和跳转规则等。
4.集成开发测试环境Xcode:包括编码、编译、运行、测试、UI可视化构建、APP Sotre发布等工作均可以在此环境下完成。
图1:ios知识总体架构
上述四个方面的知识对于ios程序开发缺一不可。其中开发语言是基础,ios SDK是核心,Xcode是工具,App架构是必须遵循的基本规则。
二、ios特色关键知识点
下列知识点大部分是ios特有的,在iOS 开发中起着非常重要的作用,需要仔细学习领会。其中蓝色字体为苹果官方提供的相应技术指南文件,对这些知识点均做了全面深入的阐述,是ios开发人员学习的第一手资料。
1.委托(Delegate):Concepts in Objective-C Programming
2.通知(Notification):Notifications;Local and Remote Notification Programming Guide
3..目标/动作(Target/Action):Target-Action in UIKit
4.沙盒技术:App Sandbox Design Guide
5.MVC架构:Concepts in Objective-C Programming;Design Guidelines for MVC Applications
6.iCloud存储:Transferring Data to and from iCloud
7.块(Block):Creating a Block;
8.自动布局(Auto Layout):Auto Layout Guide
9.KVO/KVC:Key-Value Observing Programming Guide
10.多任务(Multitasking):Concurrency Programming Guide
上述知识点1-5是基础性的,6~10是提高性的。理解和掌握了这些知识点才能更加灵活和有效地进行ios开发。除了上述技术指南外,下列基础性的技术指南也建议开发者认真学习:
iOS Human Interface Guidelines
App Programming Guide for iOS
View Controller ProgrammingGuide for iOS
Xcode Overview
Debugging with Xcode
Testing with Xcode
App Distribution Guide
Internationalization and Localization Guide
Programmming With Objective-C或The Swift Programming Language (Swift 3)
Object-Oriented Programmming With Objective-C
Adopting Modern Objective-C
三、iOS Framework
ios技术体系按照官方说法分为下列四层:
图2:ios技术层次结构
这些技术被打包成现成的Framework,供开发者直接调用。ios10共有91个Framework,按照其功能可以分成基础类(Foundation)、数据类(DATA)、网络类(NET)、图形动画类(GRAPH)、音视频类(AV)、系统类(SYSTEM)、苹果特定业务接口类(ASI)、测试类(TEST)共八个类别。按照其难易程度可以分为初级、中级和高级。具体分布如下图(图中数字为该类型和等级Framework数量):
图3:ios Framework分类与分布
学习ios开发应由浅入深,循序渐进。掌握了初级框架就可以编写简单的ios程序了,包括简单的本地数据、图片、照片、音视频、地址簿、邮件、日程等的读写和显示。中级框架涉及面最广,包括所有类型框架,这里FOUNDATION、DATA、NET和TEST类又是基本的,涉及复杂数据类型、文件、数据库、各种网络连接、单元测试等,应尽量全面掌握,其它类型的框架可以根据兴趣或工作任务逐渐去学习或掌握。高级框架以图形、音视频内容为主,主要是提供了更低层和更灵活的硬件操作接口。仅在必要时再去深入学习即可。由此可见,一个初级ios开发者应掌握至少15个框架,一个中级ios开发者应掌握40~50个框架,一个高级ios开发者应掌握50~60个框架(至少包含10个高级框架)。具体各Framework的功能和分类见下表:
表1:iOS Framework 分类和简述
综上所述,ios开发最基础的就是Objective-C或Swift语言、Foundation和UIKit框架中的基本内容及Xcode的简单使用;进一步就是数据库、网络、图形动画、音视频、系统安全和ios专用业务接口(如地图、加速器、健康、语音识别、Web.....)的调用和多线程的使用,此时对Xcode使用会增加单元测试、性能调优、Bug追踪等高级功能;最终达到能使用低层的Framework或动态库优化硬件性能或灵活处理复杂业务的目标。
ios开发学习的最好资料就是苹果的官方文档,包括各种技术指南、API参考文档和示例程序(Sample Code),要想成为高手,没有捷径,必须静下心来一点点看。本文只是将其做了一个分门别类的索引和说明,按照这个索引和自己的目标循序渐进地学习,你一定会更快、更好地成为ios开发高手!
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。