小议手机软件平台开发(3) - 模块化

来源:互联网 发布:php企业建站系统 编辑:程序博客网 时间:2024/05/17 00:04
一个手机软件平台开发是一个大工程,包含底层驱动、类库,还有上层的基本应用,必定要分成很多个模块来分别开发,我参与过得两个平台都有几十个模块。需要模块化是常识,但是怎么样模块化就是需要功力了。

模块化首先需要分级别,这样易于管理,比如,操作系统级的模块是UI类库的基础,UI类库上层需要UI的应用的基础,这样可以比较合理的把模块分为3个级别。在管理上,每个级别的release都要把关,不然,会给依赖它的上层级别模块带来不必要的麻烦。

模块间的通讯也是一个问题,尤其是应用级别的模块间通讯。Windows Mobile可以使用com和.net方便的实现IPC,Linux操作系统本身缺乏标准化的IPC机制,基于Linux的QtE和GTK提供了IPC机制,但是感觉还是很有限,QtE的QCopChannel只能异步通讯,不能同步,GTK支持CORBA,但是还没听说在嵌入式设备上采用CORBA的,而且GTK2.x之后性能决定其不大适用于嵌入式。Symbian的工作机制不大了解,不知道有没有成熟方便的IPC。

我个人不同意用shared libray的方式解决IPC,这样dependent关系太直接。作为平台,应该建立一种应用见通讯(包括同步和异步)机制,不然,项目变大之后,这样的互相依赖变成网状,很难控制。




原创粉丝点击