说到移动开发,目前主流平台有谷歌的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. 视频编码器评测系统:VideoCodecRank

    视频编码器领域一直有个比较复杂的问题:mpeg2.divx.xvid.mpeg4.vp8.vp9.x264.openh264.x265等等这一系列编码器到底哪个好?而对于同一种视频编码器,又包括了各种 ...

  2. 4.1、Android Stuido配置你的Build Variant

    每个版本的build variant代表了你可以构建的每一个版本.虽然你未直接配置build variants,你可以通过配置build type和product flavor. 比如,一个demo的 ...

  3. java的overload与override

    概括 方法的重写(Overriding)和重载(Overloading)是Java多态性的不同表现.重写(Overriding)是父类与子类之间多态性的一种表现,而重载(Overloading)是一个 ...

  4. 保证service存活

    Android开发的过程中,每次调用startService(Intent)的时候,都会调用该Service对象的onStartCommand(Intent,int,int)方法,然后在onStart ...

  5. Hibernate单表操作

    单一主键 assigned:由Java应用程序负责生成(即手工的赋值) native:由底层的数据库自动的生成标示符,如果是MySQL就是auto_increment,如果是Oracle就是seque ...

  6. springMVC源码分析--容器初始化(二)DispatcherServlet

    在上一篇博客springMVC源码分析--容器初始化(一)中我们介绍了spring web初始化IOC容器的过程,springMVC作为spring项目中的子项目,其可以和spring web容器很好 ...

  7. 【OpenCV文档】用于角点检测的Fast算法

    原文地址:http://docs.opencv.org/trunk/doc/py_tutorials/py_feature2d/py_fast/py_fast.html#fast-algorithm- ...

  8. ios第三方数据请求 UI_15

    AppDelegate.m //指定根视图 self.window.rootViewController = [[[UINavigationController alloc]initWithRootV ...

  9. 安卓TV开发(十) 智能电视开发之在线视频直播

    转载注明出处:http://blog.csdn.net/sk719887916/article/details/46582987 从<安卓TV开发(八) 移动智能终端多媒体之在线加载网页视频源& ...

  10. android自定义组件的简易实现

    写这篇博客是为了复习之前在慕课上面有幸看到的自定义组件的实现,原理很简单,有三个步骤, 为自定义的组件做好声明:封装成具体的可以使用的组件类,并利用接口回调机制为其注册监听函数:想使用正常的组件的方式 ...