从iPhone和Android开始流行以后,Symbian背负的骂声就开始越来越多。Symbian这个一开始就不算太成功的系统,依仗着诺基亚手机而占据了智能手机第一位的位置。其实早在iPhone流行之前,一直都有开发人员在辱骂Symbian,但声音都很小,不成主流。在那个时候,网络上描写Symbian为何能够成功的文章远比批驳Symbian的文章要多得多,这里头也就是三个原因:

一则有很多依仗做Symbian开发成功而赚钱的早期成功开发者的支持;

二则是初学者们对于对于Symbian第一的地位的仰慕,从而选择性的放大它的优点;

三则是太多外行完全不了解Symbian,而受于诺基亚市场成功的影响而大肆吹捧

 

Symbian到底有多少问题,它又为何如此让开发者讨厌?如果读者朋友同时做过多个智能手机平台的开发,体会会更加深刻。所以在这里就以各平台间的开发状况的比对来说明问题。从开发智能手机程序的几大要素说起:1、开发环境IDE 2、模拟器 3、编译调试 4、API与文档

 

1、开发环境IDE
要开发Symbian,需要安装 J2RE,ActivePerl, 对应版本的SDK, CodeWorrior或者VC6.0等等。 装这么多程序还不算麻烦,麻烦的是,它们的安装是有顺序的,顺序错误会导致最终无法编译程序,必须按特定的顺序来,这对于初学者来说非常的繁琐,因为没人任何官方文档说明了需要安装顺序,尤其是在早期还没有网友将这些问题总结出来发到网上的时候,最早的Symbian开发者们是吃尽了苦头。这一堆程序卸载完又重装可能就过去半天的时间了。但是,这还没完,他们安装的盘符是有影响的,你不能把CodeWorrior跟SDK一个装C盘,一个装D盘,他们必须在同一个盘而且最好是C盘,而很多人的C盘空间可能根本就不够用。而这些,都还是Symbian在后来改进过他们的安装环境搭建之后的成果。05年以前就开始做Symbian开发的开发者体会是最深刻的,那个时候很多人为了让第一个Symbian上的Hello World程序运行起来,运气不太好的情况下需要一周甚至更多的时间。当然现在在大量网友分享经验的情况下要好得多了,但仍然让开发者难受。


而和Symbian在同一时期的Windows Mobile是什么状况呢?搭建Windows Mobile的开发环境要做的工作很简单,安装两个程序:VS 2005+对应版本的SDK。不用修改任何环境变量,不用担心目录的问题,实际上,没什么可担心的,就这么装上就完了。装完以后,要运行第一个Hello World程序,从编程到看见运行界面,你只需要不到10分钟。

 

而最受开发者欢迎的iPhone呢? 安装一个XCode+SDK就行了,就这个,什么都不用管,不用配置,甚至都不用关心升级,它以后会自动升级版本。而Android的环境虽然需要稍微配置一下,但也还算很简单,远好于Symbian。

 

在几大智能平台的开发环境的比较中,Symbian以绝对的劣势完败~

 

2、模拟器

模拟器是智能手机终端软件开发的必备工具,它的仿真程度,稳定性和速度很大程度上影响着我们开发软件的效率和质量。 虽然MTK的模拟器情况很也糟糕,但是我觉得MTK不算是智能手机系统,不在比较之列。

 

这几大智能手机平台中,模拟器的优劣状况也是各有高下。我个人评分最高的模拟器是iPhone模拟器,仿真程度很高,甚至提供了模拟多点触摸的测试手段,启动速度是各大智能平台模拟器中最快的,使用和调试都非常顺畅,崩溃与出错几率极低。

 

第二名的应该的Windows Mobile的模拟器,Windows Mobile又分PPC模拟器和Smartphone模拟器,仿真程度一样很高,不在iPhone模拟器之下。而启动速度比之iPhone则慢了不少,调试使用的顺畅度也差一些,但大抵也还不错,也很少会崩溃出错。

 

Android的模拟器给我的唯一印象就是启动速度慢,非常慢,因为我对Android使用不多,还不方便评价它的使用感受,就不给Android排名了。

 

所以,这里剩下来的最后一名,还是Symbian,Symbian模拟器的启动速度介于Windows Mobile和Android之间,不过启动速度不是最关键的,关键还是使用感受,Symbian模拟器的仿真程度最低,程序在模拟器上和真机上表现不一致的情况常常发生。这还不是最糟的,最糟的是Symbian模拟器常常在你调试程序到最关键的时候,崩溃了!!或者造成死机。为什么有些程序员会突然疯了一样的砸键盘,因为他很可能就是Symbian程序员。

 

3、编译调试

说到编译调试,曾经最痛苦的印象倒不是Symbian, 而是03以前的Windows Mobile,因为EVC和Windows XP的不兼容问题,导致单步调试异常困难。常常是在断点的情况下按一下单步执行下一句之后,我可以慢慢的喝一口水,然后再等一会,程序才真的走到了下一步。还好,这一切都已经过去了,05之后弃用EVC,启用Visual Studio 情况改观很多。现在的Windows Mobile应该是各平台中调试最便捷的平台了。不过这一点上,部分iPhone程序员可能会有异议,毕竟XCode也很方便好用。可能是因为我用Windows还是比Mac熟练很多的原因吧。总体来说,Windows Moblie和iPhone开发的编译调试情况都很不错,编译速度都很快,单步调试,内存调试都很方便。尤其是XCode提供的内存检查工具Instruments更是iPhone程序员的利器。Android调试我的经验不多,但起码我知道,Android的编译速度还是不错的。

 

而Symbian呢,编译速度之慢可以用夸张来形容。就以手机QQ的编译情况来比较,以我那台老PC做载体,WM QQ的编译时间大概在3分钟以内,iPhone QQ则只需要2分钟,而Symbian则在15分钟以上。试想一下,我为了将一个界面元素放到合适的位置,需要反复修改代码重新编译查看运行效果的时候,会是什么状况,假如我要修改10次才能满意,那么开发iPhone程序的话,我需要半个到1个小时,而开发Symbian程序的话,这一天就不用干别的了,就调这个了。

 

4、API与文档

说到API与文档,不得不大赞iPhone,做得非常漂亮。只要读英文的能力过关,几乎可以在无需预先学习和老师指导的情况下顺利的掌握iPhone开发的方法。当然,你读英文困难,那是另外一回事。况且这几大平台都是没有完善的中文的文档的。使用iPhone的文档之前,我和多数程序员一样,深信微软的MSDN是最好的文档,当然也的确不错,不过iPhone文档就更胜了,在对各API的描述上,结构分明,首先是概述,然后是各参数描述,然后是简单的代码示例,如果还不够,还能搜到完整的可编译运行的程序的示例。在编程过程中,从XCode中也可以随时方便的跳转到帮助文档查看当下用到的API。那Symbian是什么状况呢? 文档混乱,描述不清,找不到示例代码。API的使用方法也比较复杂,而且隐藏部分潜规则。

 

写到这里,回头看,几乎都是在列Symbian的罪状,好吧,俗话说:坏人做到底。就再列最后两条它的罪状吧:

 

5、栈空间少,不够用,程序员不得不尽可能多的使用堆的方式获取内存,这徒增了Symbian开发的难度,而我在Windows mobile的开发中使用栈空间是很少会出状况的。

6、二次构造。这是Symbian的独创,在Symbian独大的年代里,它甚至被宣称为Symbian的一大优点。为了内存安全?多写一点程序,仔细想一下,比对一下。二次构造给程序只是带来了更复杂的编写难度和更多的隐藏Bug,毫无优点,这是一个失败的创新。

 

先写到这里吧,写得比较快,没有多想,部分内容难免带有些许主观感情,不一定客观,但基本事实方向还是不会误导读者的。有时间再来慢慢谈更多的移动开发的故事~

posted @ 2010-10-24 21:42 猫咪 阅读(366) 评论(6) 编辑

写好你的每段程序,所谓写好是没有错误,足够优化,不要总是不管细节,总觉得后面会有时间来优化,事实上,后面可能再也没有机会来优化了。而且

事实经验都的确如此。

 

先全面考虑,再设计,再动手。一边写,一边设计的结果是代码到最后结构一团乱,自己都不愿意再去看了。所以,一开始就要想得够清晰~

 

设计时最好拿白纸和笔,思路会清晰很多

 

所谓成功不是广撒网 机会就会多,人的精力是有限的,要在任何一个点上成功都是需要耐心,坚持和专注的,以最大的努力做好当前的事,多思考,多用心,成功才可能接踵而至

posted @ 2010-08-06 15:45 猫咪 阅读(143) 评论(0) 编辑

wifi 16G版iPad 香港售价折合人民币不到3400元。看到iPad销售排队人数夸张的照片,就感觉到iPad在香港脱销已在预料之中了。

等到iPad再进化到下一代,相信很多人都会感觉到iPad对人们生活的改变。当然,现在还有很多人并不相信~

 

posted @ 2010-07-25 15:17 猫咪 阅读(76) 评论(0) 编辑

3G的战国时代——智能手机操作系统的国内国外

            —— 《3G的战国时代——智能手机操作系统的未来》 之后记

 

  《3G的战国时代——智能手机操作系统的未来》偶然想起一年多前写下的这篇文章,时隔已一年半,3G市场的现状貌似还没有天翻地覆的变化,仍然是一个混乱的战国时代,各智能平台的发展也如之前所预料。不过国内和国外的市场现状却开始出现明显的差异,这是一个很需要注意的问题。

  最近这一年以来,iPhone 在北美 在 欧洲,攻城拔寨,势如破竹。Windows mobile和symbian的空间都受其挤压,节节败退。尤其在美国,iPhone风头正劲。回过头来看国内,景象却有显著差异。经过与联通和移动漫长的谈判,09年11月份,iPhone在国内才终于携手联通正式上市。然而iPhone在国内的上市却远没有带来应有的震撼,阉割wifi,高昂的价格,以及联通不入流的宣传与营销能力也导致了现状的必然。iPhone在国外上市之初,其价格是制胜因素之一,比多数人预料的要便宜,然而在中国,它比多数人预料的要贵。所以联通改口称iPhone是其高端战略,也许联通真是这样想的。但是我还是坚持我之前的想法,做平台,做系统,一定要面对大众,而不是小众群体,没有足够的量就不会吸引足够的开发者为他做足够的应用,没有足够的应用,一个空壳的系统,有何意义,如何成长? 我所结识到的iPhone开发者,大多是面向国外用户做程序,虽然iPhone在国内正式上市了,带在赚钱目的的开发者们却很难把目光聚焦在国内iPhone市场,为什么?没有规模,没有市场。只有UCWEB、QQ这些暂不缺钱的主,带着试水目的才做得起这些事。所以,iPhone在国内要真正繁盛起来恐怕还要相当一段时间。最起码,两年之内,国内终端市场的老大哥仍然是symbian不会改变。

  都知道瘦死的骆驼比马大,正走下坡路的symbain在国内还能强盛上一段时间。不过正好和iPhone在国外的境遇相反,symbian在美国市场的下滑速度高于国内,在欧洲的情况我不了解准确的数据,但从诺基亚的企业状况预料,恐怕比在美国也好不了太多。其实,一直以来我都不觉得symbian是一款优秀的系统,哪怕在它最强盛的时期,它能拿下全球销量的头把交椅恐怕更多的是依靠优良的做工与过硬的质量,再加之不争气的windows mobile与linux的衬托才更显诺基亚的精良。但随着iPhone与android的出现,诺基亚终于棋逢对手,招架得措手不及。看近两年来诺基亚慌乱之中的种种策略,能明显的感受出那种船大难掉头,却不得不掉头,最后因行动缓慢而不得不被超越的无奈。诺基亚先后开放symbian源码、推广v5触屏手机、模仿AppStore推出手机软件商店、各款手机频繁降价、推广QT... ...  动作不少,效果却不甚明显。symbian系统本身的劣势靠开发源码似乎并不解决问题,symbian的开发者们应该是最清楚symbian开发的痛楚了。至于触屏手机则是明显缺少经验,用过5800之后感受明显,针对触屏手机应有的细节考虑有不少欠缺。虽然5800在很多销售榜上位列榜首,但我从更多用户那里找到的选择5800的理由却是它便宜的价格,高性价比的硬件配置,并没有太多人在关注symbian的v5系统。诺基亚在依靠降价策略在维护者诺基亚的市场占有率,09年诺基亚利润的大幅下滑也是与此有关。要不要对symbian一如既往的坚持,对这个问题的看法在诺基亚的内部也是有所变化,Mameo的推出就是征兆。我个人的看法是,与其再独搞一个Mameo还不如加入Android的阵营,诺基亚的强项在硬件,不管搞symbian还是搞Mameo,诺基亚优势不明显,却又徒增成本。

  说完symbian,再看看Android。Google的大旗一挥,Android的汹涌潮水势必来袭,G1到G3,再到moto依靠Android的利润回暖,越来越多的厂商把Android当作宝贝。不得不佩服Google的号召力,其实Android刚出之时从质量来讲,与iPhone相比并不在一个等级,但这个不重要,所谓众人拾柴火焰高,如此多人的支持,Android的进步速度也算是快了,对比下G3和G1,细节问题上的进步非常明显。照此发展,1,2年后的Android必会更加光彩。

  最后,还是要再说下windows mobile。一年多过去了,Windows mobile 7还是没有推出的时间表。只有联发科要引入WM的消息可以让人激动一下。在没有看到WM 7的面目之前,可以说WM是失败的,本来就不高的占有率还在下跌。联发科的WM系统也是没有推出时间表,WM的未来让人看得有点模糊,微软到底放了多少精力在WM上面。微软内部混乱的开发模式,部门与部门的利益纠葛也在消耗我们对微软的信心。其实WM在美国的情况似乎比国内还好一点,在国内,WM手机因为昂贵的价格一直都和大众市场比较绝缘,现在,他在高端市场的情况也在缩减。境况不佳,但微软毕竟是微软,在WM7和WM8推出之时,我们还可以最后期盼一下。

  windows mobile与symbian这些老式系统的下坡也正是iPhone与Android这些新兴产物起步之时,后浪拍前浪,技术的持续进步,受益的不但是商家 也是我们大众。不过我们最想看到的,恐怕还是在这些一波又一波的技术浪潮中能够看到真正有价值的中国人的创造。

posted @ 2010-02-07 16:30 猫咪 阅读(578) 评论(4) 编辑

转眼2010了,每个人都在感叹时间太快,岁月匆匆。 2009还没细细感觉也就过去了,

深圳新房的价格又番了一番,猫咪却依旧过着清贫的日子

posted @ 2010-01-03 16:09 猫咪 阅读(53) 评论(4) 编辑
摘要: 我对android了解不深,这次特地学习了两位专家 高焕堂 和 Jollen Chen 关于Android的课程,颇有收获。所以在这里记录下心得。先介绍下两位老师高焕堂:《UML+OOPC嵌入式C语言开发精讲》:《Android 应用软体架构设计》等书作者。从事IT行业近30年,被称为“台湾OO技术教父级代表人物”:近年来,专注于产业、企业及嵌入式产品的架构设计,被称为&l...阅读全文
posted @ 2009-12-26 22:40 猫咪 阅读(216) 评论(0) 编辑
摘要: 12月1日晚,腾讯终于在91平台发布了iPhone版QZone客户端。我想,这和之前facebook的iPhone客户端广受好评颇有关系。用了下,除了写日志,QZone的主要功能基本都有,不过腾讯还是很低调的将版本号定为 预览版1.0。我想也许预示后期会有更强势的版本推出。http://zx.sj.91.com/content/2009-12-01/20091201012057707.shtml#...阅读全文
posted @ 2009-12-02 09:17 猫咪 阅读(316) 评论(0) 编辑
摘要: 《C++大师Stan Lippman:我对中国程序员的忠告 》这篇采访中,Stan Lippman说的最后一句貌似道出了某些道理:“... ...当然我们需要好的管理人员,但是我觉得一名好的程序员比一名管理人员更有价值,因为我们有太多的优秀管理人才,但优秀的程序员却并不多。”而这句话正好和国内某公司的某高层管理者说讲过的一句话正好相反阅读全文
posted @ 2009-07-26 14:37 猫咪 阅读(698) 评论(5) 编辑
摘要: 如果你搞不清楚你的程序到底在哪里出错了,而且所掌握的一切调试手段都无效时,用分段排除法是最好的办法~阅读全文
posted @ 2009-07-14 20:29 猫咪 阅读(61) 评论(0) 编辑
摘要: 深圳靠近热带,按热带的季节划分,就没有了春夏秋冬,只有旱季和雨季。其实蛮好,这样夏天就挺凉爽,雨天出去走走,空气清新,很舒服阅读全文
posted @ 2009-07-05 18:35 猫咪 阅读(97) 评论(1) 编辑