2009-09-03 115 views
2

我即將寫一個小的桌面應用程序,主要應該在Windows和Mac OS X上運行。我迄今爲止的選擇是:開發平臺的Windows和OS X桌面應用程序的首選

  • 我通常使用Java + Swing的這種類型的東西,但這個程序應該是真的很小(約1MB),我不希望在嵌入〜26MB JRE Windows版本或要求用戶安裝它。
  • 我有一個Flex和AIR和這個程序將最終使用Flash播放器(大部分時間的應用程序將輸出的SWF文件)的用戶良好的體驗。但是,性能很重要(有點兒),我想寫一個具有本地外觀的應用程序。
  • 我一直在考慮realBasic。看起來很有前途,很容易開始。但是,我真的不想寫基本的。自從我編寫基礎程序(大約10年)以來,這已經很長時間了。另外,我找不到很多支持者。

我沒有在C/C++的任何工作經驗。這是一個我想在一個月內完成的非常小的項目。有什麼建議麼?

回答

5

REALbasic可以成爲創建跨平臺應用程序的好方法。該語言完全面向對象,與Java相比,它遠遠超過您可能使用的任何BASIC版本。

REALbasic的編譯本地應用程序與本機的外觀和感覺,但可執行文件不小。即使是一個空的應用程序將超過1MB。

但是,鑑於您的應用程序將輸出Flash文件,Flex/AIR似乎對此項目最有意義。

0

JRE在您的基於Windows的目標用戶中真的很罕見嗎?我相當肯定大多數製造商現在都會在他們的機器上發佈最新版本的Java。如果很少,那麼使用SWT並編譯爲本機可能是一個選項¹。

¹ - SWT的(據我所知)編譯搖擺的東西基本上本土意味着你需要整個JRE。我失敗的記憶告訴我,這是由於一些奇怪的許可證要求。

+1

SWT不涉及編譯AFAIK - SWT是另一個使用本地OS調用來繪製小部件的widgeting庫(不像swing,它使用awt等模仿本機小部件外觀的繪圖API)。它的速度更快,看起來更加原生。 – Chii 2009-09-03 13:29:26

+0

我的意思是將應用程序編譯爲本機以避免包含JRE。我建議使用SWT的原因是(最後我檢查了),如果你編譯爲native,但包含Swing,那麼你還必須包含完整的JRE(這是我們想要避免的)。如果我們離開Swing,那麼我們只能包含應用程序實際需要的JRE位。 使用SWT也可以讓你使用GCJ。 – 2009-09-03 14:29:03

+0

http://www.javalobby.org/java/forums/t19231.html#91837038 回覆9 - *問題是Sun JRE許可證不允許部分redsitribution,因此您必須將其包含在您的編譯應用程序中,即使其中大部分都不會被使用。 * – 2009-09-03 14:31:47

0

網絡應用程序對您有多好?目前,瀏覽器的圖形用戶界面(GUI)功能足以滿足絕大多數情況(如果瀏覽器不是IE),除了高清晰度實時圖形(如遊戲)以外。像http://labs.mozilla.com/prism/這樣的東西可能符合法案?

+0

恐怕用戶會毫不猶豫地上傳他們在線工作的文件。但我仍在考慮這個選項。如果我使用Flex/AIR,我可能會提供一個在線(瀏覽器內)版本。 – Ammar 2009-09-03 13:38:48

+0

當我說web-app時,你誤解了我的意思:一個web應用程序不需要託管在遠程服務器上 - 它可以是本地服務器,運行在客戶機上。 GUI基於HTML,用戶通過瀏覽器訪問它。 – Chii 2009-09-04 14:09:39

+0

這不是棱鏡如何工作。 – Ammar 2009-09-05 20:58:14

4

我要說棒與Java + Swing的,不像相反的信念,你可以有使用擺動非常好看的節目。你需要付出一些努力來設置一些屬性,並確定你創建文件的位置取決於你的操作系統,但是它比C++或C要少得多。即使你什麼都不做,你的應用程序看起來也是一樣的,並且工作起來在所有主要的操作系統上(Linux,Windows,Mac OS X)。

對於一些參考結賬mac-widgets這些沒有從供給同行OS X不同。這個人還有一個博客,他解釋了他是如何做到的。在Java中,你可以覆蓋任何東西,將它塑造成你想要的樣子。

至於JRE安裝os x預安裝java沒有問題,你可以使用exe包裝,並檢查正確的JRE併爲你安裝它,但是因爲它已經指出大多數計算機有java預安裝。

+0

適用於mac-widgets的+1。 – 2009-09-05 21:39:05

1

如果你想運行在Windows和OS X容易一個代碼庫,你基本上有兩種選擇:

  • 的Java
  • Web應用程序。

我對Java路徑的好經驗。程序運行良好,並且在Swing GUI中有很多功能(但需要一些習慣)。如果您使用Java Web Start啓動您可以控制部署,則可以輕鬆提示用戶下載JRE(最新版本是一個更小的下載),並且您可以選擇Nimbus外觀(我認爲是真的很好),或者在主要方法中使用單一行的平臺特定外觀。

我看到它唯一的缺點就是JRE的下載。我會接受並繼續進行該項目:)如果沒有大量的手肘潤滑脂,您將無法獲得更好的結果。

+0

這些不是IMO的唯一選擇。幾種腳本語言跨平臺工作。以Tcl/Tk爲例,您可以在Tcl中編寫應用程序,並將其與特定於平臺的運行時相結合,爲每個目標平臺創建單個文件可執行文件。 – 2010-03-01 02:02:03

相關問題