iosapp开发培训,Ios培训
iOS 开发怎么入门
一、
准备工作
1. Mac、iOS设备、开发者账号
这些是做iOS开发必须要有的,而且是一大笔钱,但不要怕花钱,因为这些都是值得的。如果能够学有所成,一两个月的工资基本就回本了。就当是自己交的一笔“培训费”吧。
2. 心态上的准备
如
果你是零基础转行iOS,那么一定要有破釜沉舟的勇气和决心,并做好打持久战的心理准备。如果畏手畏脚、瞻前顾后,我劝你还是想好了再来,免得浪
费时间和金钱。我当初收入很低,是拿了3个月的工资买的Macbook,还天天担心丢了或者弄坏;后来学习到小有所成时毅然选择了裸辞,孤身一人来到陌生
的上海,经过2个月的待业状态才找到工作。这一路走来都承受着巨大的精神压力和物质压力。
二、
学习路线
1. 对编程的基本认识
如果你是完全的零基础,我建议先要对编程有个基本的认识。建议从C语言入手,因为C语言比较简洁易上手,并且和Objective-C很相似。
视频推荐网易云课堂的
“计算机专业体系”课程,很适合入门。
书籍的话,推荐《C
Primer Plus》。
2. Objective-C语言学习
当对C语言有个大致的了解后,就可以开始学习Objective-C了。
推荐书籍:
《Objective-C基础教程》
《Objective-C程序设计》
注:这两本内容都差不多,但《Objective-C基础教程》写的更好、更经典,建议以这本为重点精读。但是这本写的比较笼统,难度稍高,所以如果遇到不懂的地方就看看《Objective-C程序设计》,这一本写的简单、详细一些。
需要掌握并熟练运用的地方:
1) 面向对象编程的基础知识。包括:面向对象与面向过程的区别、为什么要面向对象编程,类、对象、继承、方法、属性、接口等概念的理解与使用。
2) Foundation框架。主要是NSString类、NSArray类、NSDictionary类、NSNumber类、NSRange类的熟练运用。
3) 内存管理MRC、ARC的原理,委托delegate、协议protocol、类别category、块block的理解与使用。
3. iOS SDK/Cocoa Touch学习
有了Objective-C基础,就可以开始边看斯坦福公开课边做APP了(个人觉得没有OC基础直接看这个会很吃力)。视频如下:
斯坦福大学公开课CS193P《iOS7应用开发》(Objective-C语言)
斯坦福大学公开课CS193P《iOS8开发 》(Swift语言)
推荐书籍:《精通iOS开发》
第一个iOS应用:
苹果官方有个做iOS应用的教程——《马上着手开发iOS应用程序(Start
Developing iOS Apps Today)》。强烈建议以这个Demo作为你的第一个iOS应用,因为这个教程能让你对一个iOS应用的搭建有个非常全面、细致的认识。完成了这个Demo后,就可以结合斯坦福公开课学到的东西创建属于你自己的APP了。
需要掌握的地方:
1) MVC设计模式。只有理解了iOS的MVC架构,才能把一个应用解剖成一个个单独的部分,这样你在开始做一个项目的时候才不会茫无头绪。
2)UIKit的各种控件。特别是UITableView和UICollectionView一定要掌握,因为大部分的iOS应用都是由这两种视图搭建,吃透了它们那可玩的花样就很多了,其乐无穷。
3) 导航控制器UINavigationController和选项卡控制器UITabBarController。同上,这两个控制器也是绝大多数iOS应用UI框架的根基,也是多个MVC协同工作的最典型例子。
4) 场景切换的实现——Segue。熟练使用Segue很重要,因为一个应用一般都是各个界面轮流出现的,两个界面之间怎样实现跳转、怎样将一个界面的数据传递到下个界面,这都是实际开发中会遇到的问题。
5) Storyboard和AutoLayout的使用。这两者是一个应用的UI界面设计不可或缺的部分。
6) 其它iOS高级编程。包括:数据存取CoreData/SQLite、多线程GCD、绘图CoreGraphics、动画CoreAnimation、网络编程、手势Gesture、多媒体AVFoundation等等,这些内容都可以实际用到时再深入学习。
7) 第三方库的使用。参考:GitHub 上都有哪些值得关注学习的 iOS 开源项目? - 编程
4. 坚持写代码、查文档、读技术博客
学习编程,一定要勤于动手,看再多的书、再多的视频,如果不动手敲代码都是白搭。哪怕书上和视频上的代码你一行都看不懂,也要亲手把代码敲一遍、把Demo亲自实现一遍,这很重要。编程是手敲会的,不是眼睛看会的。
学习iOS开发的过程中,有遇到不懂是正常的,别害怕不懂,Cocoa的内容细节本来就多,每年的WWDC还会发布一些新技术。所以遇到不懂的知识一定要学会查苹果官方API文档:iOS Dev Center
做APP时,如果一个地方不会实现,或者遇到解决不了的问题,一定要学会使用Google搜索。一般来说,初学iOS遇到的问题,Stack Overflow上都有类似的提问,基本一搜一个准。
此外,CSDN等一些技术博客上的文章也很有参考价值。推荐一些优秀的iOS技术博客——中文 iOS/Mac 开发博客列表:tangqiaoboy/iOSBlogCN · GitHub
三、写在最后的话
如
果你能按照以上所述做出一个APP上架并找到工作,那也基本算是入门了。但这并不是终点,这只是一个新的起点。iOS开发,乃至整个计算机/互联网行业,
后面的路还很漫长。苹果的整个Cocoa框架,可谓是博大精深,里面可以深挖的东西太多了;而且一个程序、一段代码可以进行的优化是没有止境的。作为开发
者,只会一门语言是不够的,网络编程、数据库、算法、设计、交互等等东西都是需要掌握的,而语言只是实现这些的工具,语言其实是最简单的。
此外,如果你和我一样是非科班出身,还需要把计算机基础课程补回来,即:数据结构、算法、操作系统、数据库、计算机网络、编译原理等。因为这些知识是你的“内功”,这些基础直接决定了你在这个领域的天花板所在的位置。
当
然,基础差一点也问题不大,最重要的是你对计算机、互联网的热爱和热情。你需要有很强的自学能力,不断地去学习新知识,才不会被这个日新月异的行业淘汰;
你需要保持一颗好奇心,不断地尝试和接受新事物,不断地创新,守旧的人在这个行业无法生存。在我找工作的过程中,那些知名的大公司都是直接在简历关就将我
刷掉了,而那些给我Offer的公司,无一例外都表示,之所以选择我是因为欣赏的我的热情、看重我的自学能力。
所以,如果你和我一样对iOS开发充满热情,敢于接受挑战,那么就从现在开始努力吧,我在前方的路上等你!
北大青鸟java培训:北大青鸟校区IOS课程介绍?
你知道吗?IOS软件工程师已经成为软件人才中的紧缺型人才!
国内外出现大量的“IOS人才荒”,未来几年IOS人才需求缺口将达百万!
招聘网站上,IOS软件工程师依然成为各大企业哄抢的对象,不少企业为招聘这类人才,不惜花重金招揽,腾讯、联想、新浪等国内企业也毫不例外地争夺IOS软件工程师,很多IOS开发岗位年薪已高达几十万!
课程内容
内容介绍
预备阶段
1、文件管理器Finder
2、iWork使用Numbers,Keynote,Pages
3、Safari浏览器
?
?
MacOs的使用,iWork的使用
iOS开发基础
1、iOS开发的系统环境介绍、Xcode集成开发环境详解、常用软件的介绍
2、数据类型、常量和变量、运算符、赋值语句和表达式;分支、循环
3、函数,数组(一维数组、二维数组、多维数组),结构体
4、指针数组、数组指针,结构体指针
5、指向指针的指针,宏定义、枚举,const,static
?
?
?
1、Xcode、SVN
2、C语言是iOS开发的入门基础语言,本部分主要介绍C语言的基本语法,程序结构,以及指针的各种操作。
为接下来Objective-C语言的学习打下基础。
?
1、面向对象(OOP)和面向过程、类(Class)和对象(Object)、类的定义
2、创建对象、self和super关键字、属性以及点语法(nonatomic,assign、retain、copy,readonly、readwrite)
3、便利构造器、单例(Singleton)
4、堆栈、内存管理(alloc、copy、retain,release、autorelease,strong、weak)
5、键值编码(KVC)、键值监听(KVO)、通知(NSNotification)
6、类目(Category)、延展(Extention)、协议(protocol)
?
?
?
?
?
?
?
Objective-C是iOS与MacOS开发的主要语言,它是对C语言的扩展,并融入了面向对象的特点。
包含封装、继承、多态三大特性,本部分主要介绍OC的基本语法,新的特性,内存管理等内容
?
1、字符串(NSStringNSMutableString)、数值对象(NSNumberNSValue)
2、数组(NSArray,NSMutableArray)、字典(NSDictionary,NSMutableDictionary)、集合(NSSet,NSMutableSet)、快速枚举(for?in)NSIndexPath
3、日期与时间(NSDate)、日期格式(NSDataFormatter)、日历(NSCalendar)、定时器(NSTimer)
4、文件管理(NSFileManager)、程序包(NSBundle)、缓冲区(NSData)
5、网络连接(NSURLConnection)、网络地址(NSURL)、网络请求(NSURLRequest)、请求回应(NSResponse)、错误信息处理(N0SError)
6、MVC编程,简单控件一:标签(UILabel)、文本输入(UITextField)、按钮(UIButton)、提示框(UIAlertView、UIActionSheet
7、使用面向对象OOP方法,实施计算机APP应用.要求学员应用前期学习中的大部分知识点
?
?
?
?
?
iOS的基础框架,包含了iOS开发的基本数据类型,在iOSSDK中几乎部NS开头的类都属于这个框架,我们将详细介绍开发中常用的类。
iOS开发
1、窗口(UIWindow)、视图(UIView)、应用程序(UIApplication)
2、绘图(drawRect)、QuartzCoreDemo、CGContextRef
3、触摸(UITouch)、事件(UIEvent)、手势(UIGestureRecognizer)、UIResponder、消息传递、响应者链
4、UIView以及CALayer动画(CAAnimation、CABasicAnimation、CAKeyFrameAnimation)
5、活动提示(UIActivityIndicatorView)、图像(UIImageView)
6、控件二:滚动视图(UIScrollView)、页控制器(UIPageControl)、开关(UISwitch)、单选(UISegmentControl)、滑块(UISlider)
7、控件三:多行文本(UITextView)、网页视图(UIWebView)、滚轮(UIPickerView)、日期滚轮(UIDatePickerView)、表格视图(UITableView)、表格项(UITableViewCell)
8、视图控制器(UIViewController)、导航控制器(UINavigationController)、标签控制器(UITabBarController)、表格控制器(UITableViewController)、相册控制器(UIImagePickerController)
?
?
?
?
?
?
?
?
?
?
?
?
?
?
UIKit处于Cocoa四层结构的上层CocoaTouch层,是iOS开发中的控件框架,定义了几乎部可视化控件,在iOS开发中占据地位,我们不会学习各个控件的用法,而且会讲述各个控件在不同版本系统里的样式,教大家如何自定义控件样式。
学完他们我们就可以做自己个性化的界面了。
结合前期所学知识,应用UIKit框架详解中所学的UI控件及知识点,模拟实现Safari浏览器
iPhoneSafari浏览器原型App。
1、音频播放(AVAudioPlayer)、视频播放(MPMoviePlayerViewController)以及播放ipod音乐
2、照相机(UIImagePickerController)以及相册的使用
3、短信(MFMessageComposeViewController)、邮件(MFMailComposeViewController)的使用
4、加速计(UIAccelerometer)的使用、帐号注册、真机调试、上传程序
5、地图(MKMapView)的使用以及定位(CoreLocation)
6、数据持久化(文件读写、sqlite数据库、归档、NSCoding协议)、云存储(iCloud)
7、多线程开发(NSThread、NSLock),操作队列(NSOperationQueue)
8、网络请求(GET、POST)、xml解析、json解析、Socket编程
?
iOS应用特性框架是对上述两个框架之外其他框架的统称。
主要课程内容为:音频、视频的播放、照相机的使用、加速计的应用,地图框架的使用、短信、邮件的应用等等,而且也会介绍当前应用开发中使用非常广泛的开源框架,同时还将讲解开发者帐号的注册、真机调试、以及程序上传。
iOS游戏开发
1、Cocos2DHelloWorld,CCDirector(导演类),CCScene(场景类),CCLayer
2、CCSprite(精灵类),CCAction(动作)
3、CCMemu(菜单),CCLabelTTF(标签)
4、CCPointParticleSystem(点粒子系统)
5、练习:植物大战僵尸游戏开发
?
2D游戏引擎的使用,部课程内容以"植物大战僵尸"为例,贯穿其中
1、在Xcode下编译C++程序,C++类Class,成员变量,成员函数,对象的创建
2、构造函数与析构函数,newdelete关键字,内存管理
3、继承,函数重载,操作符重载,拷贝构造
4、模版template与泛型
5、Objective-C与C++混合编程
?
C++是目前流行的开发语言之一,C++基本语法,C++面象对像的特性.在XCode下如何使用C++语言编程.
1、物理世界(b2World),刚体(b2Body),精灵与刚体连接
2、碰撞测试(b2ContactListener)
3、刚体的连接关节(b2Joint)
4、练习:愤怒的小鸟开发
5、OpenGLES开发基础
?
iOS游戏开发中使用多的物理引擎,以愤怒的小鸟为例学习Box2D开发.
项目实训
项目会用到网络、数据库、各种常用控件、以及各种Foundation类。
目前有很多项目可以选择使用,比如:互动百科(新闻类应用)、乐视(电影类应用)、创业邦(杂志类应用)、尚品网(购物类应用)、雅座空间(团购类应用)、找地(定位类应用)、我是数学家(教育类应用)、YY客户端(语音类应用)、麦咨达(条码扫描类应用)、中国建行(银行类应用)、CuteMath(游戏类应用)、车震摇摇乐(娱乐类应用)、新浪微博(微博类应用)等等
老师程带领学生做一个真实项目,从需求分析开始带起,然后技术调研,工期评估、编码、测试、优化代码、上传程序等项目内容会包括几点:网络数据解析、团队协调、版本管理、制作文档、复杂表布局、制作CELL类、动画应用、定位、方向地址解析、百度地图应用
如何制作一个简单的 iOS app?
如何制作一个简单的 iOS app?
如今,不少企业都想拥有属于自己企业或产品的手机APP,但其中最困扰企业主的问题就是:开发一款手机APP到底需要多少钱?
简单点来说,要视手机APP的需求及质量而言,价位一般在几千到十几万左右,更高端的价格更高。
今天,我们就来详细分析一下这个问题,请继续往下看吧。
一、APP开发款式分为固定款和定制款,两者的价格均不相同
固定款:是指直接套用已有的、现成的APP固定模板,报价是固定的,所需要的功能也是固定的,缺点就是客户拿不到源代码,也不能根据企业需求进行定制,由于源代码是封装的,如果企业以后想进行功能升级或系统维护的话,也不能够实现,只能重新开发一个新的软件。
固定款的APP开发时间短,约2~3日的时间即可完成,费用大约在几千到几万之间。
定制款:定制款是指APP的功能全部重新开发,过程比较繁琐,需要美工、策划、APP开发(前台/客户端/手机端)、后台程序员等工种协同完成,大型的、功能复杂的APP甚至需要数十人的团队。
由于APP的功能和设计都是定制的,因此价格会高些。定制款的开发时间与开发价格是成正比的,开发时间长,大约在两三个月甚至不定的周期里才能完成,而费用大概在几万甚至十几万左右。
因此,想要知道开发一款手机APP需要花费多少钱,企业主首先必须把APP的详细需求和功能告知APP开发公司,开发公司才能报出一个合理的价格。
二、手机APP平台不同,制作成本也不一样
现在市面上流行的手机APP制作平台主要有两种一般包括两种系统:安卓系统(Android)和苹果系统(IOS)。
一般来说,制作苹果系统的手机APP软件费用要比安卓平台的贵一些,因为苹果公司对苹果平台的封闭性和手机APP开发语言Objective-C的难度,都让APP开发者加大了苹果系统手机APP开发的难度。
三、APP制作成本包含参与人员的工资
通常情况下,开发一款APP需要产品经理、客户端工程师、后端工程师和UI设计师各一名,这已经是制作手机APP应用软件比较精简的配置了,所以这些参与人员的工资也是包含在APP制作成本当中的。这些工作人员的月薪加起来可能都会超过4、5万元。
四、APP开发公司的所在地
需要注意的是,同样实力的APP开发公司,在不同的城市也会导致APP的成本费用高一些