说到移动开发,目前主流平台有谷歌的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. ormlite介绍一

    概述       ORMlite是类似hibernate的对象映射框架,主要面向java语言,同时,是时下最流行的android面向数据库的的编程工具. 官方网站:http://ormlite.com ...

  2. Android开发学习之路--RxAndroid之简单原理

      学习了RxAndroid,其实也就是RxJava了,但是还是不是非常清楚到底RxAndroid有什么用呢?为什么要使用RxAndroid呢?这篇文章讲得不错,RxJava的原理.但是这里还是把整个 ...

  3. 插件开发之360 DroidPlugin源码分析(一)初识

    转载请注明出处:http://blog.csdn.net/hejjunlin/article/details/52123450 DroidPlugin的是什么? 一种新的插件机制,一种免安装的运行机制 ...

  4. 所谓 Spinner 组件

    Spinner组件在平常的开发过程中应该算是比较常用的隶属于Input Control的android控件了,所以我们很有必要掌握这一个知识点,下面我就来谈一谈我对这个组件的一些认识. 是什么? 下拉 ...

  5. 07 总结ProgressDialog 异步任务

    1,ProgressDialog     >        //使用对象  设置标题             progressDialog.setTitle("标题");   ...

  6. (一)SQLite与SQL语句基础

    数据库一般分为 关系型和对象型,关系型是主流,对象型数据库是直接把对象存入数据库. 常用关系型数据库: PC:Oracle MySQL SQL Server DB2 嵌入式/移动端:SQLite 本文 ...

  7. Linux 内存管理之highmem简介

    一.Linux内核地址空间 一般来说Linux 内核按照 3:1 的比率来划分虚拟内存(X86等):3 GB 的虚拟内存用于用户空间,1GB 的内存用于内核空间.当然有些体系结构如MIPS使用2:2 ...

  8. android studio——Failed to set up SDK

    最近使用android studio ,在IDE里面使用Gradle构建的时候,一直出现构建失败,失败信息显示Failed to set up SDK.然后 提示无法找到andriod-14平台,我更 ...

  9. 【嵌入式开发】 ARM 汇编 (指令分类 | 伪指令 | 协处理器访问指令)

    作者 : 韩曙亮 博客地址 : http://blog.csdn.net/shulianghan/article/details/42408137 转载请著名出处 本博客相关文档下载 :  -- AR ...

  10. Android的stateListDrawable,layerDawable,clipdrawable,AnimationDarwable介绍-android学习之旅(五十五)

    StatelistDrawable资源 代码示例 <?xml version="1.0" encoding="utf-8"?> <select ...