2011-02-15 41 views
4

我有一個C#應用程序,我已經設法使用Mono並在OS X上運行。應用程序本身運行得很好,但它看起來並不是那麼好當在OS X上運行時。按鈕字體顯得鋸齒狀,並且Windows 7版本中的許多默認功能都不存在。對我來說,它看起來像一個帶有OS X頂部邊框的Win98應用程序。使用C#單變換 - 將WinForms接口轉換爲Cocoa? (或任何默認的OS X界面)

我正在研究可能學習Objective-C,以便我可以編寫'正確的'OS X應用程序,但是現在我希望能夠讓我的項目在Apple上工作,而不讓它們看起來非常熟悉一起。

是否可以將WinForms應用程序轉換爲Cocoa? Cocoa是否使用正確的界面?

如果可能的話,最好的方法是什麼,並且你們中的任何一個人都知道一個很好的關於流程的教程/寫作來讓我開始?很高興看到實際顯示正在完成的過程的內容。與通用文章相比,我從示例代碼和簡短說明中學到的東西更多。

再次感謝!

+0

http://www.facebook.com/album.php?aid=94481&id=1500469566&l=85716508e7 – 2011-02-16 13:42:04

+0

我希望facebook鏈接能夠正常工作。它顯示了一個正在移植到Cocoa的WinForms應用程序的例子。 – 2011-02-16 13:42:23

回答

7

如果你想創建一個本機外觀的OSX應用程序,你是正確的,你想使用Cocoa。如果你仍然想使用C#,你可以使用MonoMac

MonoMac允許您在OSX上本地創建GUI(事實上,使用Apple提供的Interface Builder),但允許您使用.Net/C#編寫應用程序。這樣您就可以繼續使用現有的應用程序邏輯,只需更改GUI代碼即可。

2

這是一個非常普遍的事實,一個移植的應用程序將永遠看起來像一個移植的應用程序。即使是擁有鉅額預算的大公司,也無法做得更好(我引用了Adobe--這是一團糟)。

在Windows應用程序端口上拍麥克風時會顯示其接縫。如果您希望應用程序像本機應用程序一樣運行(並利用平臺提供的與性能相關的好東西),絕對最好的方法是使用我知道您擁有的架構文檔,規範和要求 - 認真的開發人員是 - 使設計適應本地平臺。這就是用Objective-C(語言)編寫的Cocoa框架(API)。

很簡單,沒有其他的路徑不會以一個蹩腳的端口結束,這個端口充滿了搬運工對目標平臺不夠熟悉所產生的錯誤和行爲問題。這個不是只限於單聲道/ C#到Cocoa/Obj-C。反之亦然。即使是面向Java平臺的JAVA for PlatformB端口的桌面應用也會遇到這些問題。如果您想獲得最佳的用戶體驗,請先從可靠的體系結構開始,然後構建平臺。

這就是說,你已經意識到這一點,並希望做得更好。好樣的! :-)雖然我不知道這條道路上有任何教程,但我建議,即使你表示你正在尋找質量,這也不是正確的方法。利用許多Cocoa書籍和許多更多的在線社區(比如這個),並在提交Cocoa自適應架構和代碼庫之前瞭解該平臺。

更新基於評論辯論

需要明確的是:我不是說沒有辦法,或者有沒有工具,在那裏,使其成爲可能。實際上我見過很多,但不記得,也不會打擾谷歌搜索。我的觀點仍然是:由於平臺體系結構和用戶體驗習語的內在差異,OP關注本機外觀的質量(以及我假設的行爲和可能的性能)以及移植工具/翻譯層無法實現此目標。 OP懷疑最好學習該平臺並專門爲其構建,我同意。你的意見可能有所不同擁有它。