2009-06-11 57 views
8

我要做一些我從未想過我會做的事情......學習如何爲蘋果硬件編程。在使用C,C++,C#,.NET,甚至在DOS的黃金時代(任何人都可以在Borland Turbo-C中使用少量的DOS4G/W內存擴展器),甚至當孩子時,玩Atari 8-Bit Turbo-BASIC,我覺得在多個層面上有點叛逆:)無論如何,我要去讀研究生,全職學習音樂 - 這將是多年來第一次,我不會有全職編程演出 - 我認爲在我的空閒時間拿起一些Objective-C會很有趣 - 也許有點額外的口袋變化(人們總是希望:)Apple/iPhone開發IDE首選項?

因此,到崗位 。我非常習慣於Visual Studio,設計師,XAML編輯,代碼隱藏,等等等等。一位朋友在他的小MacBook上拉起了X-Code,以炫耀它應該是多酷。當然,它和VS總體上有相同的東西,但是我覺得它看起來更分散。我確信一旦我習慣了它,那就沒問題,但是我只是想知道是否還有其他的好的,免費的(或者幾乎免費的)/或者開源的編輯器可以用於基於Intel的蘋果,也處理iPhone的開發。或者有關進入xCode的任何提示?我剛剛決定這樣做,所以我覺得我從頭開始。我並沒有抨擊X代碼......我還沒有真正使用它。我只是想知道哪些編碼者的偏好。

感謝您的任何建議!

+0

它喜歡像XCode是要走的路。只需要一些習慣,就像其他任何事情一樣。我確實看到Eclipse和Apanta(基於Eclipse)是很好的選擇,但那些只處理基於Web的應用程序,而不是本地iPhone應用程序。 (請參閱http://stackoverflow.com/questions/207785/how-do-you-setup-eclipse-to-work-on-iphone-development-instead-of-xcode) 如果蘋果希望我使用XCode, XCode面向Apple Store的精簡版發佈,我會滿意的。特別是因爲它是免費的:) :) 感謝您的意見! – Eddie 2009-06-11 20:31:06

+0

我會做的第一件事是切換它的窗口模式或適應分散的一切。我認爲有一種方法讓xcode擁有單個窗格。 – Min 2009-06-11 20:32:34

回答

9

在OS X上真的沒有其他IDE用於編寫本機應用程序。但是,有些人不喜歡Xcode內置編輯器。一個非常受歡迎的替代品是TextMate(非免費,但非常值得~50美元)。 Xcode可以配置爲使用您選擇的編輯器來編輯文本文件。免費的替代品包括用於OS X的EmacsVim端口。

當然,您可以在不使用Xcode的情況下使用gcc工具鏈(例如,使用諸如Make之類的Unix樣式構建系統之一)。但是,您也可以在終端命令行中使用xcodebuild來構建Xcode項目,而不使用Xcode GUI(然而,在沒有GUI的情況下,您很難配置和管理項目)。結合這兩者,人們可以將例如Eclipse的IDE拼湊在一起來構建OS X應用程序。 iPhone會比較困難,因爲Xcode會爲您處理證書籤名等,但仍有可能。當然,你會失去所有從Xcode獲得的良好的Objective-C完成和文檔集成。

所以,總之,Xcode幾乎是鎮上唯一的遊戲。毫無疑問,需要一段時間才能習慣來自VS.特別是,Cocoa世界中幾乎沒有代碼生成。當你感覺自己在尋找那些工具時,訓練自己去嘗試一種不同的方法。Objective-C的後期綁定結合了NIB/XIB(在Interface Builder中生成的用於描述應用程序UI的捆綁軟件; XIB是一種更新的,版本控制友好的基於XML的格式,可自動編譯爲NIB,來自NextStep天的舊式格式)使代碼生成不必要。

對於非Cocoa/iPhone的開發,生態系統自然更大。諾基亞有自己的IDE Qt工具包,可用於編寫OS X(但不是iPhone)應用程序。 Eclipse可用於使用任何Java工具包(包括SWT和Qt-Java框架,QtJambi)編寫Java應用程序。

對於純粹的Windows開發人員的熟悉,也有在OS X上運行的MonoMonoDevelop可能在OS X上運行,但我不確定。

2

我認爲XCode是可可開發者中最受歡迎的選擇。我認爲你能做的最好的事情就是直接編寫應用程序和探索。

http://cocoadevcentral.com/ - 有一些很棒的教程,它們通常也很友好。

1

爲了簡單起見,XCode將成爲與iPhone模擬器和Interface Builder集成的方式。另外,當您想將應用程序部署到實際設備時,XCode執行證書安裝和管理。我沒有任何其他IDE的OSX經驗,但我不能100%回答你的問題。但是,這些是你在調查過程中需要注意的事情。

讓我們知道您在找什麼!