簡體   English   中英

如果Java“隨處可見”,為什么Windows會有eclipse / netbeans版本

[英]Why there's a eclipse/netbeans version for Windows if java “run everywhere”

我是Java編程的初學者,研究過“一次編寫,可以在任何地方運行”的東西,但是我注意到,當我下載Eclipse或Netbeans IDE(用Java編寫)時,會有一個Windows版本和其他OS的版本。

如果Java程序“可以在任何地方運行”,則不應有“版本”(按我的初衷)。 我搜索后發現,這是因為(至少是Eclipse,對Netbeans不了解),該程序使用了一個無法跨平台工作的GUI庫。

所以我的問題是:

1)為什么要使用一個能夠釋放Java最強大功能之一的庫? 它更快或更漂亮嗎?
2)除了使用該庫之外,還有其他方法可以使Java程序無法跨平台工作嗎?

提前致謝。

當我下載Eclipse或Netbeans IDE(用Java編寫)時,有一個Windows版本和其他OS版本。

如果Java程序“可以在任何地方運行”,則不應有“版本”(按我的初衷)。

日食

Eclipse使用SWT ,后者使用本 GUI庫,因此每個OS /平台都需要一個Version。

NetBeans的

與Eclipse相比,NetBeans使用標准Java Swing作為GUI,因此不需要本機GUI庫。

在這里您不正確:您可以下載特定於操作系統的版本(例如Windows / Linux / Mac OS),但不必這樣做

要下載,只需選擇“ OS獨立的Zip”作為Platform即可 您將獲得一個ZIP存檔,可以將其提取並在每個受支持的平台上運行。 但是,在Windows上,您必須運行exe,在Linux上,需要運行shellscript來啟動IDE(檢查bin目錄)。

特定於操作系統的版本的主要功能是其安裝程序,因此,最終的NetBeans對所有人都是通用的。

1)為什么要使用一個能夠釋放Java最強大功能之一的庫? 它更快或更漂亮嗎?

只需搜索SWT / Swing比較(以及有關優點/缺點的討論)。

2)除了使用該庫之外,還有其他方法可以使Java程序無法跨平台工作嗎?

是的,一切都取決於特定於平台的東西。

例子:

  • JNA / JNI(Java本機調用)
  • 路徑( C:/whatever在Linux上C:/whatever都不工作,而/home/whatever在Windows上C:/whatever也不工作)
  • 信封。 變量等
  • 調用其他程序

只需查找“如何保持Java跨平台”之類的內容,然后做與建議相反的操作即可。

總的來說,java在這里做得很好,但是出於惡意,您可以殺死任何“跨平台”開發;-)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM