Delphi 2011已經出來了,它被稱爲Delphi XE。它僅支持32位Windows,就像以前版本的Delphi一樣。 64位,OS X和Linux仍然在roadmap上。
在Delphi實際支持它之前,不可能說跨平臺的Windows和OS X有多容易。但是我們可以基於Kylix做一些猜測,Kylix是Delphi的不再使用的Linux版本。
Kylix引入了一個名爲CLX的新組件庫。 CLX與VCL非常相似,但不完全相同。 CLX適用於Windows和Linux。 VCL仍包含在僅限Windows的應用程序中。將VCL應用程序移植到CLX並不困難,至少如果所有第三方組件都支持CLX。最難的部分是直接移植您自己的代碼的那些稱爲Win32 API的部分。
有人做了什麼,包括我自己,是在Windows上使用VCL,在Linux上使用CLX。這使事情變得更加困難,因爲它需要兩套表單,一套用於Windows,另一套用於Linux。要做到這一點,你必須從表單中分離出儘可能多的非可視代碼。例如。您將TActionList放置在應用程序上由VCL和CLX版本共享的數據模塊上,然後使用單獨的VCL和CLX版本的表單提供使用操作列表的工具欄等。如果您將來考慮支持多種平臺,現在可以通過將盡可能多的代碼分離爲儘可能不與表單綁定的單元來進行準備。
由於Delphi旨在創建本機應用程序,因此您永遠不會像Java提供的那樣「編譯一次就運行」。相反,如果Embarcadero遵循他們的路線圖,我們將會「開發一次編譯許多地方」。
您使用的所有第三方組件仍由其公司維護。大多數已經與Kylix(即舊CLX)兼容。所以我猜想你的應用程序的Mac OS端口是可能的,當這些第三方供應商將完成遷移。 如果您使用其他第三方組件,它可能會更加困難。但你的選擇是正確的。在未來,選擇開源組件可能是一個好主意,因爲過去有些公司離開了德爾福業務,但沒有公佈源代碼。 – 2010-09-02 10:07:33
是的,我很幸運(考慮到選擇是在2001年)!我忘了提及ZipForge,並且那個仍然保留。 – LaBracca 2010-09-02 15:20:46