Zh/Uno/FAQ

From Apache OpenOffice Wiki
< Zh
Revision as of 06:35, 18 September 2007 by Zhangxiaofei (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

关于Uno, UDK, URE等相关的常见问题。基于在dev@udk.openoffice.org邮件列表中提出的问题与回答。如果您有任何评论或问题,在那里提出同样可以得到答复。

普遍问题

嘿,OpenOffice.org的组件技术真棒。我怎样才能参与进来?

好极了,我们永远欢迎您。关于帮助的切入点请参阅 开放任务列表。如果你对于其中的任何任务有任何疑问请不要犹豫提出来。把它发到dev@udk.openoffice.org.

UNO依赖于OpenOffice.org吗?

不久的将来,在OpenOffice.org的安装包之外将会有一个办公软件开发工具包(Office Development Kit)可供下载,这个开发工具包包含编译组件所需要的所有文件(头文件,库,工具软件,等等)。开发工具包也将包含示例。这些示例的makefile只需要有gnumake就可以编译(而不需要整个OpenOffice.org编译环境)。可以用这些makefile作为模板来把你的UNO组件集成到你的编译环境里。

UNO是不是和微软的COM技术类似?

是的,UNO可以看作完全独立于办公软件本身的组件模型。它与COM是直接的竞争关系,您可以在这里找到它所具有特性的列表。

什么是ODK?

办公软件开发工具包(ODK)在UDK的基础上增加了文档,API(更多IDL文件),以及示例。UDK是ODK的一个子集。如果你想要扩展OpenOffice.org的功能,或用OpenOffice.org制作解决方案,ODK将适合您的需要。UDK是一个独立的对象模型,可以脱离OpenOffice.org单独使用。在向Gnome以及XPCOM中集成,以达到统一开源对象模型(Open Source Object Model)的长期目标的过程中,UDK将是主要的讨论对象。未来,应该可以编写依赖于ODK的组件和独立于OpenOffice.org的组件。 办公软件开发工具包使软件工程师可以不需要笨重的OpenOffice.org编译环境就可以为OpenOffice.org开发组件。因此,ODK包含基本(以及重要的)库的二进制文件,C++头文件,所有的idl文件,.jar文件以及开发工具(代码生成器,组件注册工具,等等)。ODK还将包含一些源码与makefile,只要有gnumake和一个C++编译器就可以编译,你可以用这些makefile作为例子集成到你的编译环境里。未来,随每个版本的OpenOffice.org都会提供开发工具包并可以独立下载

你们为什么不用Java或CORBA做中间件?

我们需要的中间件可以用于细粒度组件,至少是进程内组件。在同一种语言中使用不同的UNO组件是不应当有开销的(例如,在C++中只是调用一个虚函数)。不幸的是,目前CORBA没有线程内组件的接口与结构的设计。唯一的通信方法是通过IIOP协议。对于进程内通信,这种开销实在太大。我们想要语言无关,让UNO作为像Java,C++,C和其它不同语言间的中介,这并不是CORBA的目标。UNO的另一个目标是成为像COM/DCOM,CORBA,Java和XPCOM这些不同对象模型间的中介,这也不是其它对象模型所具有的目标。

UNO和CORBA间有什么不同点?

UNO不生成桩代码(stub code)。在过去的UNO2实现中我们是生成的。那时的一个问题是,生成的桩代码非常大(尽管当时的API类型比现在还要少,大概也有12MB!)在UNO3(现在的版本)中,我们决定泛型地调用具体实现部分。给C++生成的,除去纯虚类只有用来返回类型的getCppuType()函数。完整的类型描述是在运行时从一个二进制仓库中读取的。在类型数量增加的情况下,这种方法具有空间开销小的优点。如果想了解UNO和CORBA间的更多不同点,请参考以下对比

UNO IDL和CORBA IDL间有什么不同点?

UNO IDL具有:

  • 结构与异常的继承关系

我能把OpenOffice.org组件当作Java Beans使用吗?

开发相关问题

文档相关问题

Personal tools