iOS系统是基于MacOS/Darwin的手机操作系统平台,要深入系统的学习iOS,不仅仅要有Objective-C应用开发,还必须要具备MacOS/Darwin、C/C++高级编程技巧才能深入的涉及iOS高端及游戏开发,成为iOS开发的高素质人才。
第一阶段:ISO系统开发环境基础
让你熟练使用版本管理器,熟练使用iOS开发中最重要的武器Xcode,从掌握Mac OS操作系统到精通Xcode开发框架,对整个iOS软件产品的开发流程,有一个整体清晰的理解,对后续自己开发程序或者公司开发软件产品奠定正确思路,了解苹果软件产品生命周期,行业规则和相关开发需要知道的背景知识。
课程名称 |
课程目标 |
MAC系统基础 |
本课程介绍MAC操作系统的基本操作和常用工具的使用,使学员快速掌握MAC系统的基本操作方法,从而为接下来的C/OC/Swift语编程言基础锻炼创造便利条件。
在本阶段将涉及以下主要内容:
MAC-OS基础
SEHLL命令核心
文件编辑器VI/VIM的使用及配置
MAC文件系统的管理和维护
MAC用户和用户组管理
LANMP生产环境部署
SVN/GIT代码版本管理
GCC/CLANG编译器的使用 |
编程核武器Xcode |
本课程介绍最重要的一款iOS开发武器:Xcode,他酷炫的功能配合OC/swift美妙的语法,一定会让你爱不释手。
在本阶段将涉及以下主要内容:
创建single view项目
认识workspace
创建console项目
创建窗体项目
创建OSX项目
创建iOS项目 |
真正的入门 |
本课程介绍iOS开发的各种前期准备工作,磨刀不误砍柴工,一定要搞清楚这部分内容,这样你才能对你的工作时刻充满热情!
在本阶段将涉及以下主要内容:
帮助文档的使用
提问与解答的地方与技巧
模拟器的搭建和使用
真机连接与测试
AppStore的使用与如何挣钱 |
阶段实战项目 |
本课程为贯穿整个学习过程的阶段性项目实战,可选择多个大型项目(如“资理通”金融股票投资系统、“乐游”旅行攻略、手机订票系统、手机地图导航 等 ),学完整套课程学员即可做出一个完整的项目。
一、“资理通”金融股票投资系统框架搭建
二、“乐游”旅行攻略、手机订票系统需求分析
三、手机地图导航功能设计
…… |
第二阶段:核心语言工具
让你快速掌握苹果MAC系统所需要的编程语言工具!掌握MAC下C/OC语言开发Fundamental Environment,为进一步学习iOS开发打下良好的基础。
课程名称 |
课程目标 |
C/C++语言 |
本课程主要学习及巩固C/C++语言,目的是让0基础的学员在短时间内掌握C/C++语言编程,让有基础的学员巩固和强化编程能力,具备扎实的功底。
在本阶段将涉及以下主要内容:
C/C++基础、GCC编译器
面向对象编程、数组、指针
类和对象、结构、运算符、模板编程 |
Objective-C语言Fundamental |
本课程是Objective-C语言的基础锻炼部分,目的在于让编程基础较为薄弱的学员通过较为全面的OC语言基础知识梳理和强化,建立一个完整的程序设计知识体系,为后续的iOS开发奠定扎实的编程基础。
在本阶段将涉及以下主要内容:
分类(Category)
扩展(Extension)
协议(protocol)
KVC与KVO
@Selector
分支与跳转
双指针、堆内存管理
IO基本概念等 |
Objective-C语言OOP |
本课程是Objective-C语言的面向对象部分,这部分是OC的精华,通过掌握OC语言高级特性,理解面向对象编程思想,掌握封装,继承,多态三大特性。步入苹果平台开发的行列。
在本阶段将涉及以下主要内容:
面向对象编程(OOP)
继承和组合、self和super关键字
属性(Property)、类工厂方法(Class Factory Method)
单例模式(Singleton)、委托模式(Delegation)
内存堆栈模型
内存管理(引用计数、ARC)
自省(Introspective)、SEL选择器
动态类型与静态类型等 |
Objective-C Foundation框架 |
Foundation 框架是MAC平台开发的基础框架,包含最核心的类型。精通此部分内容相当踩在巨人肩膀上,让你即刻对MAC编程技术有了质的提升。
在本阶段将涉及以下主要内容:
Foundation 框架的类结构和关系
字典(NSDictionary,NSMutableDictionary)
集合(NSSet,NSMutableSet)
快速枚举(for..in)NSIndexPath
文件管理(NSFileManager)
程序包(NSBundle)、缓冲区(NSData)
(NSNotificationCenter)
系统功能框架
网络连接(NSURLConnection)
网络地址(NSURL)
网络请求(NSURLRequest)
请求回应(NSResponse)
网络请求(NSURLRequest)
请求回应(NSResponse)等 |
阶段实战项目 |
本课程为贯穿整个学习过程的阶段性项目实战,可选择多个大型项目(如“资理通”金融股票投资系统、“乐游”旅行攻略、手机订票系统、手机地图导航 等 ),学完整套课程学员即可做出一个完整的项目。
一、“资理通”金融股票投资系统定义相关类和属性
二、“乐游”--旅行攻略、手机订票系统建立数据模型
三、手机地图导航调用API
…… |
第三阶段:iOS核心编程
此阶段内容为iOS编程核心内容,通过此阶段课程的学习,对MVC, 控制器,常用控件,视图层, 多线程及网络编程有一个深入的理解,并熟练应用iOS的多线程,网络通信,持久化存储等技术,学员在沉淀知识的同时,也熟悉了真正的企业级别项目的开发方式。
课程名称 |
课程目标 |
控制器及常用控件 |
本课程是iOS控制器及常用控件的学习,通过本课程的学习,理解iOS的核心框架模式MVC熟练使用各种视图控制器和一些控件进行界面编程,理解xib文件原理。
在本阶段将涉及以下主要内容:
视图和控制器
MVC架构
导航视图控制器
表视图控制器
视图控制器的生命周期
SegmentControl
ViewController
自定义控件
iOS8新增特性 |
视图层 |
本课程是iOS视图层课程,通过本课程的学习,掌握视图中的绘制,图像处理,视图手势,视图动画,布局,视图层次结构管理以及故事板编程。
在本阶段将涉及以下主要内容:
UICatalog
手势与变形
屏幕适应与布局动画
通知与键盘
Storyboard
视图层次结构管理
CGPoint、CGSize、CGRect
iOS8新增特性 |
多线程及网络编程 |
本课程将从实例出发,理解并掌握多线程及网络通信原理,全面掌握各层级别的网络通信技术,了解和使用云技术。
在本阶段将涉及以下主要内容:
多线程(NSThread, NSLock)
操作队列(NSOperationQueue)
HTTP通信简介
加载网络数据
异步加载网络数据
搭建J2E-IDE
网络编程 GET/POST请求
使用GET方式与服务器通信
使用POST方式与服务器通信
推送服务的使用 |
阶段实战项目 |
本课程为贯穿整个学习过程的阶段性项目实战,可选择多个大型项目(如“资理通”金融股票投资系统、“乐游”旅行攻略、手机订票系统、手机地图导航 等 ),学完整套课程学员即可做出一个完整的项目。
一、“资理通”金融股票投资系统广告模块设计
二、“乐游”--旅行攻略、手机订票系统网络通信模块设计
三、手机地图导航整体界面结构搭建
…… |
第四阶段:iOS高级编程
此阶段为iOS高级编程阶段,通过本阶段的学习,你将掌握UIkit编程、数据存储与多媒体,充分理解XML和JSON的作用及使用技巧,掌握swift2.0开发技巧,后续通过完成多个不同类型的项目,你将掌握音频视频处理,电话短信处理,相机操作,重力感应,地图等技术,让你从一名合格的iOS开发工程师,一跃成为核心骨干工程师!
课程名称 |
课程目标 |
UIkit编程 |
本课程是iOS的UIkit编程课程,通过本阶段的学习,可以掌握UIKit的内容和框架,并培养对软件产品的审美取向,该门课程不仅要求学员要做到基本的编程语法全面吸收,并且要求尽可能吸收优秀作品的精髓,逐步提高设计的品味。
在本阶段将涉及以下主要内容:
窗口(UIWindow), 应用程序(UIApplication)
绘图(drawRect), Quartz, CGContextRef
触摸(UITouch), 事件(UIEvent), 手势(UIGestureRecognizer)
UIResponder, 消息传递,响应者链
CALayer动画(CAAnimation, CABasicAnimation,CAKeyFrameAnimation)
活动提示(UIActivityIndicatorView)
滑块(UISlider)、表格项(UITableViewCell)
音频播放(AVAudioPlayer)
视频播放(MPMoviePlayerViewController)
照相机(UIImagePickerController),相册管理
短信(MFMessageComposeViewController)
邮件(MFMailComposeViewController)
加速计(UIAccelerometer)的使用
地图(MKMapView)的使用及定位(Core Location) |
Swift 2.0 Fundamental |
本课程是swift语言的基础部分,学完C/OC的学员掌握了swift就掌握了iOS苹果开发最重要的三大杀器。
在本阶段将涉及以下主要内容:
swift基础语法
基本框架、数据类型、变量定义
字符串操作、字典、控制流
函数、Optional值
在Xcode中使用swift开发项目
swift与OC比较 |
Swift 2.0 OOP |
本课程是swift语言的面向对象部分,这部分是swift的精华,通过掌握swift语言高级特性,理解面向对象编程思想,掌握封装,继承,多态三大特性。
在本阶段将涉及以下主要内容:
面向对象编程(OOP)
类的定义与方法
类功能的动态扩展
继承、接口
namespace命名空间
swift调试技术 |
多语言混合编程 |
本课程介绍如何在iOS使用多种语言开发软件,如今iOS世界中通行语言C/C++/OC/swift可以相互交错,混合发挥各自所长。我们不仅需要灵活掌握他们的每一个用法,同时还需掌握他们之间的互相调用。
在本阶段将涉及以下主要内容:
swift调用OC
OC调用swift
OC调用C++
C++调用OC
swift调用C
swift、C++与OC混合编程 |
数据通信及多媒体 |
本课程将带你学习有关文件、数据的存储以及多媒体处理等问题,深入理解各个表层UI的背后,数据逻辑的流向,有助于从根本上认清事物的来龙去脉,精确把握程序中每一个细节。
在本阶段将涉及以下主要内容:
应用沙盒
写入和读出文件
swift解析XML
swift解析JSON数据
swift生成JSON数据
plist数组解析
plist字典解析
CoreData创建项目、设计数据结构图、插入、读取、更新、删除
录制和播放视频文件
录制和播放声音或音乐
数据持久化(文件,SQLite数据库, 归档, NScoding)
云存储(iCloud) |
系统功能汇总 |
本课程针对iOS所运行的手持设备(iPhone、iPad)的特性,将软件能控制的硬件资源做一个统一的汇总,集中学习如何控制这些炫酷的硬件设备!让他们为你的程序服务!
在本阶段将涉及以下主要内容:
触摸事件及多个触摸点的处理
各种传感器
发送邮件、短信、打电话、拍照
指纹识别技术
人脸识别技术 |
阶段实战项目 |
本课程为贯穿整个学习过程的阶段性项目实战,可选择多个大型项目(如“资理通”金融股票投资系统、“乐游”旅行攻略、手机订票系统、手机地图导航 等 ),学完整套课程学员即可做出一个完整的项目。
一、“资理通”金融股票投资系统布局适应、界面美化、添加指纹解锁
二、“乐游”--旅行攻略、手机订票系统整体界面结构搭建、统一数据存储
三、手机地图导航图标设计、过度效果、数据处理
四、利用swift语言对阶段性项目进行代码重写
…… |
第五阶段:游戏开发
此阶段为游戏开发阶段,目前跨平台的游戏开发技术越来越流行,通过本阶段的学习,你将掌握目前最流行的Cocos2D-X游戏引擎、Box2D物理游戏引擎以及Unity3D游戏引擎,学会对游戏性能优化及内购功能的使用,本阶段的内容不仅仅局限于iOS平台上的游戏开发,更能运用到其他主流平台。
课程名称 |
课程目标 |
Cocos2D-X游戏开发 |
本课程主要讲解Cocos2D-X游戏引擎,通过本课程的学习,你将全面掌握流行的游戏引擎Cocos2D-X,并基于该引擎开发几款游戏项目,培养游戏开发能力。
在本阶段将涉及以下主要内容:
COCOS2D-X引擎介绍
画面渲染
菜单和文本
动作和动画
音乐和音效
地图与碰撞
触屏事件
粒子特效
CocosBuilder |
Box2D游戏引擎 |
本课程主要介绍Box2D物理引擎,通过本课程的学习,你将掌握物理游戏引擎,让角色进入一个模拟的物理世界,提高游戏开发效率。
在本阶段将涉及以下主要内容:
刚体与修饰物
碰撞检测
形状
关节
接触 |
Unity3D游戏引擎 |
本课程介绍Unity3D游戏引擎,通过本课程的学习,将让学员轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容。
在本阶段将涉及以下主要内容:
Unity3D菜单、视图界面
场景坐标系统
游戏对象、组件、脚本
网格、材质、贴图、动画
Start、UpDate、ONGUI
地形、渲染、粒子系统
向量的加减法、点乘与叉乘、图形优化 |
SpriteKit及OpenGL |
本课程主要介绍SpriteKit游戏框架以及OpenGL ES,熟悉OpenGL ES的常用API的使用,使用OpenGL ES API实现一些图形特效。
在本阶段将涉及以下主要内容:
SpriteKit游戏框架
OpenGL/ES
其他游戏引擎 |
游戏性能优化及内购功能 |
本课程主要介绍游戏性能优化及内购,让你学会分析整个游戏性能,正确管理内存,提高加载速度,并在游戏中添加内购收费功能。
在本阶段将涉及以下主要内容:
Instruments使用技巧
ARC管理内存
Sprite Sheets
In-App Purchase |
阶段实战项目 |
本课程为游戏开发学习过程的项目实战,可选择多个大型网络游戏项目(如暗黑奇迹、战地之王、足球大师 等 ),学员在学习的过程中结合前面学过的知识可开发出一个完整的游戏项目。
一、暗黑奇迹
二、战地之王
三、足球大师 |
第六阶段:项目优化与验收
此阶段为项目优化与验收阶段,针对前期各阶段对大型项目(“资理通”金融股票投资系统、“乐游”--旅行攻略、手机订票系统、手机地图导航等)的实战结果进行验收,教会学员如何测试自己的项目,如何优化项目性能,提高运行效率,同时帮助学员对项目进行完善优化,并挑选出最佳项目在AppStroe上线。
课程名称 |
课程目标 |
代码优化 |
本课程主要讲解代码优化,通过本课程的学习,你将掌握对代码优化的方法,在不改变程序运行效果的前提下,对被编译的程序进行等价变换,使之能生成更加高效目标代码,避免出现代码臃肿等问题。
在本阶段将涉及以下主要内容:
Xcode代码编辑插件XAlign
算法改进
编译器优化 |
内存优化 |
本课程主要讲解内存优化,通过本课程的学习,你将掌握iOS开发过程中的内存优化,通过内存优化缓解程序负担。
在本阶段将涉及以下主要内容:
ASIDownloadCache缓存优化
SplitDemoAppDelegate缓存优化策略
NSOperation缓存优化线程
Autorelease Pool
Analyze
Xcode的自带工具Leaks |
性能优化 |
本课程主要介绍iOS性能优化,帮助学员针对自己的项目提高UI反应灵敏,优化运行速度,列表滚动操作流畅,提升App启动时间,内存使用合理。
在本阶段将涉及以下主要内容:
性能分析
Cell重用
App启动时间优化
Background机制
Instruments 工具 |
项目验收 |
按照商业化模式对学员所做的项目进行验收,培养学员完整的项目开发经验。 |
第七阶段:就业指导
就业老师根据学员意向及学习情况,对学员进行就业指导和职业规划。包括时间管理,面试技巧,职业生涯规划,模拟面试等。
课程名称 |
课程目标 |
时间管理 |
对iOS开发工程师工作的时间管理方法进行培训,建立良好的时间管理观念和技巧。 |
有效沟通 |
对iOS开发工程师工作的沟通思路及方式进行培训,建立良好的聆听和表达能力。 |
简历写作面试技巧 |
对iOS开发工程师的简历进行设计,并培训面试技巧。 |
团队合作 |
介绍团队在公司中的价值,和针对iOS开发行业中的合作思路和方法。 |
职业规划 |
对每位即将就业的学生针对个人发展思路进行职业规划,提供思路给学生进行前行。 |
模拟面试 |
模拟企业面试,锻炼学生对解答问题的思路,培养自信心。 |
|