您的位置:首页 > 移动开发 > IOS开发

IOS入门开发大概课程内容记录

2014-12-28 19:19 260 查看



达内课程体系

第一阶段、Web开发基础(Linux操作系统、Nigix、XHTML技术核心、CSS技术核心);课程持续3周共96课时。
模块
课程目标
内容
项目
1
Mac Fundamental
熟悉Mac系统,构建企业开发环境和版本控制系统。
Linux操作系统基础

Linux常用命令
文本编辑器Vim/Vi应用
Linux文件系统管理与维护
Linux用户和用户组管理
LANMP生产环境部署
2
Objective-C Fundamental
完全掌握C语言的本质,成为一名合格的C程序员,为以后的学习和工作打下坚实的基础
• gcc编译器,数据类型,变量和常量;
T-Othello 胜负计算模块,人机对战算法。
• 运算符和表达式,分支,循环;
• 数组,函数,指针和字符串,结构,联合和枚举;
• 指针高级应用,双指针,void指针,函数指针;
• C标准库,堆内存分配,IO等;
3
Objective-C OOP
掌握OC语言高级特性,理解面向对象编程思想,掌握封装,继承,多态三大特性。步入苹果平台开发的行列
• 面向对象编程(OOP),类和对象;
重构T-Othello。

搭建T-Othello框架。

• 继承和组合,self和super关键字,属性(Property);
• 类工厂方法(Class Factory Method);
• 单例模式(Singleton),委托模式(Delegation);
• 内存堆栈模型,内存管理(引用计数、ARC);
• 自省(Introspective), SEL选择器;
• 动态类型与静态类型;
• 分类(Category), 扩展(Extension),协议(protocol);
4
Foundation Framework
Foundation框架是苹果平台开发的基础框架,包含一些常用的类型。掌握好此部分技术可以让我们以后的开发工作更加方便和快捷。
• Foundation 框架的类结构和关系;
T-Reader 文件读取模块,文件管理模块,网络搜索模块,图书下载模块,在线翻译模块。

• 字符串(NSString,NSMutableString);
• 数值对象(NSNumber,NSValue);
• 数组(NSArray,NSMutableArray);
• 字典(NSDictionary,NSMutableDictionary);
• 集合(NSSet,NSMutableSet);
• 快速枚举(for..in)NSIndexPath;
• 日期与时间(NSDate),日期格式(NSDateFormatter),
• 日历(NSCalendar),定时器(NSTimer);
• 文件管理(NSFileManager),程序包(NSBundle);
• 缓冲区(NSData);
• 键值编码(KVC),键值监听(KVO),通知中心

(NSNotificationCenter),通知(NSNotification);
• 网络连接(NSURLConnection), 网络地址(NSURL),

网络请求(NSURLRequest),请求回应(NSResponse),

错误处理(NSError);
第二阶段、iOS高级开发(UIKit及绘图、iOS高级特性);课程持续6周共240课时。
模块
课程目标
内容
项目
1
UIKit及绘图
iOS开发中,图形用户界面的开发是非常重要的一部分,通过此部分的学习,使学员掌握绝大部分的可视化控制,通过对各种控件的熟练使用,开发出自己心中的个性界面。
• MVC模式,简单控件(UILabel,UITextField,UIButton,

UIAlertView,UIActionSheet);
重构T-Othello 提供图形界面模块,关卡控制模块。

重构T-Reader 提供图形界面,阅读界面功能。

T-ThankQ 图形界面

T-PhotoMaven 图形界面,照片修正模块,合成照片模块。

T-ETVfor iOS图形界面。

• 窗口(UIWindow), 视图(UIView), 应用程序(UIApplication)。
• 绘图(drawRect), Quartz, CGContextRef;
• 触摸(UITouch), 事件(UIEvent), 手势(UIGestureRecognizer),

UIResponder, 消息传递,响应者链;
• UIView及CALayer动画

(CAAnimation, CABasicAnimation,CAKeyFrameAnimation) ;
• 活动提示(UIActivityIndicatorView);
• 图像(UIImageView);
• 滚动视图(UIScrollView), 页控制器(UIPageControl), 开关(UISwitch),

单选(UISegmentControl), 滑块(UISlider);
• 多行文本(UITextView), 网页视图(UIWebView), 滚轮(UIPickerView),

日期

滚轮(UIDatePickerView),表格视图(UITableView), 表格项(UITableViewCell);
• 标签控制器(UITabBarController);
• 导航控制器(UINavigationController);
• 表格控制器(UITableViewController);
• 相册控制器(UIImagePickerController);
2
iOS高级特性
熟练使用iOS系统提供的核心功能完成项目要求。通过完成多个不同类型的项目,掌握音频视频处理,电话短信处理,相机操作,重力感应,地图等技术。并理解和熟练应用iOS的多线程,网络通信,持久化存储等技术。
• 音频播放(AVAudioPlayer);
T-Othello网络对战

T-ETV音频播放功能,视频播放功能

T-PhotoMaven制作影片模块、拍照模块, 相片管理模块、分享模块,短信发送照片、照片管理模块、云同步模块、微薄模块,网络聊天模块,网络传输模块;

T-ThankQ地图服务模块、社交模块;

T-Reader 图书管理模块。

• 视频播放(MPMoviePlayerViewController);
• 照相机(UIImagePickerController),相册管理;
• 短信(MFMessageComposeViewController);
• 邮件(MFMailComposeViewController);
• 加速计(UIAccelerometer)的使用;
• 地图(MKMapView)的使用及定位(Core Location);
• 数据持久化(文件,SQLite数据库, 归档, NScoding),云存储(iCloud);
• 多线程(NSThread, NSLock), 操作队列(NSOperationQueue),

Blocks;
• 网络编程 GET/POST请求, xml解析, json解析, socket编程;
第三阶段、iOS项目实践(T-Othello、T-Reader、T-PhotoMaven、T-ETV for iOS、 T-ThankQ)课程持续3周共120课时
项目名称
项目介绍
模块划分
行业意义
1
T-Othello
一款很有意思的棋类游戏。游戏通过相互翻转对方的棋子,最后以棋盘上谁的棋子多来判断胜负。它的游戏规则简单,因此上手很容易,但是它的变化又非常复杂。有一种说法是:只需要几分钟学会它,却需要一生的时间去精通它。
• 计算胜负数模块;

• 人机对战计算机算法模块;

• 图形界面模块;

• 关卡控制模块;

• 网络对战模块

棋牌类游戏是iOS平台上五大类型游戏之一。T-Othello以流行的关卡设计,从易到难的计算机算法,人机对战模式和网络对战模式切换,漂亮的界面,非常好的可玩性,会吸引大量的棋迷参战。
2
T-Reader
功能全面的阅读器,可阅读各种图书格式,在线搜索、下载图书等。
• 界面显示模块;

• 文件读取模块;

• 图书管理模块;

• 在线搜索模块;

• 在线下载模块;

• 在线翻译模块

手机阅读器是任何一台iOS设备必备的工具软件。现在,阅读器的功能越来越强大,越来越方便。T-Reader应该是一款值得你骄傲的产品。
3
T-PhotoMaven
全功能的照片拍摄、修正、管理、分享、制作工具。用户轻松拍照上传到新浪微博,并且可以针对所拍的照片进行加边框、色调、饱和度、亮度、手绘、LOMO图片拼接等编辑操作。
• 拍照模块;

• 修正模块;

• 照片管理模块;

• 照片微博功能模块;合成照片模块;

• 制作影片模块;

• 云同步模块;
照片处理是iOS平台最常见的工具之一。提供一款使用方便,功能独特,个性十足的照片处理软件,是大家所期待的。T-PhotoMaven 不仅具备大部分照片处理软件所具有的功能,还具备生成影片功能,将自己的一些照片制作成影片,再配合背景音乐,分享给朋友们,是多么美妙的事。
4
T-ETV for iOS
是全球第一家集P2P直播点播于一身的网络电视软件。现在,我们把它移值到iOS平台,我们可以用它来播放音乐、视频。也可以在线观看、下载、评论等。
• 音频播放模块;

• 视频播放模块;

• 影片下载模块;

• 本地资源管理模块;

音乐和电影是iOS设备必备的功能。相关的软件也非常的多。T-ETV for iOS可以处理音乐、电影、下载、管理、在线观看等功能。
5
T-ThankQ
一款LBS类软件。在任何时候、任何地方,我们都可以通过T-ThankQ获取帮助,我们可以提出问题,以期待附近的人回答,或沟通,交友,聊天,分享等
• 地图服务模块;

• 社交模块;

• 网络聊天模块;

• 网络传输模块;

• 微博模块;

• 具体功能模块(如失物招领等);

T-ThankQ 是一款利用用户位置信息提供用户周围互帮互助功能的移动应用。你可以在任何时候,任何地点寻求任何他人的帮助,自然你也可以帮助他们获取积分。你也可以和你周围的人互动,聊天,交友,分享等。当然,你也可以将你们感兴趣的内容发送到微薄。
第四阶段、iOS游戏开发(Cocos 2D、C++语言、Box2D);课程持续3周共120课时
模块
课程目标
内容
项目
1
Cocos 2D
掌握最流行的游戏开发引擎
• Cocos 2D介绍,导演类(CCDirector),场景类(CCScene), 层类

(CCLayer);
在讲师的带领下,完成项目,从而达到熟练应用游戏流程控制,sprite(精灵)扶持,动作,非常酷的图形效果,动画效果,物理库,音频引擎等等技术实现自己想要的游戏效果
• 精灵类(CCSprite), 动作(CCAction),菜单(CCMenu), 标签(CCLabelTTF);
• 点粒子系统(CCPointParticleSystem);
2
C++语言
快速掌握C++语言,理解C++语言的全部特性,成为一名合格的C++程序员
• C++语言简介,C++面向对象编程,类和对象;
学员可根据喜好,将前面的某项目,使用C++语言重新实现,熟悉OC和C++混编。
• 构造器,拷贝构造,析构,new/delete;
• 运算符重载;
• 面向对象的三大特性,封装,继承,多态;
• 模板编程(template);
• Objective-C++;
3
Box 2D
掌握时下最流行的物理引擎
• 物理世界(B2World), 刚体(B2Body);
通过完成游戏,掌握box2D的物理世界,精灵刚体连接,碰撞测试,转换点等特性。
• 精灵与刚体;
• 碰撞测试(B2ContactListener);
• 刚体连接点(B2Joint);


渥瑞达课程体系


移动互联网开发技术
移动互联网开发平台移动互联网定义;移动互联网开发平台:iOS、Android、Windows Phone等掌握移动互联网开发平台
移动互联网开发环境移动互联网开发环境:iPhone、Android、Windows Phone;手机模拟器; 手机软件开发流程;掌握移动互联网的开发环境及开发流程


Unix/Linux下的C/C++程序设计

Unix/Linux常用命令Unix/Linux系统介绍,Unix常用命令讲解及实践掌握Unix/Linux操作系统结构以及常用命令的使用
Unix/Linux开发环境掌握客户端软件Exceed的使用;掌握makefile的编写以及调试工具的使用。掌握Unix/Linux下的开发环境
C语言
C语言概要以及指针的应用熟练掌握Unix/Linux下的C语言的使用
C/C++程序设计
C++语言特色,C++程序结构、设计;面向对象(OO) 三大特性、类和对象概念、构造与析构、数据封装;类的继承、虚拟继承、多态性和虚函数;运算符重载;函数模板和类模板,异常处理熟练掌握Unix/Linux下的C++的面向对象的程序设计
STL类库使用掌握名字空间std的使用;输入输出流、串流、文件流;掌握list, vector, map等的使用熟练掌握Unix/Linux下的STL模板库的使用
[b]

面向对象的设计与分析[/b]
Rational RoseUse Case Diagram, Class Diagram;Sequence Diagram, Collaboration Diagram, Activity Diagram, State Diagram; Component Diagram, Deployment Diagram;
熟练掌握Rational Rose工具以及各类视图在面向对象的软件设计中的应用
设计模式基本模式:Inheritance,Substitution, Delegation模式分类:Creational, Structural, Behavioral;Class Pattern, Object Patterns;常用设计模式应用
掌握OOA/D的设计方法,和常用模式的应用


Objective-C软件设计

Objective-C语法基础Objective-C简介;Objective-C语法的特点;类的定义;类的实现;消息机制;方法重载;属性声明;类的组合
掌握Objective-C语言基本语法基础及程序设计
内存管理自动释放特性;引用计数;内存分配、初始化以及析构;堆栈、内存管理(alloc、copy、retain,release、autorelease, strong、weak);特殊类型(self,super,nil,SEL)
重点掌握在Objective-C语言中的内存管理机制,包括自动释放池,引用计数器,内存的手动分配和释放等。
继承、协议、分类基类(NSObject);方法的重写;向下转型和动态绑定;id类型(id Type);协议的定义;NSCopying协议;分类的定义(Categorie);分类的实现与作用重点掌握类与类之间的继承关系,协议以及分类的使用
基础框架Cocoa的基本框架Foundation Framework;

字符串(NSString NSMutableString)、数值对象(NSNumber NSValue);数组(NSArray,NSMutableArray)、字典 (NSDictionary,NSMutableDictionary)、集合(NSSet,NSMutableSet)、快速 枚举(for…in) NSIndexPath;日期与时间(NSDate)、日期格式(NSDataFormatter)、日历 (NSCalendar)、定时器(NSTimer);文件管理(NSFileManager)、程序包(NSBundle)、缓冲区(NSData);网络连接(NSURLConnection)、网络地址(NSURL)、网络请求 (NSURLRequest)、请求回应(NSResponse)、错误信息处理(NSError)
熟悉Foundation Framework的使用。重点掌握iOS的基础框架,其包含了iOS 开发的基本数据类型,在iOS SDK中NS开头的类都属于这个框架重点突出介绍开发中常用的类
文件使用NSCoding 协议;程序包(NSBundle)、缓冲区(NSData);管理文件和目录;工作目录、工作路径;基本文件的操作熟练掌握数据存入目录或指定路径,以及文件管理


iPhone手机软件开发

使用Xcode
Xcode简介;在Xcode中创建第一个HelloWorld项目;在Xcode中新建类
掌握Xcode的基本应用
使用Interface Builder
Interface Builder介绍;在Interface Builder中创建第一个项目;在Interface Builder中建立连接;其他Interface Builder功能;
掌握Interface Builder应用
创建基本视图控制器
窗体视图控制器(Window-based Aplication);基本的视图控制器(View-based Aplication);表视图控制器(TableViewControler);
掌握创建基本视图控制器
监控事件和动作
事件简介;触摸的例子;其他事件功能;动作简介;向应用程序添加按钮;
掌握监控事件和动作
创建高级视图控制器
选项卡栏视图控制器(TabBarAplication);导航控制器(Navigation-based Application);使用翻转控制器(Utility Application);模式视图控制器(Split View-based Aplication);
掌握高级视图控制器的应用
iPhone网络通信开发
HTTP应用;从Web页面获取内容;向Web页面发送数据;Socket应;SMS应用
掌握iPhone网络通信软件开发
iPhone应用数据存储及数据解析
XML文件的数据存储;XML文件的数据解析;JSON文件的数据存储;JSON文件的数据解析
掌握iPhone应用程序中XML文件解析和JSON文件解析
多媒体
利用Core Graphics绘制简单图像;访问相机Camera;图像介绍UIImagePickerController;手动视频播放;使用Media Player框架;手动播放声音;使用AVFoundation框架;
掌握图像,视屏和音频的应用
数据库使用SQLite;通过数据库SQLite管理数据
掌握SDK工具编程的应用,使用嵌入式数据库SQLite
定位:加速计和位置加速计和方向;加速计和移动;加速计和手势;使用Core Location框架;使用MapKit框架;掌握定位的应用
绘制图形Quartz 2D简介;Quartz上下文;绘制路径;设置图形状态;Quartz中的高级绘图功能;Core Animation简介;OpenGL简介;掌握绘制图形的应用
本地化应用程序Localization Architecture;本地化字符串Localizing Strings;本地化数字和日期Localizing Number and Date;本地化Xib Localizing Nib掌握本地化应用程序的应用
调试与性能调整理解并修复构建中的错误;找出重复释放的“Zombie”对象;使用Shark检查性能;使用Instruments检查性能;使用Clang静态分析器检测性能;掌握程序Debugging并能够调整程序的性能

iOS高效开源第三方类库
iOS高效开源第三方类库主要介绍iOS开发中10大高效开源类库:MBProgressHUD(进展指示符库)、ASIHttpRequest(HTTP Network库)、JSON Framework(JSON支持)、Facebook iOS SDK(Facebook API类库)、FMDatabase(SQLite的Objective-C封装)、SDWebImage(简化网络图片处理)、GData
client(iPhone上所有Google相关服务的类库)、SKPSMTPMessage(Quick SMTP邮件发送)、Three20(通用iOS库)、瀑布流等
熟练掌握iPhone开发中新型的第三方强大类库引擎,提高项目的开发能力
第三方类库项目应用熟练应用iOS第三方类库在实战项目中,掌握iOS开源类库的在项目中应用技巧在项目开发中熟练应用iOS第三方类库


Cocos2D iPhone游戏开发
Cocos2d-iPhone开发引擎初步学习安装Cocos2d-iPhone项目模板;创建并运行“HelloWorld”,了解其简述;学习类库主程序;运行示例程序;编译最新帮助文档掌握如何设置Cocos2d应用开发,安装项目模板和了解主程序
Cocos2d基础知识学习基本的Cocos2d类,包括:场景(CCScene)、层(CCLayer)、精灵(CCSprite)、导演(CCDirector)掌握Cocos2d开发中的基本概念,掌握基本的引擎类的应用
iPhone OS的Touch事件和Cocos2d的事件处理机制学习iPhone OS提供的4种Touch事件;Cocos2d引擎事件处理机制通过接管、分发和处理全面实现针对用户触摸输入的响应通过iPhone OS的Touch事件进一步了解Cocos2d-iPhone引擎的事件处理机制的核心
粒子系统学习使用Particle Designer(粒子效果设计师)工具来制作粒子效果;了解粒子系统的组成:粒子,发射器,动态过程。掌握粒子效果的应用,了解粒子系统的组成,使用粒子系统
瓦片地图学习瓦片地图(TileMap)的基础知识和如何利用瓦片地图编辑器(Tiled Map Edior)制作瓦片地图掌握瓦片地图的制作方法,了解瓦片地图的应用
物理系统学习Cocos2d-iPhone游戏中的物理引擎,包括Cocos2d图形库内置的Box2D和Chipmurnk两大物理引擎掌握Cocos2d图形库中的两大物理引擎,提高对游戏的现实化模拟
游戏框架学习整体游戏的编程模型;学习Cocos2d-iPhone游戏的编程模型,包括:内存数据、更新引擎、玩家指令、定时器掌握一个游戏的模拟实现系统和学会Cocos2d-iPhone游戏的编程模型
Cocos2d-x手机游戏跨平台开发
智能手机操作系统介绍主要介绍几个常见的智能手机操作系统,包括苹果的iOS系统、谷歌的Android系统和微软Windows Phone系统等熟悉智能手机游戏开发的各个平台
Cocos2d-x介绍进入Cocos2d-x的世界,主要介绍游戏的分类、游戏引擎的基础知识,同时也简单介绍游戏引擎中的渲染引擎和物理引擎介绍引擎的基础知识和引擎的优秀游戏分享了解掌握游戏开发的分类和游戏引擎
搭建跨平台的开发环境主要介绍在windows系统上对Cocos2d-x环境的搭建,安装Visual Studio环境、安装Android环境、安装WPhone环境、安装Cocos2d-x环境; 在iOS环境搭建Cocos2d-x环境,以及测试HelloWorld案例掌握如何在Windows和iOS系统上搭建跨平台游戏的开发环境
Cocos2d-x引擎基础使用引擎的基础使用,介绍开发过程中的各个环节展开介绍,包括游戏的整体架构、图形、动作和菜单等熟练掌握使用引擎的基本操作和使用
高级特性主要针对引擎的高级特性,介绍引擎中的物理引擎、粒子系统和声音模块等熟练使用的物理引擎、粒子效果和声音
周边工具Cocos2d-x的使用工具,介绍应用程序打包工具、图片编辑器、地图编辑工具和粒子系统设计工具等熟练掌握对工具的使用
Cocos2d-x之交叉编译针对cocos2d-x交叉编译,介绍基于cocos2d-x引擎的游戏如何做到跨平台,同时以实际的游戏为例将其较差编辑到iOS平台、Android平台和WPhone平台熟练掌握Cocos2d-x交叉编译的方法,并能够做到跨平台
Cocos2d-x案例“魔塔”主要通过一个完整的案例制作过程,将益智类游戏(魔塔)一步步的设计并开发出来通过一个完整游戏案例制作,系统性的贯穿了引擎的使用

Lua游戏脚本开发
Lua程序设计主要介绍Lua软件开发语法规则;介绍Lua中以数组为代表的数据结构、数据文件与持久化、标准库和IO库熟练掌握Lua语法规则、表和对象、库文件
Lua for iOS主要介绍使用the top Lua frameworks创建游戏;如何使用Lua库、包和第三方工具;使用Codea创建iPad或iPhone游戏熟练掌握Lua进行iOS游戏开发


JavaScript游戏脚本开发
JavaScript程序开发主要介绍JavaScript 的核心ECMAScript基础;ECMAScript对象;ECMAScript继承等熟练掌握JavaScript的软件开发
JavaScript for iOS主要介绍了JavaScript在iOS环境下的基础知识,使用Objective-C和JavaScript来进行iOS游戏开发应用熟练掌握使用Objective-C和JavaScript来进行iOS游戏开发应用


iOS网络游戏开发
iOS网络游戏协议主要介绍网络协议HTTP、FTP、TELENT、UDPI办议、TCP/IP协议、Socket编程介绍熟练掌握对HTTP、TCP/IP协议以及网络通行Socket的使用
iOS网络游戏开发主要介绍了如何创建服务器,客户端如何向服务器发送请求,以及同步更新所有客户端掌握网络游戏开发基本原理以及在实战项目中的应用


iOS游戏开发过程

iOS游戏开发过程系统学习软件开发过程:需求分析,概要设计,详细设计,编码,测试。
掌握软件开发的生命周期以及开发过程的各个阶段;
iOS游戏开发模型系统学习软件开发模型:瀑布模型(waterfall model),原型模型(prototype model),增量模型(incremental model)螺旋模型(spiral model)等。比较各种模型的适用范围及优缺点
掌握软件开发的各种模型,适用范围以及优缺点;
iOS游戏版本管理系统学习软件版本控制、管理及相应工具:Visual SourceSafe和 CVS等
, 掌握软件版本管理及其工具的使用
iOS游戏测试技术系统学习七种软件测试技术的步骤、方法及应用,包括:单元测试、集成测试、功能测试、回归测试、系统测试、安装测试及验收测试
掌握软件测试的步骤、方法及 常见问题的处理

项目实战
项目实战在培训经理的带领下由学员组成的团队完成移动互联网iOS平台手机游戏精品项目:植物大战僵尸,愤怒的小鸟,3D坦克大战,网络游戏胡莱三国等,通过实际项目熟练掌握移动互联网iOS游戏软件的开发与设计;积累5万行的编码能力,使学员具备2年以上的iOS游戏开发与设计经验。通过实际项目熟练掌握移动互联网iOS手机软件开发的能力,积累5万行的编码能力,使学员具备2年以上的iOS手机游戏开发经验

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: