|
|
1
4
可视化组件开发人员的视角: 向代码中添加功能级别,以便能够在不更改组件“核心”的情况下添加另一个平台。 编译器有望有一个平台切换。(最好不止一个,相互配合工作。例如Windows/ARM、Windows/386、OSX/Cacao/386、Linux/Gnome/386)。 布局结构可能是这样的。
作为一名应用程序开发人员: 首先,我将把代码中的所有WIN API调用移动到Windows目录中的一组库中,以便能够在库级别对其进行IFDEF,并在编译器可用时将其转换为我希望支持的另一个平台,但只有在遇到它们时才可以。) 这也增加了为新平台添加适配器的可能性。 在任何情况下,将可能的依赖项移到中心位置都是一种良好的做法。 |
|
|
2
4
依我看,你无法构建一个xplatform Delphi并确保当前VCL应用程序的平稳过渡。这行不通。VCL(幸运的是,因为它允许伟大的应用程序)是在考虑Windows的情况下设计的,而试图设计一个在不同平台上工作的兼容库只会意味着更长的开发周期和许多妥协。结果将是一个无人愿意使用的图书馆。看看VCL发生了什么。NET:这是一个错误的选择。它在同一个操作系统上工作! 我们知道,针对非Windows平台 出生地的 应用程序需要一个本地GUI库。我们不在乎从头开始创建GUI,对于我们的应用程序来说,这是一条必经之路,我们不需要Windows GUI及其在不同操作系统下的所有标准,使用不同的标准——我们需要能够为目标操作系统编写一个完全本机的GUI。 其他应用程序可能会通过GUI移植存活下来,但从长远来看,你不会得到一个真正的xplatform工具——你会得到一个可以为其他平台编译的工具,但会将一个平台范例带到其他平台——而且它也不会受到其他平台上“本地”开发人员的欢迎。如果你是Linux或Mac开发人员,为什么要学习如何使用一个将Windows继承到你的平台的库?如果Embarcadero想在实际开发人员之外销售XDelphi,它必须提供远不止一个新的CLX。 |
|
|
3
4
我将借鉴一些古老的经验,使windows和dos(Delphi 1/Turbo Pascal 7)之间的代码库可以交叉编译。经验法则是将代码分成多个单元。尝试在不使用窗口、消息或任何可视组件的情况下编写代码。如果您发现需要对其中一个进行调用,那么将该调用放在另一个单元中,并编写一个代理(您从中派生的抽象类工作得很好)来通过它分派调用。当发布了一个交叉兼容的版本时,您需要做的就是为代理的另一端编写新目标的代码。 如果你正在设计一个基于表单的系统,那么尽量多地使用标准组件。不要在事件中直接实现任何“业务”规则,而是将它们放在另一个单元中,并调用另一个单元来执行逻辑。 现在,为了让最终的项目交叉兼容,肯定需要进行一些更改,但是通过遵循这些简单的模式,您应该能够大大减少所需的工作量。 |
|
|
4
3
迄今为止的经验表明,让Delphi应用程序与未来版本兼容的最佳方法是坚持使用纯Delphi组件,不使用任何第三方组件。这样的应用可能会很糟糕,但在我看来就是这样。我使用了很多第三方组件,这些应用程序很棒,也很成功。但是,他们走向未来的可能性也不确定,这可能会导致这样的变化出现问题,但我宁愿现在有一个好的应用程序并有问题,也不愿现在有一个糟糕的应用程序而不需要担心它。 |
|
|
5
1
为了使VCL与Linux和Mac兼容,不应该做太多妥协。Windows是VCL的根。我更喜欢一个新的、非常干净的GUI框架,即使没有任何向后兼容性。让VCL越来越胖不是个好主意! |
|
|
6
1
好吧,看看 freepascal 和 lazarus |
|
|
7
1
我不明白。全部的NET在我看来是一样的,只要我们不使用任何第三方。 使用标准控件的Delphi已经功能齐全了,但你的应用程序看起来 就像成千上万的人一样。 我认为Embar应该选择PDA、IPhone和安卓,因为Windows桌面已经在大肆扩张 98%的市场份额。 Mac电脑很贵,而Linux则一点也不贵。Mac和Linux没有用。不值 投资。 |
|
|
8
0
好吧,撇开这些话不谈——谢谢大家——我确实认为我们需要一些 附加的 东西:
|
|
|
9
0
只需选择最新的4.6QT,并在Pascal和QT库之间添加良好的集成。 他们以前做过(在Kylix时报)。如今QT功能非常强大。 我相信QT甚至比VCL更好,更新和修复的频率至少是VCL的10倍。 所以计划很简单:
在所有平台上,您都将拥有一流的本地应用程序。 |
|
|
10
0
我的意见是:
对不起,我的英语不是母语(俄语)! |
|
|
11
-1
这是个问题吗? |
|
zeus · 如何在调整数组大小后保持指向动态数组的指针有效? 1 年前 |
|
|
SignalOne · 德尔福(FMX)循环参考 1 年前 |
|
|
Sascha Ott · 如何从线程调用线程的方法? 2 年前 |
|
|
user1580348 · 问题:如何在上次最小化后还原应用程序? 2 年前 |
|
tua · Delphi的TLinkLabel坏了吗? 2 年前 |
|
|
Frank.Wu · delphi:RGB到HSL不正确 2 年前 |