簡體   English   中英

Mac OS X開發的替代范例

[英]Alternative paradigm for Mac OS X development

開發Mac OS X應用程序的當前標准方法是使用MCode范例使用XCode / Objective-C / Interface Builder。

還有其他選擇嗎?

我想使用Interface Builder(也是XCode),但是我寧願使用其他編程語言。 我來自.NET編程,您可以在其中將單擊委派給某個功能,等等。Mac是否有類似的東西? 我寧願遠離諸如Titanium或Qt或RealBASIC之類的自舉應用程序。

Objective-c非常強大,並且與Cocoa和Interface Builder一起使您可以在Mac OS X上開發UI。

您可以將UI中的目標與已執行代碼中的動作相關聯,依此類推。

您可以查看IB指南連接和綁定,以及構建示例應用程序的Cocoa Application Tutorial簡介 (請查閱“ 橋接模型和視圖:控制器”部分,了解如何將UI元素鏈接到代碼)-如果您感興趣的話在Objective-c /可可中。

您已經可以在Objective-C中為方法分配點擊-您使用IBAction的返回類型定義方法,並且可以將其關聯到按鈕中的許多可能事件或與此相關的許多其他控件。

在您決定過渡到其他語言之前,請先學習使用這些工具,因為數十年來的發展具有深遠的意義。

關於SO的問題很多。 特別是在mac / iphone標簽中。 有人發帖詢問如何使Mac / iphone開發更像他們已經知道的某些IDE /范例。

Mac開發與C#、. NET等不同。它的功能同樣強大,只是有所不同。 可可具有許多長處,當您嘗試應用舊的思維方式時可能並不明顯。

不要討論這里提到的任何項目(PyObjC,MacRuby等),但它們將同樣令人困惑,因為它們是本機開發人員工具上的一個薄薄(且泄漏)的抽象層。

如果要在Mac上進行開發,請花一些時間並學習Objective-C / Cocoa / Xcode / IB。 這不是您所知道的方式,但是如果您有機會的話,這是一個好方法。 一旦知道了它,您仍然會受到批評,但是毫無疑問,您還將找到您真正喜歡它的東西。

如果您不喜歡學習新的平台/范式/環境,請學習一次Java或Qt並完成它。

根據您的語言經驗和目標要求,您可能會發現MacRuby非常有趣。

也有PyObjC並命名為舊的紅寶石橋RubyCocoa

但是,如果您正在尋找iphone開發,我聽說的唯一的就是Novell的MonoTouch ,它需要付費使用。

請注意,上述所有技術都允許與其本地語言庫以及Cocoa和Carbon中的庫和框架進行無縫集成。

使用這些技術將為您提供一個相當干凈的原生感覺應用程序。 但是,許多(如果不是全部)仍然需要您使用Interface Builder。 我知道我花了一段時間也習慣了。

有很多橋。 PyObjC,CamelBones(Perl),JSCocoa(JavaScript),Cocoa#,HOC(Haskell)等。唯一真正接近無縫的是MacRuby,它是在LLVM和Objective等核心Mac OS X技術之上的Ruby實現。 -C運行時和垃圾收集器,被設計為用於Cocoa開發的Objective-C的對等語言。 不過,它仍處於測試階段。 它確實允許您將Ruby塊分配為UI元素的動作處理程序,我喜歡這樣做。

很難說您是喜歡語言還是設計模式。

請參閱Objective-C ++,Python或Ruby(不建議使用Java橋)。 請記住,ObjC是C的超集,您可以在同一應用程序/源中使用C,C ++和ObjC。 太...您可能最喜歡使用Objective-C ++。 聽起來像是一個混合對象,但它僅支持同一程序中的對象和語法(即,您不是將ObjC類基於C ++類,而是可以使用成員)。 實際上,這是一個很大的話題,盡管我只看過幾頁,卻從未見過有關它的著作。

就設計模式而言,您是程序員:)

最好的選擇是對Winform使用Cocoa Sharp支持。 在cocoasharp網站上有一些教程。 這將為您提供一個良好的開端,但恐怕您對這種方法不會走得太遠,Cocoa並不真正適合該方法,最終,代碼將最終難以管理。

如果您不介意Cocoa約定但不真正了解Objective-C,則可以使用Cocoa Sharp(即C#)通過Cocoa的MVC范例進行編碼。 這樣,您仍然可以使用Interface Builder(我不確定Snow Leopard是否支持XCode)並使用一種熟悉的語言。

看起來這種方法很有成效,因為人們甚至都以這種方式來做iPhone應用程序。

暫無
暫無

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

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