说到移动开发,目前主流平台有谷歌的android os 系统,苹果iOS系统,和微软主打的windows Phone OS 系统,至于目前为啥移动开发中,安卓和iOS比较受欢迎,者要看三家产品的历史由来了,况且为何出现wp不怎么普及,估计微软比我们更头疼更关心这个问题,今天我们就不关注这个话题。

开发语言;

iOS,采用C,OC和swift语言开发,安卓采用java,c来开发,wp采用C#开发,OC和JAVA ,C#,都是面向对象语言。

入门难度:

其实三种平台的开发,没有哪个平台个入门难不难的问题,至于java入门易懂,C学起来头痛,但是我们评价这两种技术(安卓和iOS)不能单纯的只用开发语言来衡量,要从开发成本,简易度,维护,适配,兼容等各方面去很亮,通过比较对要下手学习移动开发的同学给个好的建议,决定去学习哪个方向。

开发成本:

安卓:windows ,mac的pc即可,再准备一个真机就可以。

iOS:需要OS操作系统的电脑(或者苹果盒子),真机测试也需要一台苹果手机。如果你的电脑配置够I高,你也可以把windows电脑装上mac虚拟器,但是不建议这么做。

对比一下:iOS 成本相对较高。

环境搭建:

安卓:需要配置JDK, Android SDK ,Eclipse/Stusdio,

如果想开发兼容C代码,还需安装NDK工具包。

IOS:  只需安装Xcode即可,兼容C,OC。

对比一下: iOS方便很多,苹果官方帮我已经继成了开发工具包。

开发语言:

安卓:JAVA, C。

如果只是做入门级别,JAVA基础就可以支撑你开发安卓程序了。C前期可以放弃。JAVA入门容易,易懂灵活。

想要往高级走,那么学习c,和Linux是必不可少,所以还是要回到C层面上,开发安卓应用,要想成为高级级别的,需要会很多,学习路比较苦逼。

iOS: C, OC,Swift

如果入门级别,略懂C,熟悉OC即可,但是语法没JAVA易懂和灵活,对于没基础的小白来说,入门还是比较吃力和枯燥的,至于进阶高级的话,需要熟悉C语言,因为很多库是支支持C的,况且不支持ARC机制,需要开发者自己管理。

除了熟悉更多的API和编程设计模式,其实安卓也要学习设计模式和编程思想,设计思想可以在工作中慢慢提高和收获。

市场行情:

目前两者的需求量安卓高于iOS,因为同个项目,人力需求来说安卓比iOS要多,但是学习者 安卓也比iOS多,所以总体来说android竞争比较激烈,iOS求职相对压力较小。

工资福利;

目前市场,同等经验的iOS薪酬高于Android,并且很多应用会以iOS为主,项目组预算可能iOS比Android高,总之市场决定价值,至少目前五年内是这样的。

开发难度;

目前很多公司的APP以iOS为原型,UI界面和交互一般模仿苹果系统,这样加大了安卓开发者的开发难度,需要自定义控件实现界面需求。至于机型目前安卓市场机型众多,rom也多,对安卓开发者屏幕适配和系统兼容是比较头疼的事情,而iOS来说,并不用过多去关心这个问题,相对来说安卓开发难度大于iOS。

后期维护;

安卓需要关系过多的机型和厂商更改权限的问题,对于开发者要求也加大的不少,需要兼顾老版本和新版本,可能你的最新版本也要考虑的安卓2.3系统,但是iOS一般强制用户的系统必须在某个版本以上,因此iOS的后期维护比较简单,Android比较大。

拓展延伸

安卓:只要采用JAVA语言,大家知道JAVA 语言是比较博大精深的,可以写桌面应用,服务器,web,还有安卓应用,这样对于入门安卓的同学,以后如果转服务器开发,那么就容易的多了。目前很多的项目都是采用java写的后台,

iOS:采用OC为主,如果熟悉C的同学可以做游戏,或者也可以去做嵌入式开发,已经写安卓系统的内核,但是想转服务器那么就有点困难了,就必须从学习新的语言,

总之安卓开发者,可以灵活从后台转客户端,其实也可以做前端工程师,而iOS 就没这么容易了。

个人发展:

个人路线而言, 如果以后担任更高的技术职位,那么优先入门安卓,从开始的安卓开发,在慢慢学习iOS,因为学会了一门语言再转另一门语言是很容易的,通过会了两门开发语言,那么可以担任移动开发经理(兼顾安卓和iOS),再慢慢衍射到服务器,担任架构师或者技术总监(管理客户端,服务器,前端等)。

以上就是大致对这两种领域的总结,以后我会着重说一下oc和java异同点,和开发iOS,Android的区别,从代码层面对比下这两种技术的移动点,谢谢阅读。

iOS和Android开发异同点(一)的更多相关文章

  1. 在MAC上搭建cordova3.4.0的IOS和android开发环境

    Hello,大家好,今天给大家说说在mac上搭建cordova3.4.0的iOS和Android开发环境,首先下载cordova,地址:https://cordova.apache.org/#down ...

  2. 【转】针对iOS VS. Android开发游戏的优劣——2013-08-25 17

    http://game.dapps.net/gamedev/experience/8670.html 问题:如果你正在一个新工作室开发一款新的平板/手机游戏,你会选择iOS还是Android? 回答: ...

  3. 对ios、android开发程序员的14条忠告

    ————————本文摘自千锋教育(http://www.mobiletrain.org/)对ios\android开发程序员的14条忠告————————— 1.不要害怕在工作中学习. 只要有电脑,就可 ...

  4. 《React Native 精解与实战》书籍连载「配置 iOS 与 Android 开发环境」

    此文是我的出版书籍<React Native 精解与实战>连载分享,此书由机械工业出版社出版,书中详解了 React Native 框架底层原理.React Native 组件布局.组件与 ...

  5. iOS、Android 开发的前景真的那么差吗?

    程序员问问周刊:别蕉绿了,问问「IT老兵哥」吧! Q:本科 985 在上海二线互联网企业工作,公司有人才落户指标,但要排队等五年左右.除此外只能等居住满七年落户,现在想换工作追求更好的发展,纠结是继续 ...

  6. 10个学习Android开发的网站推荐

    1. Android Developers 作为一个Android开发者,官网的资料当然不可错过,从设计,培训,指南,文档,都不应该错过,在以后的学习过程中慢慢理解体会. 2. Android Gui ...

  7. 10个很棒的学习Android 开发的网站(转)

    看到江湖旅人 写的<10个很棒的学习iOS开发的网站 - 简书>,所以就忍不住写Android 啦,也希望对大家有帮助.我推荐的网站,都是我在学习Android 开发过程中发现的好网站,给 ...

  8. [转]10个学习Android开发的网站推荐

    本文转自:http://blog.csdn.net/i_lovefish/article/details/43950893 1. Android Developers 作为一个Android开发者,官 ...

  9. 创业公司求IOS、Android攻城狮一枚

    地点:北京CBD附近(地铁1号线大望路) 魅力值:送珍贵期权 你要会:       1. IOS或者Android开发       2.可以处理类似微视/秒拍的视频录制功能       3.熟悉jso ...

随机推荐

  1. 4.2、Android Studio压缩你的代码和资源

    为了让你的APK文件尽可能的小,你需要在构建的时候开启压缩来移除无用的代码和资源. 代码压缩可在ProGuard中使用,可以检测和清除无用的类,变量,方法和属性,甚至包括你引用的库.ProGuard同 ...

  2. 【一天一道LeetCode】#91. Decode Ways

    一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 A messa ...

  3. HTML5 Web Storage 特性

    原文地址: Using HTML5 Web Storage 原文日期: 2010年06月28日 翻译日期: 2013年08月12日 当下Web开发领域最火爆的词语当属 HTML5.HTML5标准的新特 ...

  4. Linux编译Windows共享目录下代码

    Linux编译Windows共享目录下代码(金庆的专栏)万神服务器代码是跨平台的.平时策划在Windows上开自己的服务器测试,测试和发布服务器为Linux.开发时,先在Windows上编译测试,再到 ...

  5. linux杀死进程的简单讲解

    一. 终止进程的工具kill .killall.pkill.xkill 终止一个进程或终止一个正在运行的程序,一般是通过kill .killall.pkill.xkill 等进行.比如一个程序已经死掉 ...

  6. xml解析方式之JAXP解析入门

    XML解析 1 引入 xml文件除了给开发者看,更多的情况使用[程序读取xml文件]的内容.这叫做xml解析 2 XML解析方式(原理不同) DOM解析 SAX解析 3 XML解析工具 DOM解析原理 ...

  7. SVN---搭建幸福之家

    SVN百度百科对她这样进行阐述:SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS.CVS,它采用了分支管理系统,它的设计目标就是取代CVS.互联网上很多版本控制服务已从 ...

  8. 《java入门第一季》之Character类小案例

    /*  * Character 类在对象中包装一个基本类型 char 的值  * 此外,该类提供了几种方法,以确定字符的类别小写字母,数字,等等,并将字符从大写转换成小写,反之亦然  * */ 下面通 ...

  9. (NO.00001)iOS游戏SpeedBoy Lite成形记(二十)

    下面修改最为关键的matchRun方法里的代码: CCActionCallBlock *blk = [CCActionCallBlock actionWithBlock:^{ _finishedCou ...

  10. 【一天一道LeetCode】#58. Length of Last Word

    一天一道LeetCode系列 (一)题目 Given a string s consists of upper/lower-case alphabets and empty space charact ...