大家期待的5月份 Google I/O 开发者大会 Android 3.1 冰激凌圣代(Ice Cream Sundae)和六月苹果的 iOS 5又将掀起智能手机的新浪潮,但是从最近 PlayBook 的***轮评测来看,真正重要的也许不是你设备的硬件有多强悍,而是支持你系统的各种应用。这也就是开发者们所要关注的。
截止目前,苹果的 App Store 和 Android 的 Market 两大应用商店的应用数量分别已突破35万和25万,但应用数量的增长是否意味着这两大系统平台得到了应用开发者的认可?或者说这两大系统的架构真的有利于开发者快速便捷的开发出好的应用软件?
这里有两封来自国外应用开发者的信,分别写给苹果的乔布斯和福斯托以及谷歌的佩奇和罗宾,我简单的翻译一下,供大家参考:
写给 史蒂夫•乔布斯 和 斯科特•福斯托 的信
Steve Jobs (and Scott Forstall)
One Infinite Loop
Cupertino, CA
USA 95014
亲爱的史蒂夫:
请给我们垃圾回收机制(Garbage Collection),我知道这并不辉煌,我知道用户是看不出哪里有区别的(除非应用程序崩溃,或者他们费劲儿升级的时候),但是这却与 iOS 的 SDK密切相关,包括编辑器,库还有Objective-C。它们本身是很棒的,它的内存管理是从上世纪80年代就有的。最近一同事在谈到他***次看到 iOS 发展的时候骄傲的说:“等一下,十年后会是什么样?”那感觉就像开着一辆刹车由拉达(Lada)制造的法拉利。
内存管理机制,浅显的说,就是一个设备在它的应用程序无限的虚拟内存需求中分享自己有限的物理内存。每个现代的开发环境都有一种自助服务-那个干最多粗活的“垃圾回收机制”,但仍然会遇到存储问题,相信我,但至少目前你不必刻意去分配和释放你想使用的每块内存,免得引出既难发现又难修复的 Bug。
有些人称垃圾回收机制是为了弱者而不是 Apple,OS X 已经有这个很多年了。也有另一些认为,在有限资源的移动设备上那是无法工作的,或者说至少在 Android 和 WebOS 出现之前。因为 Android 和 WebOS 从产生时就实现了垃圾回收。
这或许有点儿像多任务操作的的争论。在2009年,人们就问:“为什么 iPhone 不能像 Android那样多任务操作?”果粉们就辩解说多任务不好,是恶魔!到2010年,苹果宣布:“ iOS 4.0支持多任务!”果粉们又说我们一直喜欢多任务!当然,真正的纯粹者还是会指出那时的iOS并不像 Android一样有着真正的多任务。
亲爱的史蒂夫,请给我们像 Android 一样真正的多任务操作。
亲爱的史蒂夫,请尽可能在非Mac的其他计算机上实现 iOS 应用的开发。不仅仅为我自己,也为了你,因为在接下来的十年里会有三十亿发展中国家的人民购买智能手机,他们想要那些与他们文化和生活方式贴近的应用软件,即那些来自他们文化和生活方式中的人们开发的应用。而且,如果你是一个来自贫穷但新兴的市场环境中的开发者,你愿意花200美元开始写Android 的应用,还是为了开发iOS应用花1000美元,而那仅仅是个开始。实际上,这个问题我已经说了很多年,但是您却从未听取过,史蒂夫。这真是一个遗憾,因为我也希望你精巧高贵的 OS/SDK 也能在世界剩余的那部分取得胜利。
那也就是说,我对您全球称霸的做法表示怀疑。
亲爱的史蒂夫,
我真的是不想抱怨App Store,但是发布一个Android应用只需要5分钟,在这里却花费了5天。但是如果因为企业文化的不同,我也是能够尊重的(如果您能缩减到1天那也是很不错的)
您那深锁的封闭系统,开发人员几乎根本触碰不到,但您能开放例如蓝牙的部分功能吗?要知道蓝牙在被控制的情况下用于游戏是多么酷的。但是摆在首位的问题是,让我们用蓝牙给其他设备传输数据如何?
Thanks in advance,
Jon.
PS I’d really settle for just the garbage collection.#p#
写给 拉里•佩奇 和 安迪•罗宾 的信
Larry Page (and Andy Rubin)
1600 Amphitheatre Parkway
Mountain View, CA
USA 94043
亲爱的 拉里,
我们需要谈谈。
不要误会我,总体来说我爱Android胜过 iOS。诚然,我们得用Java去写你的应用,虽然那不是我喜欢的语言。相对于苹果给我们的那成熟封闭的开发环境,包括debugger等等在内的开发工具是非常粗糙的。我可以忍受那些怪异,尽管如此,对于开发者最重要的也是开发者梦想着的环境应该是—强大,灵活和开放的。
但是我们需要讨论一下分裂问题。
设备的参差不齐真的糟糕透了。开发出在不同屏幕分辨率的手机下都能顺畅运行的Android应用是件很好的事,却令开发者苦恼不堪。Android 的UI实现已经成为了一种混乱和复杂的 Voodoo。这就是为什么有很少的应用能在Android手机上运行的和iPhone一样的流畅。从无法完全贴合在一起的乐高积木中,是出不来艺术品的。而这种情况可能要变得更糟,如果 Android 3.1 同时支持手机,平板甚至TV。所以,
亲爱的 拉里,
请让开发出有吸引力和受欢迎的Android应用变得简单。是的,如果您跳过一百个圈那在今天是可能的,但是如果把数字削减到10个呢?
相对于真正的分裂问题,这只是个小抱怨。我指的是开放系统,还有运营商。
当苹果发布新的操作系统,它的每一个苹果设备都可以立即得到支持。为什么Android不能那样?因为有运营商在前面挡着。他们给设备加载有刺激性却无用的东西,用他们自己的劣势版本替换掉重要的原生架构(残缺的蓝牙协议栈等),而且永远在新设备中使用新系统
运营商为何要这样做?就像塔利班一样,他们讨厌我们的自由。因此,通过他们自己的平台版本分布图,33%的Android仍然运行着Android 2.1(15个月前发布的)或者更老的系统版本。所以,我们开发者仍然不情愿去写带有Android 2.2 新功能的应用,更没想过2.3或者3.1。这对我们不好,对您也不好。
Dear Larry,
Please set your people free.
Thanks in advance,
Jon.
PS You totally should have gone with that unlocked $99 Nexus One plan.
【编辑推荐】