概述
之后的一系列文章均为iOS初学者入门参考。由于目前(截止2020年4月)网络上iOS零基础入门的视频和文章都有些零散,有的文章或视频中api被弃用或者过时,在我想要快速入门学习的时候查找入门教程发现很浪费时间,于是将我入门的过程完整的记录了下来与大家分享。由于本人目前是Android和Flutter开发者,所以也会在文中对比前两者的系统、所使用编程语言与iOS中的不同和相同之处。同时我个人认为对于有基础的开发者看文字比看视频是要高效的。
本文主要内容
- iOS系统介绍
- iOS开发硬件要求
- iOS开发软件要求
- iOS开发语言
- OC语言特点和iOS写法上的特点
- iOS开发模块分类
一 iOS系统介绍
iOS:苹果公司开发的移动操作系统,封闭系统(相对于Android开源类的系统)。与苹果的macOS操作系统一样,属于类Unix的商业操作系统。应用于iPad,iPhone,iPod touch设备。
二 iOS开发硬件要求
- Mac电脑
- iPhone手机(虽然平时调试的时候可以使用模拟器,但是要适配各个版本的系统和各个尺寸屏幕的时候还是要手机)。
- 苹果官网注册账号,并续费。(之所以归为硬件要求中因为没有官方注册账号想要发布开发的应用是不可以的,且苹果市场就一个AppStore)。
三 iOS开发软件要求
- Xcode:苹果官方开发工具
- CocoaPods:引入第三方库的时候使用的软件
关于Xcode的安装和配置由于很简单,这里就不再赘述,可以直接搜索如何安装。关于CocoaPods的安装和使用在后面涉及到第三方库引入的时候会很详细的写一篇文章介绍。
四 iOS开发语言
最初的时候开发iOS程序用的是OC(Objective-c),后来又有了Swift。目前市面上绝大多数的程序是OC写的,所以OC是跳不过一定要学习,并且入门我也是建议从OC入门。但是由于苹果大力推Swift,同时市面上也有很多基于Swift的程序和第三库,说明也很成熟了,所以后期Swift也是要学的。
五 OC语言特点和iOS写法上的特点
OC的具体介绍将放在下一个文章中,下面只是介绍一下我对于iOS写法的大体感受。
iOS在UI的主流写法上更像是H5和Flutter,将所有的UI控件(或叫UI视图)都放在OC文件的代码中。
还有一种现在不是很常用的写法就是使用故事板,也就是.storyboard文件来完成UI的布局,再在OC文件中完成逻辑部分。这种写法很像Android中的xml文件和java文件配合完成开发。
六 iOS开发模块分类
这种分类是按照我的个人理解来划分的,无论对于iOS还是Android系统都是可以这么来分的(Flutter只是一个UI框架)。
- UI框架
- 数据存储
- 网络通信
- 多媒体
- 传感器的应用
6.1 UI框架
- 各种UI控件,以及各种控件的嵌套,控件位置和大小
- 手势处理,包含触碰事件的传递和事件的响应
- 触碰事件的分类
6.2 数据存储
- 内存中数据的存储(数据的存储容器类)
- 磁盘中数据存储,数据的持久存储
- 网络数据的获取
6.3 网络通信
- 网络协议
- iOS自带网络连接工具库,第三方的网络连接工具库
6.4 多媒体
这里的多媒体指音频、视频的播放
6.5 传感器的应用
手机中会有各种硬件传感器来帮助我们采集各种想要的数据,我们要学会正确的获取这些传感器的状态和数据,以达到我们的目的。