最近在研究移动平台的软件开发,同时在 IOS,ANDROID,和Windows Phone三个平台上工作。有对比,才能知好坏,以前用ANDROID还不觉得,有了对比感受突然变得强烈起来。
说实在的,移动平台采用JAVA是个很烂的设计,ANDROID体现的非常明显。开发的时候运行模拟器,ECLISPE的运行效率确实比APPLE的XCODE和微软的VS2010差距明显。
感受最强烈的是环境配置上面,说实话,不知道GOOGLE的设计师是如何想的,GOOGLE提供的环境配置方式可以说让人无法忍受。网站上明明提供了的ADT的离线安装包,但是一个才12.8M的离线安装包,安装的时候,居然还要联网去检查依赖,检查依赖也就算了,居然速度慢的无以复加!慢就算了,检查依赖也就算了,依赖检查过之后,才开始正式安装,居然慢的无以复加,感觉完全不是离线安装,而是在线安装。最后只能强制拔掉网线,让速度才快一点。或许这个账不应该算在GOOGLE头上,而应该算在ECLIPSE上面。
不过SDK的安装绝对应该记在GOOGLE头上了,网上下载的30多M的SDK只是一个安装包,其实里面一个ANDROID平台都没有。GOOGLE提供了SDK的下载,但是没有提供平台下载,平台安装需要启动SDK管理程序去在线下载,又是要命的在线!!这些推崇在线模式的人难道都不知道到世界上的网络有些会断,有些不稳定,还有些会被屏蔽的吗?为什么不直接提供一个离线包下载,大家用下载工具慢慢拖下来,然后快速安装呢。非要去在线!对于我们国家的用户来说,在线真的非常的不方便啊!
从这些人性化的考虑可以看出,GOOGLE在软件设计,用户体验方面距离微软和APPLE还有很大的差距!所以GOOGLE在软件设计方面貌似并没有成功的案例,也可以理解了。ANDROID看似成功,但是却有很多问题,GOOGLE曾经发行过手机,也很快失败。我目前对ANDROID也不看好,看似免费,热门。但是缺乏持续发展的动力。产品的价值获利方式也不明朗。一个产品,如果没法获利,是肯定不会长久的。加上GOOGLE软件设计方面,人性化方面的明显缺乏考虑,导致了很难和微软和APPLE竞争。
我反而比较看好WINDOWS PHONE和WIN8,我认为这是下一个APPLE的强劲对手,如果你去了解过微软的方案,可以看出设计的真的非常好,并不逊色给苹果。目前差距就是在软件生态圈上,就系统本身而言,和苹果相比,有过之而无不及。相比ANDROID而言,个人觉得完全超越。
顺便说说JAVA,我对流行的语言基本都有所涉猎。我对JAVA的定位非常明确,WEB APPLICATION,JAVAEE,就是JAVA的主战场,除此之外,JAVA基本都不是好的选择。APPLE人家把C语言都做到了JAVA的程度(Objective -c+Foundation+ARC),所以苹果的IOS表现优秀,我想和采用OBJC也有关系吧。至少效率胜过JAVA。而微软采用的的Window phone的开发方式早就进入了Metro方式,采用XAML安排表现层,采用.net支持模型层和控制层。和苹果的模式完全是异曲同工,接触多个平台,你最后会发现设计思想都是统一的,不变的,好的思想,在不同平台上会以不同的名字出现,但是其实大同小异。苹果本质也是这种方式,采用NIB进行表现层的表示,采用OBJC进行模型层和控制层的实现。强大的Foundation提供了类似JAVA的类库,而且具有JAVA一样的垃圾回收或者说自动释放机制,简单的说就是完全吸取了好的方面,而避免了JAVA虚拟机方式的效率低下!其实我一直对编程就是希望不要出现那么多的语言,只需要一种就可以了。C就足够了。有了新的思想,可以扩充C啊,要面向对象,那扩冲为C++啊或者OBJC啊。要安全管理,一样可以提供垃圾回收啊,这种思想并不是某种语言特有啊。程序设计的核心是问题本身的实现和解决方式,语言只是一个符号,完全是次要的,既然如此,何必让程序员花那么多的时间,学那么多的语言?当然我知道我的想法,在商业的充满竞争的社会,有些一厢情愿,大家都会推出自己的语言,并且希望所有的人都用他。
这种思想和我的想法吻合的最好是的苹果,所以一接触苹果的编程,我就爱上了苹果。苹果整个体系非常简练,语言一种就够了,C全部搞定所有的事情,面向对象那么你可以扩充下OBJC,你要用C++,也可以,他也支持。除此之外,就不需要学习其他任何语言了。从驱动开发,到高级应用开发,统统都行。手机开发模式和MAC PC上面的开发几乎没什么区别。只是IOS上面是个更小的集合而已。而且一个XCODE包含了你所需要的一切。相比微软的VS大杂烩,苹果显得更加清爽一些。微软做的非常不错的,实事求是的评价的话。但是微软东西太多太杂,而且太多太杂很多是不必要的,比如VB和F#,C#其实一种就够了,何必搞那么多。搞的找WINDOWS程序员的时候还得问问对方用什么语言,否则,团队合作的时候总感觉有隔膜。
相比较而言,GOOGLE完全还停留在游击队的ECLIPSE插件水平。完全没法和微软和苹果相提并论了,当然我这里比较的是在集成开发工具和支持方面。GOOGLE在搜索等互联网业务方面,还是具有他的绝对优势的。
回头看看,这是一篇典型的杂文啊,拉拉杂杂的,不直到想表达什么。其实我就是今天安装Android SDK的时候觉得在线方式很烦心,所以有感而发,如此而已。