2011年01月26日 作者:景保玉
IT168:你目前从事 Symbian 平台的哪个版本开发?你认为 Symbian 近几年的发展变化对于开发者有哪些影响?有无帮助?这些变化体现在哪些方面?
Dandy Cheung: 我几乎算是从事所有移动终端平台的开发吧。Symbian 的近几年发展对于开发者的影响不大,因为它的发展几乎都是茫然无序的,试图搞好几个东西,却什么也没搞好。无论是 S60 上的 Java ME,还是 Flash Lite,甚至 S60 Python,都没有能够深入。开源事件是个闹剧,没有看清 Symbian 系统的症结所在,就贸然做了那样的一个举措,结果徒劳无功。
IT168:你认为 Symbian 的开源为什么没有像 Android 开源这样引起业界的追捧呢?
Dandy Cheung:这个问题的答案很简单。我原来写过一篇文章,其中说到 Symbian 平台的开放性不够。但是对于这样封闭的一个成熟度很高的系统来讲,开源并不能代表就开放了。开放是一种思想,是在系统设计的方方面面能够有意识无意识地预留出与其他部件、程序共同协作的余地。Symbian 的设计和实现都太僵化了。Android 引起追捧有个很重要的前提,由于它采用了 Linux 内核,使得许多公司的现有知识积累可以迅速转化为生产力;而 Symbian 则不同,它的内核是自有的,基于其上推出产品要投入大量的学习成本。再加上它作为应用开发平台,应用程序的构建环境(如集成开发环境和调试工具等)与新兴的系统也无法在便捷性上相抗,估计手机厂商也看到了这一点会导致 Symbian 平台上的应用发展速度会落后于 Android,所以才会出现这种局面。
IT168:应用时代的到来,你感觉 Symbian 能够跟上这一波浪潮吗?
Dandy Cheung:很难。不过事在人为,看 Nokia 的策略和投入力度了。我的《Symbian 因何没落》里曾帮助 Nokia有过一些改进措施的设想,你有兴趣可以参看一下。
IT168:你会继续坚守 Symbian 平台开发吗?你的理由是什么?
Dandy Cheung:目前还会,毕竟市场份额还占着很重要的一个比例呢。
IT168:你了解其他平台的开发吗?比如 Android 和 iOS,你感觉 Symbian 和其他平台在开发上有哪些差异?
Dandy Cheung:语法和代码惯用法相对于传统开发显得怪异,开发环境复杂臃肿,调试困难,API 稳定性较差。
IT168:你认为 Symbian^3 的发布对于 Symbian 平台来说有什么作用吗?
Dandy Cheung:有些作用吧。至少可以延缓开发商对 Symbian 平台抛弃的速度。
IT168:你对 meego 平台了解多吗?你可以从技术方面谈谈你对 meego 的看法吗?
Dandy Cheung:不很看好 Meego,从目前的很多迹象上看,Intel 和 Nokia 还远远不算配合紧密,迟迟不能推出具有竞争力的设备,无法吸引足够的开发者。
IT168:听说今后 UI 方面用 Qt 进行开发,这和之前有哪些区别呢?之前的 Symbian 开发都是用 Symbian C++ 开发,如何和 Qt 框架进行结合呢?
Dandy Cheung:在单一程序上,GUI 的选择只能是二选一,要么是老的 Avkon 框架,要么用 Qt。之前 Nokia 的规划里,Qt 最终将成为 Symbian 系统的唯一应用框架,后来取消了 ^3 ^4 这样的路线规划,同时也不再坚持 Qt 一定会完全取代 Avkon。目前 Qt 的接口还没有能够覆盖到整个系统的方方面面,所以 Symbian C++ 和 Qt 目前是互补关系。
IT168:你认为有了 Qt 开发框架之后,开发的效率会提高吗?体现在哪里?能举个简单的例子吗?
Dandy Cheung:Qt 在构建普通应用上速度确实会优于原来的程序框架,它在界面构建上更容易,而且有很多现成的特效可以使用。但如果和系统结合比较紧密的应用就不一定了,有的地方 Qt 还没有覆盖到。
IT168:诺基亚也有自己的 Ovi 应用商店,你会给这个商店开发自己的应用吗?
Dandy Cheung:我们公司在其上已经有多款产品。
IT168:有了 Qt 架构之后,开发的变化体现在哪些地方?可以从开发流程或者开发框架的变化解释一下吗?
Dandy Cheung:开发环境又发生了变化,QtCreator 成为比较重要的工具,但它和 Qt 仿真器都只能照顾到 Qt 相关的那部分内容。一旦应用中出现了和系统接触比较紧密的部分,还需要回到老的 Carbide.c++ 中来。虽然 Nokia 在宣称 QML 的方便性如何如何,但对于开发者来说,却是又多了一套需要去学习和了解的东西。这还没有说类库本身相关的学习。
IT168:Qt 框架如何和底层建立联系?新入门的开发者应该注意哪些地方呢?
Dandy Cheung:Qt 其实主要还是对底层机制的封装。新入门的开发者最需要注意的是,既要熟悉 Qt 的风格,也需要在一定程度上了解 Symbian C++ 的风格,因为底层的很多东西仍然是以 Symbian C++ 的方式在运作,尤其是活动对象模型。
IT168:你看好诺基亚应用商店吗?开发者的盈利如何?你会去做个人应用吗?
Dandy Cheung:不会,没有精力。个人开发者的盈利很难。
IT168:你认为 Symbian 平台仍然存在哪些优势?
Dandy Cheung:用户基数庞大,也积累了一些开发商。
IT168:据说 Symbian 现在的开发效率会有很大的提升,会降低开发者的效率,甚至开发者今后就不再关注 UI 层的实现,而是全心去做底层的逻辑实现,你如何看待这个问题呢?
Dandy Cheung:这应该只是个传说,至少部分是,了解一下历史上 Windows 平台的 WPF 就可以知道结果了。该做的工作,总还是得做的。
后注:经编辑后,与我的原文有所出入。