在所有关于 Delphi 团队致力于跨平台开发的讨论中,不断出现的一种情绪是,“我希望他们这次做得对,而不是像 Kylix 那样。”当 Kylix 出现时,我并没有真正注意到它,因为当时的 Linux 还没有现在那么成熟,而且它也不是我感兴趣的操作系统。所以现在它又开始成为一个问题了,我发现自己在想,Kylix 做错了什么,CodeGear 这次如何做得更好?
最佳答案
至于 CodeGear 这次可以在哪些方面做得更好:
需要一种更抽象的方式来在对话框中布置控件,而不是 VCL 现在使用的基于像素的东西。这在已经具有高 DPI 设置或非标准字体的 Windows 上会崩溃,对于多平台程序来说情况会更糟。以 sizer classes in wxWidgets 为例,或 GTK、Java 或 QT 中的布局类/管理器 - 它们在更改字体或控件大小方面都做得更好。另一个优点是,这可以透明地处理控件中较短或较长的翻译文本。
使库仅使用 Unicode。理想情况下,会有一个特殊的字符串类,在 Windows 内部使用 UCS-16,但在 Linux 和 Mac OS X 上使用 UTF-8。程序应该能够使用平台 native Unicode 编码,而不是被迫进行转换每个文件系统访问或屏幕输出。但也许他们已经在 Delphi 2009 的 Unicode 字符串更改中失败了。
GUI 应在所有平台上使用 native 控件,以获得正确的外观和感觉。这将是 Windows 上的标准控件、Mac 上的 Cocoa 和 Linux 上的标准控件,理想情况下应该使用 GTK 或 QT,具体取决于桌面是 GNOME 还是 KDE。
远程调试器需要成为一流的工具,而不是像现在这样充满错误和半隐藏的东西。不同平台的开发通常在虚拟机中进行,有时只能远程访问机器。
关于delphi - 凯利克斯做错了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/811605/