浅谈当前的手机开发技术[通俗易懂]

浅谈当前的手机开发技术[通俗易懂]随便聊聊现在的各种手机软件开发技术

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

浅谈当前的手机开发技术

作者:陈跃峰

出自:http://blog.csdn.net/mailbomb

 

         随着3G时代的到来,手机软件开发成为了一个热门的软件开发技术,但是由于手机种类等一系列的原因,使得手机开发技术也是层出不穷。下面来说说我对手机开发技术的理解。

         对于需要制作的人来说,关心的是软件的功能,但是对于手机开发技术的了解是实现手机软件时必需具备的基础,下面就一一进行介绍。

1、  传统开发技术——J2ME(JavaMe)

SUN公司的J2ME技术是比较成熟的手机开发技术之一。J2ME技术以其最广泛的通用性而在整个手机开发技术中占据着主导的地位,因为至少90%以上的手机是支持Java技术的,也就是可以使用J2ME技术进行开发的,这种特性是其它技术无法比拟的。试想使用一种手机开发技术开发出的手机软件就可以运行在大部分用户的手机中,节约的成本是很可观的。

当然,J2ME技术的缺陷也有很多,在现在手机处理器几乎都已达到奔腾级的情况下,程序运行速度已经差异不大了,所以速度不是J2ME技术的大缺点,那么J2ME技术最大的缺陷在于功能比较弱,例如很多低级的功能,例如流媒体、手机系统管理等方面,J2ME技术提供的支持都比较有限,所以有部分软件J2ME技术是不适合的,或者说根本无法实现要求的功能。

2、  智能机开发技术——Symbian(塞班)

具有开发操作系统的手机一般被称作智能机,而智能机无论如何发展,Symbian都在智能机开发中占据一定的份额,该手机操作系统获得了Nokia、SonyErisson等厂商的良好支持。

Symbian手机在手机中大概占有10%-20%的份额,所以其开发的软件也大量的被使用。

相对于J2ME技术来说,使用C++进行开发的Symbian要复杂一些,但是其能够实现的系统功能几乎是没有限制的,很适合做各种类型的手机软件。

3、  智能机开发技术——WindowMobile(WM)

虽然微软统治了大部分的PC操作系统市场,但是微软的手机操作系统WindowMobile却在智能机中占有的份额实在少得可怜,估计在中国其份额也就在5%甚至更少。

但是WindowMobile的开发几乎和PC软件开发一样,而且功能也还不错,只是由于手机份额较少,所以还有待发展。

4、  智能机开发技术——iPhone

苹果的iPhone可以说是开创了一个手机的新时代,由于其漂亮的外观等,而获得了极大的成功,从而获得了爆炸的发展。而且其AppStore模式,也使得国内开发者可以很方便的“出口创汇”。

另外由于iPhone技术的封闭性,使得各个版本之间的获得了良好的兼容,而且机型之间的差异也很小,移植的工作量不大。

但是在国内,联通引入的iPhone还没有获得太大的成功,所以还需要一段时间的发展。

5、  智能机开发技术——Android

Google的Android也是一种手机发展的趋势,由于其开放的系统以及类似iPhone的商店模式,以及对于众多Google服务的集成,例如Google Map等,也使得其获得了很大的发展,虽然没有iPhone那么成功,但是也获得了很大的发展。

但是由于众所周知的原因,Google在国内的前景比较暗淡,所以Android在国内的发展也很不明朗。

而且由于Android的版本问题,各个版本之间的兼容,以及各种定制版本如OPhone、乐Phone等事实上已经造成了该平台的分裂。

6、  CDMA开发技术——BREW

高通公司的BREW技术提供了完善的体系,使得其对于CDMA系列手机的支持比其它技术要好很多。

对于收购了联通的CDMA网络几千万用户的中国电信来说,BREW是其主流的开发技术,也是一种比较传统的开发技术了。

而对于非CDMA手机来说,BREW技术就鞭长莫及了。

7、  Flash lite

Flash lite技术可以说是Flash技术移植到了手机中,前2年该技术的呼声还比较高,最近好像没有什么声音发出了。

8、  山寨机开发技术——MTK

山寨机极大的满足了国人的要求:功能多、屏幕大、价格便宜,所以山寨机在国内手机市场占有的份额也很惊人,特别是低端机市场,估计占有30%左右的市场。

而山寨机的MTK开发技术使得山寨机内置软件,例如游戏、工具等,的市场也变得很巨大。

但是由于山寨机内置的吸费软件等使山寨机的形象不太光彩,但是国人还是保持了极大的忍耐,而且随着运营商的整顿,相信山寨机也会越来越正规。

 

有了这么多眼花缭乱的手机开发技术,那么如果需要做一款手机功能软件的话,如何选择呢,其实在选择时主要看以下几点:

1、  目标客户

例如你要做的软件是杀毒软件等低层软件,那么只能在智能机的开发技术中选择了。

2、  覆盖面

如果你想开发一个绝大部分手机用户的程序化,估计至少要开发JavaMe版本、Symbian版本、WM版本等。

3、  低成本,高覆盖

如果你在初期只想花有限的财力获得广泛的手机支持,那么J2ME技术是最理想的选择了。

 

 

         备注:个人的一些看法,不足之处请大家海涵并积极指正!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/190378.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 过滤器和拦截器区别以及执行顺序图_压缩空气过滤器安装顺序

    过滤器和拦截器区别以及执行顺序图_压缩空气过滤器安装顺序过滤器和拦截器区别觉得这个总结的很好,所以用来借鉴借鉴摘抄于网络,侵删过滤器和拦截器执行顺序在SpringBoot中编写测试代码自定义过滤器/***@Author:xiaoshijiu*@Date:2019/5/22*@Description:自定义过滤器*/publicclassMyFilterextendsHttpFilter…

    2022年8月23日
  • hive的元数据存储在derby和mysql_桌面云必须部署的组件包括

    hive的元数据存储在derby和mysql_桌面云必须部署的组件包括搭建hive的环境需要hadoop的dfs和yarn可以正常运行的情况下。准备好apache-hive-1.2.1-bin.tar.gz和mysql-libs.zip两个包hive安装步骤:解压apache-hive-1.2.1-bin.tar.gz到/usr/local/src下,并且将其重命名为hivetar-zxvfapache-hive-1.2.1-bin.tar.gzmvapache-hive-1.2.1-binhive复制/hive/conf下的hive-en.

    2022年10月31日
  • 一个Django项目:搭建基本自动化运维平台[通俗易懂]

    一个Django项目:搭建基本自动化运维平台[通俗易懂]之前做的一个Python项目,采用了Django的MTV框架搭建,实现的是主机的CMDB平台与作业平台基本功能。基本的搭建步骤:1.确定平台的基本功能有哪些:实现主机的自动添加,删除,修改;实现所管理主机配置信息的监控;实现指定对象的批量管理2.根据上面的功能,设计对应的页面方式,布局,规划如何交互的。:如何执行命令与显示3.根据上面的规划,拟定需要怎样的架构,分别需要几个模块(M…

    2022年5月13日
  • leetcode数组汇总_leetcode经典题

    leetcode数组汇总_leetcode经典题原题链接给定一个由整数数组 A 表示的环形数组 C,求 C 的非空子数组的最大可能和。在此处,环形数组意味着数组的末端将会与开头相连呈环状。(形式上,当0 <= i < A.length 时 C[i] = A[i],且当 i >= 0 时 C[i+A.length] = C[i])此外,子数组最多只能包含固定缓冲区 A 中的每个元素一次。(形式上,对于子数组 C[i], C[i+1], …, C[j],不存在 i <= k1, k2 <= j 其中 k1 % A.leng

    2022年8月8日
  • Stream流的常用方法[通俗易懂]

    Stream流的常用方法[通俗易懂]1、快速创建ListListlist=Stream.of(“1″,”2”).collect(Collectors.toList());2、取对象的某一列低效方式:List<String>userNameList=newArrayList<>();for(String)List<String>userNameList=list.stream().map(User::getName).collect(Collectors.toList(

    2022年10月5日
  • C++中resize函数的用法

    resize(),设置大小;reserve(),设置容量;resize()是分配容器的内存大小,而reserve()只是设置容器容量大小,但并没有真正分配内存。resize()可以传递两个参数,分别是大小和初始值,初始值默认为0,reserve()只能传递一个参数,不能设置初始值,其初始值为系统随机生成。例:#include<iostream>#include&…

    2022年4月1日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号