将"Delphi" 用于嵌入式GUI程序开发的设想(100分)

C

cheka

Unregistered / Unconfirmed
GUEST, unregistred user!

这个标题不是很准确,因为Delphi 只是Windows下的工具,而通常嵌入式的开发都
是基于Linux平台,那么Kylix可行么?
目前不行,原因有二:
1. Kylix 的目标CPU只有一种,就是X86系列,还有将来的Intel 的64位机,而嵌入式
系统则可以运行在X86,MIPS系列,还有motorola的68K(龙珠系列)上,相对来说
,Kylix的支持面太窄。
2. Kylix 的CLX 建立在QT 库上,而QT库只能进行传统的X Window 开发,而庞大的X
Window 又实在是嵌入式系统无法承受之重,虽然现在有了QT/Embedded 版本,但
是毛病仍然不少。
那么,什么样的GUI系统才适合嵌入式开发呢,一句话:小而美。有几个Open
Source 的项目都在为这个目标努力,我个人更喜欢国内魏永明先生主持的MiniGUI
,这是一个非常轻量级的GUI 平台,而且其具有许多Win32的特征,如窗口句柄
,消息循环等,Windows程序员在上面做开发会比较顺手,另外,MiniGUI的可移
植性很好,这得益于其GAL 和 IAL 架构( 详情可参考 www.minigui.org ),并且MiniGUI
已经实际投入使用。
我最初的想法是将Kylix中 CLX 有关GUI的核心部分用 MiniGUI的API 改写,我们知道
CLX和VCL一脉相承,基本上是 TWinControl <------ TControl <------ TComponent,基本上
和系统GUI函数( 包括窗口函数注册,消息响应 )打交道的类浓缩在TWinControl
和 TControl 这两层, 如果能将CLX 和QT 的接口替换为和MiniGUI的接口,那么是
否就达到目的了呢。
不是的,因为即使这样也仅仅解决了Kylix 的第二个局限性,而开发出的程序仅仅
能运行在X86上,其他CPU连 Kylix 自己都跑不起来,勿论用其开发的产品。
于是我想到了lazarus, 大富翁里的朋友应该记得 Kylix 出世前不少人都将linux 下的
类Delphi希望放在名为Lazarus 的 open source project上,Lazarus 的开发度还算不错,
虽然离克隆 Delphi还有不少距离,但仅仅就GUI开发方面而言对嵌入式系统已经
足够。而且Lazarus 的编译器是Free Pascal, 其支持的CPU 有 X86 和 68K 。
现在目标基本明确,就是对 Lazarus 的LCL 库进行类似上述的改写,达到可以可
视化开发嵌入式程序的目的。
所写仅仅是一个构想,我感觉理论上是可行的,但是实际操作起来必定还有很
大难度,我在 linux 和嵌入式开发方面都不是熟手,后者仅仅从事过一些辅助性
工作。也许这篇文章中许多想法很幼稚,希望高手不吝指出,如果哪些朋友对
此感兴趣,不妨一起探讨一下,也许能开个project.

附参考URL:
www.minigui.org
www.lazarus.freepascal.org
www.freepascal.org



 
W

weihang

Unregistered / Unconfirmed
GUEST, unregistred user!
在linux我宁可用c
 
T

Tense

Unregistered / Unconfirmed
GUEST, unregistred user!
L

lentilz

Unregistered / Unconfirmed
GUEST, unregistred user!
用Java吧
 
D

deadcandance

Unregistered / Unconfirmed
GUEST, unregistred user!
这是一个方向。
但是嵌入式系统开发考虑的是编译后可执行程序的大小。所以一般直接用API。如果在API上
再封装一层,不知道最后的程序会有多大,能不能满足要求。这可能也是要考虑的问题。
 

吕雪松

Unregistered / Unconfirmed
GUEST, unregistred user!
我们用gnu c
 
C

cheka

Unregistered / Unconfirmed
GUEST, unregistred user!
接受答案了.
 
顶部