Google Android自从2007年11月5日发布之日起,就以对抗苹果iPhone为目标。两年过去了,Android 2.1随着Nexus One的诞生而隆重登场。但是在移动开发人员眼中,Android(安致)能否最终存活下去,还是一个未知数。

    【51CTO独家特稿】“50秒、60秒、70秒...”这是51CTO记者在试用Samsung Galaxy手机时,为测试开机时间所做的读秒。从按下开机按钮,到连接上中国移动的信号,至少耗费了约一分钟。但此时这部Android手机并没有完全启动,它还需要登陆到Home Page才算最终完成了启动步骤。身旁某台湾公司的开发人员告诉我,尽管这台Android手机并没有加载过多的应用,但是开机速度仍旧不太理想。

    三星Galaxy

    三星Galaxy手机上的Android系统

    身为某台湾大型移动运营企业在北京开发团队的领头人,C向51CTO记者展示了他的Samsung Galaxy手机上的各种应用,这也就出现了文章开头的那一幕。经过简单的试用,Android系统在UI上与其他触屏手机并没有太大的区别,我们更关心的是UI背后的开发技术与未来Android开发的前景。在此次海峡两岸Android技术交流会上,不光有C这样的一线技术能人,也有高焕堂老师这样的领军人物。

    框架!框架!框架!

    软件开发过程中,对于框架的设计和选择,直接影响着整个开发团队最终的效率与成果。51CTO开发频道在2009年底推出了《架构师最怕程序员知道的十件事》这样一个选题,其目的也是为了让大家更好的了解架构师,了解框架。

    “框架!框架!框架!”这样一句口号正是出自高焕堂老师之口,根据高老师的理念,中国的Android开发人员,应成为框架的架构者,而不是简单的AP编写匠。每一个中国Android开发企业,应成为一个“小强龙”,他们做出的框架应让全世界范围内更多的程序员使用,最终提升自己在Android体系内的地位。如此振奋人心的口号,在一线Android开发人员眼里又是怎样的效力呢?

    “如果框架套用框架,那最终运行的速度将慢似蜗牛!”这是Android程序员听到高老师讲到框架套框架能进行快速开发后的第一反应。这位程序员向51CT O记者解释到,框架套框架的原意是让很多控制不用程序员自己去写,只需要从基类中直接调用就可以。这样的方法,确实能快速开发,因为省去了自己实现的步骤,但是解析这些框架所消耗的资源将是令人难以接受的。他对于高焕堂的框架理论,比较赞同的是将框架设计与编写AP分开。根据他自己的解释,搞了十一年移动开发的他,早应该脱离具体AP的编写,进入框架设计阶段。但是目前公司还是需要自己实现AP,因为没有下游公司承担这样底层的工作。“如果实现北京设计框架,二三线城市的开发公司进行AP的编写,那才是Android真正发展成熟的状态!”

    迷茫的市场 清醒的程序员

    根据台湾大学资工系陈彦仰教授的相关数据,目前在美国iPhone对比Android具备压倒性的优势,在中国则是Window Mobile与Nokia塞班的天下。Android的开发应用,似乎才刚刚起步,与红火的iPhone应用软件商店比起来,Android应用数量还似乎少的有些过分。

    在本次海峡两岸Android技术交流会的现场,有不少中国的移动开发企业表达出进入Android市场的意愿,但是现实是往往是残酷的。

    有很多中国企业之前是基于J2ME核心进行开发,因此有开发企业关心从J2ME虚拟机转移到Android的Dalvik虚拟机上需要多少时间。甚至有人直接提出,能否直接用J2ME取代Dalvik虚拟机。这一切的一切,衬托出目前国内开发企业对于Android的迷茫以及技术上的不熟悉,虽然想进入这个领域,但是还不想放弃目前自己在J2ME或者其他平台上的市场。这就从根本上显示出他们看不到Android市场的前景的担心,也就是对于Android盈利模式上的忧虑。

    反观作为技术人员代表的陈,提出的问题则比较具体。首先是Android执行效率的问题,SQLite数据库在处理1M以上的数据时会造成令人难以忍受的延时,不知道有什么方法可以解决。另外是GDB能否在Android上使用,这样能更好的进行调试。台上的专家的回答,主要是通过其他的解决方法来应对这些实际问题,比如使用MySQL数据库来进行处理,而只显示其中的前一部分。在代码执行效率的问题上,尽可能严格区分不同的功能实现,索引是索引,LOOP是LOOP。对于这样的回答,陈表示不太满意,与他心中的想法不太切合。毕竟Android这个系统从开始到现在,只有两年多的时间,大家还处于一个摸着石头过河的阶段。

    对于Android系统的市场前景,Android开发人员并不是太关心。因为目前Android开发所使用的语言大多是C/C++或者是Java,即使换一套手机系统,适应和转型的时间也不会超过一周。有的程序员从Windows Mobile做到iPhone,再做到Android,一路下来觉得其中的开发过程并无太大的差异,最多是在Porting上有一些区别。他们关心的市场问题,最多就限于如何实现收益以及目前国内市场在付费购买应用方面的缺陷。

    当前大多数Android手机还处于Android 1.5或者1.6系统的阶段,这一点与iPhone手机系统有较大的差别。因为手机硬件的千差万别,造成很多厂商不愿意主动向更高版本靠拢,而不像iPhone那样一夜之间就能完成用户系统的升级改造。这是开源系统的一大特点,并不能说版本升级快就是好事情,关键在于用户体验。就目前Android应用的体验来说,还有很长的路要走。比如企业级应用,现在Android平台上应用多以小型应用为主,大型应用还无法开展。这一切都受制于硬件性能和系统性能,Android的企业应用实现还需要假以时日。

    Android手机系统的未来,现在还看不出端倪。问题客观存在,我们也能看到Google和OHA在解决问题上的决心。系统在不断完善过程中,还需要广大开发人员进行磨合,逐步适应Android的开发环境。两年时间已经过去了,留给Android的时间,可能也只剩下两年左右的时间。是站稳市场?还是慢慢的消亡,一切还要看我们这些身在Android中的业内人。

    相关阅读

    Android Logo

    Google Android的机器人LOGO

    Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。

    Android是基于Linux内核的软件平台和操作系统,早期由Google开发,后由开放手机联盟OHA(Open Handset Alliance)开发。它采用了软件堆层(software stack,又名以软件叠层)的架构,主要分为三部分。低层以Linux内核工作为基础,只提供基本功能;其他的应用软件则由各公司自行开发,以Java作为编写程序的一部分。

    Dalvik虚拟机执行.dex的Dalvik可执行文件,该格式文件针对最小内存使用做了优化。该虚拟机是基于寄存器的,所有的类都经由JAVA汇编器编译,然后通过SDK中的dx工具转化成.dex格式由虚拟机执行。Dalvik虚拟机依赖于Linux的一些功能,比如线程机制和底层内存管理机制。可以说Dalvik虚拟机就是Android系统的标志。

    【责任编辑:Dev02 TEL:(010)68476606】