ios开发和android开发浅谈

来源:互联网 发布:windows核心编程怎么样 编辑:程序博客网 时间:2024/06/11 05:33
从事了两年多的android开发,刚转ios一个多月,于是就简单地对这一个多月的学习说一下体会,在这里主要讨论的是两者的区别。
1.语言 (java&Object_C)
       先从语言本身来说,java的语法设计绝对比Object_C优秀很多,这也是java为什么如此受欢迎的原因,java相比于Object_C来说绝对是容易上手很多,[]式的消息发送机制是一种古老的语法,正因如此Apple也正视图优化Object_C让其更接近java式的语法,这方面最好的例子就是加入了属性@property,对象对变量的操作为”.”;Object_C因为其是c语言的扩充所以也有指针,这对用了很久的java的人来说估计有点烦躁,“*”操作符什么的最烦了。再来说说各自的框架库,这几年jdk可以说发展的已经很成熟了,第三方库也很强大;object_C主要基于cocoa库,没有了cocoa Object_C什么也做不了。总的来说在语言方面我更倾向于java,毕竟在实现面向对象的思想方面java绝对秒Object_C。        
2.开发环境
       先说一下我第一次使用Xcode的感受:这才叫开发。为什么这么说,因为我从没感觉到开发一个程序如此的流畅和愉悦。再来说一下android开发环境(没用过android studio,不知道怎样),Eclipse+ADT很是让然蛋疼啊,一个字:卡!和Xcode简直不能比啊。而且我觉得apple加入了storyboard之后让app的设计更加可视化,不仅如此它让你对数据流有更好的掌控,再设计视图布局的时候也更加清晰,以前写android视图的时候从老不用可视化工具,因为那实在是太乱了,不如编写xml来得直接。再说说虚拟机,真的不好比啊,xcode秒开虚拟机,以前从来不用虚拟机调试程序,直接真机运行调试,因为android虚拟机开机太慢了。apple开发者我还没注册,所以没有用过真机调试。说道xcode不得不说LLVM编译器,ARC技术实在太强了,一直认为自动的内存管理不如自己手动的对内存的申请和释放,但LLVM编译器甩了gcc几条街,ARC和手动释放内存原理差不多,只是LLVM代替你做了这些;相比较ios直接将代码编译运行在cpu等硬件上,android还有一层虚拟机,这直接导致运行效率的下降;这也是为什么同等配置的android机总感觉比iphone卡得原因。
3.学习成本
     学习android的时候看的是官方的开发文档,觉得写的教程非常详细,在这方面apple做的不必goole差。但还是要归功于Xcode,直接在IDE中查看文档确实很爽。不知道是不是学了android再学ios,觉得学习时没有android那么吃力,有些概念比较容易理解,也或许是才开始学习,没接触到什么复杂的)。再看看现在两者的社区和参考书籍,在移动设备发展的前几年,中国的社区真的不是很成熟,但是现在两者都有很好的社区环境;书籍方面觉得android占优,也因为android开源,所以android的深度也要胜于ios。总的来说android的学习成本比ios要低。

     总结:怎么说呢,ios开发让我有点上瘾,而android总给我带来困扰,尤其是hdpi,mdpi,xhdpi这种碎片化很是蛋疼。
0 0