【零基础学习iOS开发】【01-前言】02-准备
一、程序设计语言
上一讲已经说到:要想开发一款软件,首先得学习一些对应的程序设计语言。
至于iOS开发,须要学习的语言主要有:C、C++、Objective-C。
二、是否须要计算机专业知识
可能非常多人有这种疑问:学习编程一定得是计算机专业的么?这个不一定。有非常多程序猿曾经都不是计算机专业的,我身边有非常多这种样例。
有的在大学里是学物流管理的、学外语的、学金
融的。等等。事实上我也不是计算机专业的。也有一些人是从其它行业转过来的,比方曾经是修空调的、剪发的、当老师的,等等,他们如今都混得非常好。仅仅要你有兴 趣、能吃苦、有拿高薪的欲望,进军iOS开发行业是没问题的。
至于计算机专业知识,不要求精通,你会一些电脑的基本操作(复制、粘贴、剪切)、会上网、会打字即可了。
当然。你还得有一颗会思考问题的脑袋,呵呵。
三、是否要英文非常好
有人听说程序猿写出来的代码都是全英文,那做软件开发是不是一定要有非常好的英文功底呢?这个也是不一定的,假设你不是进入外企的话,要求不高。
1.编程中用到的英文都是那些非经常见的又简单的,比方YES、NO、if、else、for、public等等
2.我身边有非常多英文非常烂的人,可是他们写出来的代码是一流的。
事实上仅仅要你认得常见的几个英文单词、能认出26个英文字母和10个阿拉伯数字即可了
四、开发工具
想要开发出一款有用的好软件,是个不小的project,因此代码量肯定是巨大的,可能是几万行或几十万行甚至是上百万行。为了节省开发周期、提高开发效率。我们通常会借助对应的开发工具进行软件开发。假设你认为你非常牛X。你全然能够用记事本来写代码,只是我认为这并不叫牛X,应该叫傻X。就好比,有免费的快速WIFI你不用,却坚持要使用GPRS来浪费手机流量。补充一点,不要被我刚才所说的“几百万行”代码吓到了哈,软件开发的主流模式是团队合作。并非个人英雄主义,也就是大家一起写代码。并非让你一个人写完整个软件项目的全部代码,这也不现实。
接下来再介绍一下开发工具的常见作用
1.语法检測
大家在学生时代的时候都已经知道:像汉语、英语、法语等语言,都有它们自己的语法,假设你乱写一通,那就会有语法错误。考试就落个鸭蛋。程序设计语言也是一样的。C语言有C语言的语法,C++有C++的语法。假设你写的C语言代码不符合C语言的语法。那么你的代码不可能执行成功。仅仅有当整个软件项目中的全部代码都没有语法错误的时候。这个软件才有可能执行成功。而开发工具中有个叫做“编译器”的工具,编译器具备了语法检測的功能,它会明白地告诉你第几行代码有语法错误,并且会具体指出范的是什么语法错误。假设你用记事本写代码,根本无法确定你的代码是否有语法错误。
2.指令提示
英语中有非常多的单词,汉语中有非常多的汉字。
而程序设计语言呢,它包括了非常多的指令,在写代码过程,我们难免会忘记一些指令的名称。
只是幸运的是。开发工具有非常好用的指令提示功能。比方,我本来想写一个叫做printf的指令,可是我仅仅记得这个指令是以字母“p”开头的。这个时候,我通常会敲一个字母"p",然后开发工具就会弹出一个提示框。列出全部以字母“p”开头的指令:
然后。我们就能够从列表框中选择须要使用的指令。
3.资源管理
软件项目一做大。代码量肯定也多,假设你把全部的代码都写到一个文件里。那么这个文件将会被撑地生不如死,并且也不方便日后的代码维护。因此。我们通常会将功能不同的代码写到不同的文件里。这种话。项目中就会有非常多代码文件,我们一般称这些代码文件为“源码文件”。
再者。项目中肯定须要用到一些图片资源、音频资源甚至是视频资源。所以。项目中会有非常多杂七杂八的文件,开发工具能够帮助管理项目中的全部文件,为不同类型的文件进行分类。
4.调试程序
在开发过程中。我们肯定须要不断地对写好的代码进行測试。把代码执行到手机上看看效果,这个代码測试过程,我们称之为“调试”。开发工具具备了代码调试的功能。也就是能够帮助我们将代码执行到手机上。
5.打包项目
在整个软件项目开发完成后,代码也都測试通过了,我们应该将项目打包一个软件安装包。公布出去供用户下载使用。开发工具具备了打包软件的功能。
开发工具还有非常多的功能,这里说的仅仅是冰山一角。再者。开发不同平台的软件所使用的开发工具是不一样的,比方开发android应用程序,通常会使用一款叫eclipse的开发工具。而开发iOS应用程序呢。则使用苹果官方提供的开发工具Xcode。一開始我还在想。为啥不叫iCode呢?这个纯属玩笑。
五、开发环境
1.iOS的开发环境
前面已经说到,开发不同平台的软件所使用的开发工具是不一样的。而开发工具就决定了开发环境。比方,用来开发android程序的eclipse,它有非常多个版本号,能执行在Win7、linux、mac等系统上。那就意味着在前面所说的3种系统环境下,我们都能够使用eclipse开发android程序。而我们用来开发iOS程序的开发工具Xcode,它仅仅有mac版本号,仅仅能执行在mac系统上,也就是说,我们仅仅能在mac系统上开发iOS程序。不能在Win7等其它系统上开发iOS程序。
2.什么是mac系统
mac系统的全称是Mac
OS X。它是苹果公司为Mac系列产品开发的专属操作系统,属于电脑操作系统。眼下搭载这款操作系统的设备有:MacBook、iMac、Mac
mini。
六、Mac OS X的获取途径
前面已经说到。必须在Mac
OS X系统下。才干使用Xcode开发iOS程序。如何才干拥有这个系统呢?假设我们想在电脑上装个Win7,那是很easy的事情。拿个盗版光碟就搞定了,在天朝从来就不怕没有免费的软件用。而苹果当初开发Mac
OS X这个系统,是专门给苹果电脑使用的,其它电脑要想装上这个系统,没这么简单。
那难道就一定要有苹果电脑才干有这个系统么?事实上还有其它途径,接下来我简介下。
*
大概有3种途径能够获取Mac OS X系统:虚拟机、黑苹果、购买苹果设备。
1.虚拟机
相信计算机人士都知道什么是虚拟机。这里的虚拟机就是说在你的Windows系统(比方Win7)上面模拟Mac
OS X的环境。把Mac OS X系统执行起来,一般能够使用VMWare这个软件实现。
长处:零成本。仅仅要你在Windows上装好VMWare,下载个Mac
OS X的镜像安装文件。再通过VMWare安装Mac OS X系统就可以。
缺点:执行速度慢、对机器性能要求高、有兼容性问题。速度慢是由于你的机器要同一时候跑两个系统:是在执行Windows的基础上再执行Mac
OS X。
2.黑苹果
黑苹果就是直接在你的PC机(普通电脑)上。像安装XP或Win7一样安装一个Mac
OS X系统。
假设你的电脑上本来就已经有个Win7,那么装好Mac
OS X之后就会变成传说中的双系统,到时开机选择启动Mac
OS X系统就可以。这跟虚拟机是有本质差别的:虚拟机是同一时候跑两个系统。黑苹果同一时刻仅仅跑一个系统。
长处:零成本,执行速度快。仅仅要你有Mac
OS X的镜像安装文件,就能够安装。当然。你要会装系统才行。
缺点:安装难度大。并非全部的PC机都能顺利安装Mac
OS X,由于苹果当初设计这款操作系统,是专门给Mac系列产品使用的,假设随便一台电脑都能够轻松装上Mac OS X,那这个“专门”就没有价值了。
当然,黑苹果会有兼容性问题,毕竟是盗版货。只是,仅仅是用作学习iOS开发的话。就已经足够了。
3.购买苹果设备
苹果的设备默认就是支持Mac
OS X的,只是价格都比較昂贵。动不动就可能上万了。在苹果设备里面,又能够分3种:
1>
iMac:传说中的一体机。一般都是上万RMB的。
2> MacBook:苹果笔记本,它分MacBook Pro和Mac Book Air,做开发最好选择Pro,Air纯属装B人士使用(开玩笑)。
Pro的价格至少7K。
3> Mac mini:月饼盒这么大的主机。它仅仅是个主机,至于显示器、鼠标、键盘等。随便买即可了,不要求是什么苹果键盘、苹果鼠标。
长处:执行速度快。无兼容性问题。
缺点:成本高。
最后说一下个人建议:假设经济条件好的话,直接买苹果设备即可了,比方MacBook Pro;假设经济条件有限,装个黑苹果或者去 spm=a1z09.5.0.40.mWQUfE&id=20812788663" target="_blank" style="margin:0px; padding:1px 2px; text-decoration:none; color:rgb(57,154,178); border-bottom-width:0px">淘宝
七、调试设备
Xcode自带了iOS模拟器功能(iOS模拟器就是能够在电脑上模拟iPhone的硬件环境,相当于在电脑上用iPhone一样),因此我们能够将开发好的应用程序。执行到模拟器上进行測试,不一定要买iPhone\iPad进行调试。当然。真机和模拟器肯定是差别的。因此在公布应用程序之前肯定要进行真机測试。
八、开发人员证书
- 假设你想利用Xcode把程序执行到真机(iPhone\iPad)上。那么就得向苹果购买iOS开发人员证书,价格是至少99$。
- 假设仅仅是将程序部署到模拟器上。不进行真机调试。就不用买这个证书。一切开发都是免费的。
- 事实上,也能够去淘宝买一个盗版的开发人员证书。才50¥每年。
九、总结
综上所述。学习iOS开发要准备的有:
1.苹果电脑 或者 黑苹果主机
2.安装开发工具Xcode
3.真机(iPhone\iPad)。这项可选。
4.开发人员证书。这项可选。
【零基础学习iOS开发】【01-前言】02-准备的更多相关文章
- 【零基础学习iOS开发】【转载】
原文地址:http://www.cnblogs.com/mjios/archive/2013/04/24/3039357.html 本文目录 一.什么是iOS 二.主流手机操作系统 三.什么是iOS开 ...
- 李洪强iOS开发之【零基础学习iOS开发】【01-前言】01-开篇
从今天开始,我就开始更新[零基础学习iOS开发]这个专题.不管你是否涉足过IT领域,也不管你是理科生还是文科生,只要你对iOS开发感兴趣,都可以来阅读此专题.我尽量以通俗易懂的语言,让每个人都能够看懂 ...
- 【零基础学习iOS开发】【01-前言】01-开篇
本文目录 一.什么是iOS 二.主流手机操作系统 三.什么是iOS开发 四.学习iOS开发的目的 五.学习iOS开发的前提 从今天开始,我就开始更新[零基础学习iOS开发]这个专题.不管你是否涉足过I ...
- 零基础学习iOS开发
零基础学习iOS开发不管你是否涉足过IT领域,只要你对iOS开发感兴趣,都可以阅读此专题. [零基础学习iOS开发][02-C语言]11-函数的声明和定义 摘要: 在上一讲中,简单介绍了函数的定义和使 ...
- [iOS]关于零基础学习iOS开发的学习方法总结
关于零基础学习iOS开发的学习方法总结 最近很多零基础来参加蓝鸥培训的学生经常会问到一些学习方法的问题,就如下我自己见过的好的学习方法一起讨论一下. 蓝鸥iOS开发技术的学习路线图 程序员的主要工作是 ...
- 李洪强iOS开发之【零基础学习iOS开发】【01-前言】02-准备
在上一讲中,介绍了什么是iOS开发.说简单一点,iOS开发,就是开发运行在iPhone或者iPad上的软件.这么一说完,应该有很多人就会产生一些疑惑,比如学习iOS开发是不是一定要买iPhone?需不 ...
- 李洪强iOS开发之【零基础学习iOS开发】【02-C语言】02-第一个C语言程序
前言 前面已经唠叨了这么多理论知识,从这讲开始,就要通过接触代码来学习C语言的语法.学习任何一门语言,首先要掌握的肯定是语法.学习C语言语法的目的:就是能够利用C语言编写程序,然后运行程序跟硬件(计算 ...
- 李洪强iOS开发之零基础学习iOS开发】【02-C语言】01-概述
前面已经给大家介绍了iOS开发相关的一些基础知识,其实iOS开发就是开发iPhone\iPad上的软件,而要想开发一款软件,首先要学习程序设计语言.iOS开发需要学习的主要程序设计语言有:C语言.C+ ...
- 李洪强iOS开发之【零基础学习iOS开发【01-前言】03-前景和难易度分析
一.iOS开发的前景 2012年3月份,苹果公司的市值已经突破5000亿美元,成为世界上市值最大的公司.5000亿是神马概念呢? 可以帮助陷入欧债危机的8个国家偿还债务 可以买下35个天安门广场.34 ...
随机推荐
- python学习-- 数据库迁移 python manage.py makemigrations 和 python manage.py migrate
python manage.py makemigrations 和 python manage.py migrate
- grunt-nodemon参数配置
grunt-nodemon参数配置 nodemon0.2.0版本后参数名称做了较大改动,调整了下nodemon的参数配置,有需要的同学可以参考下: 1 2 3 4 5 6 7 8 9 10 11 12 ...
- 算法理论——PLA
全称 perceptron learning algrithm 用武之地 二值分类问题,资料线性可分 算法核心(以二维平面为例) 找到一条直线WTX=0,一边全为+1,另一边全为-1.找到了这条线(即 ...
- Educational Codeforces Round 20 B. Distances to Zero
B. Distances to Zero time limit per test 2 seconds memory limit per test 256 megabytes input standar ...
- 简单使用EL进行标签的替换
package com.ceshi; public class HtmlShow { public static String transfer(String txt,String cssClass) ...
- iOS----闪退,无报错原因,经典解决方案
在iOS开发时,有时候遇到libc++abi.dylib handler threw exception这样的异常, 虽然在断点出加上了All Exceptions,也断到相应的代码了,但是没打印对 ...
- HDU——1058Humble Numbers(找规律)
Humble Numbers Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) T ...
- Educational Codeforces Round 11——C. Hard Process(YY)
C. Hard Process time limit per test 1 second memory limit per test 256 megabytes input standard inpu ...
- iOS-CALayer && CAAnimation
一.CALayer 1.CALayer CALayer属于QuartzCore.framework框架,从Xcode5起我们不必要手动导入这个库. CALayer我们可以简单理解为一个层.当我们绘制的 ...
- bzoj 1003 [ZJOI2006]物流运输(最短路+dp)
[ZJOI2006]物流运输 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 8973 Solved: 3839[Submit][Status][Di ...