经过半个多月的折腾,反复的测试和修改,再测试,再修改,5mbox v1.56 for a1200/e6版本总算通过了moto南京测试中心的检测。这其中的酸甜苦辣,呵呵,只有亲历过的人才能知道。这可能就是一场可以称之为历练的过程吧。原本我以为测试中心无非就是收点钱,睁一眼闭一眼让你通过了就行了;原本moto的手机软件就少,而且多数都是java版的软件,真正把moto的linux手机平台做为应用开发平台的软件就更少了。我一直认为,只有采用手机的native开发方式,才能真正把硬件的力量发挥出来。这次我们做出来了moto native application,理论上moto方面应该很高兴。可是似乎我们想错了,对于moto来说,他们对native应用的测试更加严格,java游戏或者应用会有java vm罩着,而jvm本身已经经过严格的测试,同时java也被称之为sand box(沙盒)本身也不会对手机产生什么不良影响,所以,moto对于java软件的测试倒真是不很严格。
对于native应用就完全不同了,呵呵,要经历很多异常、中断、以及非法操作的测试才行。举个例子来说,他们会在使用软件的过程中,打入电话、拔掉电池、向目的手机发送短消息、彩信、合盖开盖、用低电量的电池运行你的程序,在程序使用过程中不断的插入耳机、拔出耳机、插入充电器、拔下充电器、插入数据线、拔下数据线;以及将程序挂起,然后删除程序正在使用的文件;或者运行一个特殊的程序“吃”掉几乎所有的程序可用内存,看看程序会有什么反映;再或者把存储卡的空间全部占满,然后检查你的程序是否会提示存储空间不足;再或者删除程序所使用到的资源文件,然后启动程序,查看程序是否会出现问题,或者是否会给出合理的用户提示。等等等等。。。不一而足,每次被打回来,我们都目瞪口呆——这帮人是不是疯了,用户会这样用手机吗?但是后来想想,只要有一种情况没有考虑到,就可能对手机产生很严重的影响,毕竟是native的应用啊。据他们自己说,他们的测试只是履行公事的测试,如果是moto北美测试中心的人来抽测的话将更加严格,对于单机版的5mbox来说这些已经是很宽松了,如果是网络版,将更加严格的在各种苛刻的网络条件下测试联网的网络程序。为了把这些测试都通过,我们也是连滚带爬,很狼狈的解决了这些问题。基本上是他们在推着我们向前走,每次提出多少个问题,我们就解决多少个问题。。。这些问题都解决了以后,再回过头来看看5mbox看上去有点样子了,以前是程序起来了还在担心会不会死机或者出现什么不稳定、崩溃的问题。现在看来那些担心都是多余的了,根本不可能有问题,除非是逻辑上的问题但也是可能性很小了。
5mbox很快就要正式上线了,尽管做为moto的合作伙伴来说我们可能不是最好的,但是我们自己扪心自问,已经尽力让把程序做好了。心情很愉快,但是也是很迷茫。下一步怎么办呢?moto看上去对于mobilinux的支持已经在弱化。取而代之的是UIQ、Win Mobile、Brew等平台,明年将有一次比较大的动作,推出多款UIQ和Win Mobile平台的手机。很多开发者还在梦想着Magx和linux平台的延续,可是参加了moto dev的大会以后,尽管他们不断强调linux路线是一个long term的路线,但是我越来越觉得moto里面原先的那种“技术主导”的方式已经在弱化。。。它的思路在渐渐的变成一个商人,也许他们的转变是对的,毕竟moto是一家硬件为主导的公司,软件这些包出去给UIQ和Symbian来做,未必不是一个变通的解决方法。
我还是喜欢linux下面的开发,感觉就是一种享受。哈哈
明年手机客户端之间的竞争将会更加激烈,甚至可以用惨烈来形容。手机客户端软件是新兴的事物,用户理解和接受它是需要一个漫长的时间和过程的。就如同pc的发展一样,早先是群雄割据,操作系统之间的火拼,当仅剩下几家系统成为主流的时候,就会开始应用之间的竞争。会有一批批的公司起来,倒下。。。这里面也包括我们自己,呵呵,能不能挺过明年,这是我们最艰苦的一场战役了。比起pc市场,我感觉手机客户端软件开发市场更加畸形,大家都是打着全部免费的旗号推给用户。全部免费的话,公司依靠什么来生存呢?就跟现在的互联网产业一样。。。最后拼到泡沫破裂。。。大家都喝西北风去了。。。不过可以肯定的是,在这么残酷的竞争下,就跟互联网产业一样,最后会剩下几家独大的手机客户端软件公司,做得很大,拥有很多用户,靠着广告或者手机视频或者什么别的来赚钱。
目前在智能手机里面主要有如下几个操作系统:
Symbian, Win Mobile, Palm, UIQ(其实它的底层也是Symbian的,只是图形界面封装了一个全新的) ,mobilinux,另外不属于智能手机但是目前国内市场份额又非常大,不能不提的MTK平台。
大家一定很关心这里面最有可能成为未来主流操作系统的eos。symbian毫无疑问是目前冠军,当然win mobile在微软的不断推动和升级下也会跟上,从用户体验和开发环境上来看,我认为win mobile甚至要强于symbian(它的真机在线单步调试,只需要动动鼠标就行,而symbian则要安装插件、手机上安装特殊的软件等等甚是繁琐调试速度慢,而且效果也不好,有的语句trap不进去),win mobile是有希望统一智能手机的平台的明日之星,微软的优势在于可以无缝地把sdk与vs开发环境结合起来(vs本来就是微软开发的嘛,自家的产品整合当然不费什么力气了),所有其它的sdk要么是寄希望code warrior,要么是做vs的插件,或者整合eclipse,这些都没有微软直接做到vs里面去做得好、方便,微软在这里占了sdk和ide都是自己的产品的天时地利,占了很大便宜。symbian市场份额最大只是说明了诺基亚现在的销量比较好而已,对于大屏幕显示和触摸屏显示,诺基亚没有微软在这方面的经验丰富,如果win mobile的手机价格大幅度下降(这当然不太可能,win mobile 5,6对硬件的要求更高,导致成本加大,自然价格也就更贵一些了,还是水货的好啊^_^)或许微软的系统会抢回来很大的一部分市场。谁不喜欢大屏幕的跟电脑上的windows很像的手机呢,拿在手里看电影、看小说比s60那些176x208或者240x320的屏幕要爽多了,看着就很大气。没用过的朋友可以找机会体验一下。UIQ只有索爱和moto现在在搞,侧重于多媒体领域,听歌的效果没说的,但是除此之外还真没什么可说的,sdk都是symbian那套,只是图形类的定义有所不同,很多开发工具或者插件,支持了symbian s60一般都可以很容易就支持uiq开发的。至于mobilinux的调试平台更不敢恭维了。。。不是有经验的开发人员,估计即使拿到了官方的sdk也不知道如何使用(这一点同linux在pc中的开发是非常类似的),文档描述不清很多地方要自己去试去猜,而且做为sdk本身,又不是开源的,出了问题可真是叫天天不应,叫地地不灵啊。。。等等一系列问题,做为linux开发者来说,至少linux是开源的,不会的地方去查代码,总会找到解决的方法,但是对于mobilinux+ezx平台而言,就是一头雾水,没有代码的支持,每次出现了segment fault,不知道是程序的问题,还是编译环境或者破解的sdk本身就出现了问题。
至于即将出来的iphone的sdk,就类似于苹果的mac机器在现在pc中的地位一样,会有一批追随者和开发者,但是绝不会像win32那样占有那么大的市场。这里有可能成为黑马的是gphone的android,它的开发环境我已经仔细的看过了,很不错,至少java可以满足linux下面和win32下面的开发者拿来玩玩。但是它也有自身存在的问题,他们没有开放native app的开发方法,据sdk的over view说,所有对于c语言的支持库是通过jvm开放给开发人员云云。这必将产生类c又类java的特殊的非标语法格式或调用方法。这样android本身就产生了一个畸形的java开发环境,究竟能否广泛被开发者所接受,还是一个问题有待时间去验证。法电FIC的OpenMoko以及OPIE,从文档和开发工具上就更加匮乏了,光是openmoko需要的bitbaken就花了我好长时间才给设置的没有问题,可以用于开发了。。。实际上的开发问题肯定更多,刚出来的时候我很推崇openmoko,但是到了现在,已经不太对它热衷了,毕竟为它做开发需要了解的东西,绝不仅仅是linux的开发方法,还有很多很多需要知道的东西。。。
至于高通公司的Brew,不作评论了,功能很弱,应用很少,多数都是别有用心的sp搞的骗钱玩意。而且上线的手续繁琐(需要经过联通神奇宝典审批),速度慢(三星的机型处理器都很一般),开发周期长(废话,只提供最原始的接口,所有的应用引擎都要自己来写能快得了吗?),目前在3G到来之前,还有CDMA 1x网络是它的卖点,毕竟网速快一些,很多做视频监控的公司,都选用brew做他们的开发平台。如果3G到来了,我想它可能是第一个被这些公司抛弃的开发平台。。。如果不是特别有实力有耐心去玩的公司,我看还是算了。
至于palm,被win mobile打下马的。。。它的api就以不好使和乱而闻名,同样的一个api,在不同版本的palm上可能结果都不同。。。这不是让这帮开发者撞大运嘛。。。他被win mobile斩落马下也是正常的。
最后是MTK平台,这个台湾联发客公司出的turn key解决方案让人既喜欢,又反感。所谓的turn key解决方案就是整个手机,从硬件到软件到芯片到板子,他们一个公司都做了。这与别的手机采用的社会分工不同,比如芯片采购、制板,软件编写这些每个环节都是独立的。所以花费的成本就要高一些,而且会有一些兼容性问题。而MTK解决方案就是,所有的东西他们都做,你只需要设计个壳子,就可以批量生产了。这样一揽子解决方案,会让生产厂家节约很多时间和成本,不会出现兼容性问题,出了问题找联发客或者提供方案的设计公司去解决就是了。目前国产的几百块钱的彩屏手机90%以上都是MTK的手机平台。这个平台也在不断发展中,例如可以蓝牙,可以支持java游戏,可以拍照,可以看电影之类的。MTK的开发环境需要单独像联发客购买,而且会签署很严格的NDA保密协议,黑手机的开发平台+开发板一般要6w左右。然后,整个开发其实就是在写一个很大的单片机程序,MTK的手机本质上不存在系统的概念,只是一个大的程序而已,写好了就直接烧写到手机芯片上就算是可以了。由于MTK的手机多数是低端机型,因此,运算能力比较差,运行速度也慢,它播放视频大多是需要硬件的协处理解码芯片来完成,而无法通过软解码来完成。可以利用的api接口也不多,可供自由发挥的空间也非常有限。
啊,不知不觉写了这么多。总结一下,目前从开发者的角度来看,sdk+ide最为成熟的是win mobile,其次是symbian,再次就是gphone的android了(还没有中文的介绍,这个似乎是个缺陷)。但是最终谁会成为主流的系统,还要看手机的销量。现在symbian是老大,就是诺基亚卖的多嘛;如果win mobile的手机销量赶上诺基亚了。。。估计symbian想要挣扎就难了。
我们拭目以待吧。。。呼呼,困死了,带小狗下楼玩去了。。。
各位晚安。
阅读(3869) | 评论(6) | 转发(0) |