Linux作為一個完整的開發平台?

Linux作為一個完整的開發平台?

我想讓我的 Fedora Linux 能夠執行以下操作:

  1. 使用Linux作為完整的開發平台,無需安裝任何其他作業系統,但仍可在不同平台下建置和測試程式。

  2. 完全取代 Windows 機器進行所有其他工作,例如 Office、畫圖、遠端桌面等。

您能否建議實現上述目標的開源專案和工具?

答案1

定義“平台”。即使可以使用交叉編譯在 Linux 上建立軟體,您也無法在不實際執行 Windows 或 Mac 作業系統的情況下合理地測試這些軟體。對於在其他作業系統上進行實際測試,VMware 是一個很棒的工具。

你問題的第二部分可能應該是一個完全獨立的問題。但你可以使用 OpenOffice.org 或 Google Docs 來取代 MS Office,使用 Pinta 或 GIMP 或其他任何東西來替換 Paint,VNC 或 Empathy+Vinagre 來替換遠端桌面等。

如果您提供一些更具體的用例,會更容易回答這些問題。

答案2

無論您是系統程式設計師、Web 開發人員還是桌面應用程式開發人員,您都可以輕鬆進行跨平台開發。如果您對系統感興趣,那麼您為 Linux 編寫的任何實用程式和/或驅動程式都可能適用於其他 *nix,只需進行很少的修改。如果您編寫標準 C 程式碼並且不使用太多系統特定調用,它們甚至可能很容易移植到 Windows。

如果您是桌面應用程式開發人員,您可以以 GTK、QT 或 wxWidgets 為目標,並且您的應用程式可能會在當今的 3 個主要平台(*nix、Windows、Mac)上運作良好。同樣,將系統特定的呼叫保持在最低限度,或將它們隔離到系統特定的包裝庫中。您還可以呼叫諸如 JVM 和/或 CLR 之類的虛擬機器作為目標,這將允許應用程式全面工作。

如果您是網頁開發人員,那麼您可能會遇到太多不同的選擇。我更喜歡一個名為的小型網頁伺服器切羅基我開發並運行 ASP.NET(單聲道)和在其上運行並使用 PgSQL 後端的 Django 應用程式。

因此,結論是,如果您可以在目標平台上編譯程式碼,並且在編寫程式碼時或您的目標是虛擬機器時牢記這一點,那麼 Linux 中的跨平台開發是可以完成的。另一點是你可能會遇到選擇的悖論並且不知道該使用什麼。為此,請閱讀下面我對第二個問題的回答。

關於第二個問題,我找到的最好的資源叫做開源替代品。該網站列出了商業軟體及其開源替代品。幾乎所有替代方案都可以在 Linux 和 FreeBSD 上運行。

答案3

Weeeeeeel,#1 真是太棒了,先生。我不知道有什麼辦法可以達成這個目標。可以交叉編譯到其他 *nixes (有點頭痛)在您的開發盒上,但是在沒有適當的作業系統和架構的情況下,您究竟應該如何運行該程式碼?有廣泛的嘗試系統仿真在那裡,但最終這是一個障礙。如果您想在作業系統/架構上測試軟體,請在該作業系統/架構上運行它!

另一方面,現在有一些工具可以讓您輕鬆地在各種配置中建立相同的專案。 編譯器可能是最知名且經過充分測試的。至少這將幫助您在其他系統上測試您的項目,或鼓勵其他人為您這樣做。

老實說,我很確定這在其他作業系統上也是不可能的。

#2 更容易

等等。我會提供更多幫助,但你的問題敏銳度急劇下降。

答案4

單一開發應該能夠幫助您掌握開發方面的知識:

MonoDevelop 是一個主要為 C# 和其他 .NET 語言設計的 IDE。 MonoDevelop 使開發人員能夠快速編寫桌面和 ASP.NET Web 應用程式Linux, 視窗蘋果電腦。 MonoDevelop 讓開發人員可以輕鬆地將使用 Visual Studio 建立的 .NET 應用程式移植到 Linux,並為所有平台維護單一程式碼庫。

(重點是我的)

相關內容