为何安卓程序用Java开发
来源:互联网 发布:淘宝装修图片 编辑:程序博客网 时间:2024/05/02 00:02
因为android的UI层是用java的类封装的,而底层是用c/c++。所以开发UI层(也就是软件的界面层)时要用java开发,而你要用C++来提高软件效率的话,需要使用jni,通过jni,在java中可以去调用c++程序。
选择Java肯定是google经过深思熟虑的抉择,先说能确定的优势,
Java有跨平台优势,手机的硬件可能千差万别,Java软件可以只出一套执行档。而C/C++需要针对机型出专用的编译版。
Java有大量人员优势,几乎不用重复学习就能做android。
Java天生是做应用的语言,和C/C++不同,Java的语言和类库都是多年积累的、应用最需要的常用功能。
关于性能,说些个人看法。
越是应用,新创意的成分可能越多,定式越少。这时候用一些宽松的语言越能快速的实现产品。
相反没有创意的复制,才需要高效的语言。比如压缩算法-视频编码、比如3d绘制算法,都是专家组总结的最佳算法,没有创意只需要实现,这时就需要最高效的语言最大限度的发挥cpu,所以这里用c都不够,甚至要汇编SIMD,甚至要电路硬件解码。
有创意的东西、特别是新东西、还没来得及形成定式,这时需要一些很灵活的语言,比如网页网站一日数变,甚至Java都不够灵活,需要更灵活的脚本语言python、php之类才合用。
总之,Java是个灵活和性能的一种折中,不够最快但够快,不是最灵活但够灵活。所以才适合做这些应用软件。
选择Java肯定是google经过深思熟虑的抉择,先说能确定的优势,
Java有跨平台优势,手机的硬件可能千差万别,Java软件可以只出一套执行档。而C/C++需要针对机型出专用的编译版。
Java有大量人员优势,几乎不用重复学习就能做android。
Java天生是做应用的语言,和C/C++不同,Java的语言和类库都是多年积累的、应用最需要的常用功能。
关于性能,说些个人看法。
越是应用,新创意的成分可能越多,定式越少。这时候用一些宽松的语言越能快速的实现产品。
相反没有创意的复制,才需要高效的语言。比如压缩算法-视频编码、比如3d绘制算法,都是专家组总结的最佳算法,没有创意只需要实现,这时就需要最高效的语言最大限度的发挥cpu,所以这里用c都不够,甚至要汇编SIMD,甚至要电路硬件解码。
有创意的东西、特别是新东西、还没来得及形成定式,这时需要一些很灵活的语言,比如网页网站一日数变,甚至Java都不够灵活,需要更灵活的脚本语言python、php之类才合用。
总之,Java是个灵活和性能的一种折中,不够最快但够快,不是最灵活但够灵活。所以才适合做这些应用软件。
0 0
- 为何安卓程序用Java开发
- 安卓程序开发入门
- java程序为何运行不了
- 用c#开发安卓程序 (xamarin.android)
- 用c#开发安卓程序 (xamarin.android)系列之一
- 用Eclipse开发安卓-运行程序时选择设备
- java安卓应用开发
- 安卓程序开发——创建安卓虚拟机
- 安卓开发监听程序安装卸载
- Delphi开发安卓程序的感受
- 安卓开发,程序多语言
- 安卓开发:双击退出程序
- 为何安卓手机没有iPhone流畅
- 嵌入式程序开发中为何禁止中断?
- 为何不能用j2me开发CDC程序?
- 安卓工作室 创建java工程 程序
- Java程序为何“编译一次,到处运行”
- java程序为何能跨平台执行
- 开始使用NDK
- 自己写的两个方法,关于bean和map的转化,比网上的效率快很多
- python-nmap在SLES11上似乎有点小问题
- Uploadify的一些参数
- REST中上传文件简单的实现笔记
- 为何安卓程序用Java开发
- Openstack Keystone 认证流程(四)--Filter流水线
- 辣妈萌宝APP--打开辣妈萌宝进行记录
- Java垃圾回收机制
- is not in the sudoers file 解决方案
- mapreduce编程:单表自连接
- Oracle的edit命令
- Java算法题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
- Oracle Purge和drop的区别