2008-10-18 148 views
29

誰使用Mac進行跨平臺開發?使用Mac進行跨平臺開發?

通過跨平臺我基本上是說你可以編譯爲Windows或Unix(不一定是兩者同時)。我知道這也與編寫便攜式代碼有很大關係,但我更傾向於使用Mac OS X來開發軟件。

我明白,有一系列的IDE可供選擇,我可能會使用Eclipse(我喜歡GCC工具鏈),但Xcode似乎很受歡迎。它可以如上所述使用嗎?在這種情況下,我總是可以用VirtualBoxVMware Player虛擬化,或者使用Visual Studio(或者雙啓動)進行虛擬化。話雖如此,我願意接受任何其他建議的編譯器(最好是使用GCC的IDE)。

此外,對於可用的Mac系列,您會推薦哪一種?我寧願一臺筆記本電腦(因爲我已經有一個桌面),但我不確定合理的規格。

如果您目前正在使用Mac進行開發,我很想聽聽您在Mac上開發的內容以及您喜歡和不喜歡的內容。

我主要在C/C++/Java中開發。我也在嘗試使用BoostQt,所以我有興趣聽到任何(潛在的)兼容性問題。

如果您有任何其他提示,我很樂意聽到您要說的話。

+0

如果我今天問這樣一個問題,在計算器上我可能會得到禁止。這是好日子。 – 2016-07-24 20:15:48

回答

10

嗯,使用Mac只是(折扣OSX86)實際能夠在Mac + Windows + Linux上測試所有在同一硬件上的唯一方法。話雖如此,如果那是你唯一的理由,我不會走這條路。如果你在Windows環境下編程更舒適,我會說在Windows中完成你的工作,並且在側面安裝一個Mac Mini,甚至可能只是爲了測試你的軟件而選擇便宜的Mac Mini。

+5

地獄,在Mac *上的Windows *中執行它,並節省多臺機器的錢。 – eyelidlessness 2008-10-18 16:54:52

+1

除,可以運行Windows和Mac不夠好,開發一臺機器的需求將不僅僅是購買的Mac mini和Windows機器昂貴得多。 – Kibbee 2009-01-16 14:09:41

1

取決於你想要開發什麼。如果是GUI應用程序,則可能需要在目標平臺上開發和測試。對於Java相關的開發(尤其是企業級)來說,在Mac上工作是非常棒的,尤其是在Apple不久前發佈了jdk1.6之後。 Eclipse和Netbeans是我在Mac和Linux上使用的IDE。

0

多年來我用Qt做跨平臺開發(只是因爲我喜歡它)。我鼓勵你去look at it.它的事件模型(SIGNAL/SLOT)是不同的,但一旦你開始使用它並不壞。

1

我使用我的Mac進行跨平臺編程。但是,我的項目相當小,很少包含GUI。

我已經設置了虛擬機來編譯。至於IDE,我的經驗表明,通常需要將「本機」項目文件與其他開發人員共享。因此,我主要在XCode中開發,最後在Visual Studio中創建一個項目,在Linux中創建一個Makefile。如果可能的話,我將所有項目設置爲共享源文件。

Eclipse項目與Linux和OSX相當兼容,但不兼容Windows。正如其他人已經提出的那樣,我會建議使用您最熟悉的IDE和OS,然後將其移植到其他平臺。

根據您項目的規模,我會推薦iMac或MacBook Pro進行跨平臺開發。此外,虛擬機可能相當苛刻,所以一定要獲得足夠的內存。

8

Eclipse在Mac上運行並得到很好的支持。例如,這是在Mac(以及所有其他平臺)上爲Android開發的推薦環境。 XCode是針對OS X本機開發的,你可能可以將它轉換爲Windows的交叉編譯,但是你會非常反感。

我在XCode上做了一點小小的開發,但主要是.NET開發人員,爲此我在Mac上使用VMWare。這可能聽起來有些倒退,但在iMac上運行在VMWare上的Windows XP盒絕對是蒼蠅(我擁有4Gb的RAM),我可以非常快速地創建和修改虛擬機以進行測試(例如:Vista,奇怪的Windows XP設置) 。最重要的是,與Windows相比,使用Mac的日常感覺就像是幸福(在15個月前,我從未使用Mac,我永遠不會回到永久的Windows桌面)。

3

我肯定會給莫諾一個參觀。它具有針對Qt和GTK的跨平臺綁定。您還可以訪問MonoDevelop,它正在突飛猛進地發展。

如果您不感興趣,我會提到的一點是VMWare和Eclipse可以很好地協同工作。 VMWare Workstation Professional附帶一個Eclipse插件,允許遠程調試,並通過點擊幾下進行多操作系統部署測試。我肯定會推薦你獲得免費試用版,看看它是否適合你。

而Mac是一個很好的平臺。大多數沒有從Linux移植到本地運行的東西在X11上運行良好。

4

只是爲了回答推薦問題:如果您確實需要便攜式設備,那麼新的Macbook(低端型號)應該會成爲優秀的開發機器。而且有趣的是,我曾經擁有一臺Mac mini,因爲這是我可以負擔得起的,而且對於大多數用途來說它非常出色。我甚至在家中和辦公室之間進行了操作(在辦公室保留了另一臺顯示器/鍵盤/鼠標,但我現在甚至已經擁有MBP),而且非常棒。我甚至沒有注意到它在我的揹包裏。

編輯:並沒有什麼能阻止你雙啓動或三啓動你的Mac,並在Mac上完成Windows/* nix/OS X中的所有開發。

2

如果您正在尋找單一構建系統,Mac可能是您的最佳選擇,因爲您可以使用GCC交叉編譯到Windows和Linux。

有一些編譯器可以從Linux中定位到Darwin/OSX,但是你不會用這種方法獲得任何Cocoa或Foundation庫。至少在MinGW中,您可以訪問Windows平臺SDK的大部分內容。

0

Here,你會發現關於LinkedIn一個有趣的帖子被在Mac開發的100%......

4

我在一年前切換到MAC作爲我的主要開發機器,再也沒有回頭。

我想提的一件事是,如果你在多個平臺上開發,你會寫出更好的軟件。我不時發現,有些代碼可以在特定的平臺上工作,並在另一個平臺上失敗。大多數情況下,這是由於我的一些錯誤,而不是軟件錯誤。

所以在我的書中 - 跨平臺開發強化了更多的正確性。

2

另一種選擇是Cocotron。它運行在Mac OS X上,包括面向Windows,Linux和Solaris的交叉編譯器,與這三者兼容的Objective-C運行時和可移植Foundation框架,以及適用於Windows的AppKit框架。

0

我使用MacBook進行跨平臺開發,但是我不爲其他目標交叉編譯。現在運行多個平臺的代價是多麼的低廉,這是不值得的。您既可以使用VMware等虛擬化產品,也可以使用輔助設備對Windows和Linux進行多重引導。您絕對必須在每個平臺上進行全自動構建。 Joel is always right.;)

用外國用戶界面疏遠客戶是一個很大的風險,所以我建議建立一個通用的後端和平臺特定的前端。我對Qt沒有任何經驗,但是我已經使用Tk用於跨平臺的C++應用程序。除非我擁有一個專屬的企業用戶,他們只能以低成本在多個平臺上安裝軟件,否則就無法工作。

0

我用C++編寫一個小的跨平臺的UML編輯器,我的碩士論文的程度,和我寫的大部分代碼在我的Mac在Xcode:

http://remproject.org/

爲了管理在Windows和Linux中構建我使用了CMake,它在每個平臺上生成了Xcode,Visual Studio和Makefile項目。

http://cmake.org/

我也用兩個庫在裏面,JUCE和POCO,前者爲GUI,後者爲特定功能。所有靜態鏈接在每個平臺上。

在我看來,你可以在很多方面編寫跨平臺的代碼,這是其中之一,我很高興,我能做到這一點非常快,我得到了我的學位:)

5

我在MacBook Pro上進行我所有的跨平臺開發,主要使用REALbasic。爲了在Windows和Linux上進行測試,我使用了VMware Fusion,它可以與REALbasic附帶的遠程調試器一起使用。

我曾經有Boot Camp與Windows設置時,我正在做.NET相關的開發。VMware和Parallels速度非常快,但本地啓動操作系統不匹配。我還沒有機會嘗試廣泛MonoDevelop在Mac OS X,但除了缺少GUI設計器,它看起來像它可能工作得很好,我可能會考慮這樣做,因爲我可以做任何未來的.NET項目。

我更喜歡有隻是一個可以運行所有的操作系​​統,因爲它是我的辦公桌上更少的空間,更少的升級和管理硬件和更容易採取所有操作系統和我的一臺電腦。

任何一臺Mac,這些天可以處理運行Windows和Linux的不夠好。你需要的最重要的東西是大量的RAM。現在的Mac可以處理至少8 GB,我建議作爲一個起點(我有6 GB)。