我目前正在用C#開發一個桌面應用程序,在SuSE和Windows中使用mono和測試。這個概念並沒有多大意義,但它是一個「Web lint」程序,它將掃描一個網站並返回安全性和/或跨瀏覽器兼容性的可能問題。不過,我希望能夠爲多個平臺提供二進制文件。我應該和Mono呆在一起,還是有另一個平臺可以提供更好的平臺可用性,例如在Mac,Windows,Linux和其他平臺(可能是移動平臺)上,並且使其更容易移植?多平臺開發
多平臺開發
回答
對於大多數桌面環境來說,C#和Mono可能是跨平臺的。訣竅將是「移動平臺」的要求。
移動操作系統是多種多樣的,並且你可以做很多事情來推廣。有些人擁有Java,就像黑莓手機一樣。 C#可能會讓你進入基於Windows Mobile的平臺。 iPhone會做自己的事情。你幾乎不得不選擇一個平臺並將其作爲目標。這可能最終會通知您的桌面平臺選擇。
Java將在Windows,Linux和Mac上運行。應該很容易從C#轉換 - 使用Apache HTTPClient抓取正在掃描的Web內容,並且掃描代碼應該差不多一樣。但缺點是要求用戶安裝Java運行時。
Python是另一種選擇 - 您可以爲Windows構建獨立的可執行文件,默認情況下,它隨大多數Linux發行版一起提供,還提供Mac OS X(需要引用)。這對於Windows用戶來說很少麻煩(語言被編譯到可執行文件中,不需要其他下載)。
如果mono在Mac OS X上運行,那麼肯定這是一個很好的平臺?
那麼,你最好的選擇總是使用一種實際存在於所有平臺上的語言。我認爲這通常意味着Java,但即使perl也適用於移動平臺(取決於所討論的移動平臺)。我在C和Perl中完成了大部分的跨平臺工作,但是有一些令人頭疼的問題(很多#ifdef),而且perl可能不在你關心的移動平臺上(但是)。您必須評估所有想要定位的平臺所共有的語言/編譯器/解釋器,然後從該列表中進行選擇。在不瞭解這些平臺的完整列表的情況下,我們很難告訴你要使用什麼,儘管Java有足夠的熱門詞彙可能成爲強有力的候選者。
這真的取決於你想要做什麼。對於Web開發,如果HTML/JavaScript足夠,那就堅持下去。如果你需要更高級的東西,我會使用ASP.NET和Mono(你可能做了什麼),因爲你已經知道了。 (您可以在這裏使用Visual Studio。)
另一種選擇可能是(因爲您是C#開發人員)使用Silverlight。這會讓你覆蓋Windows和Mac平臺,並希望Moonlight稍後將涵蓋Linxu平臺。 (您可以在這裏使用Visual Studio和Expression Blend。)
如果您需要桌面應用程序,那麼Java可能是最簡單的,因爲您已經知道C#。但是,如果您知道C/C++,請嘗試以wxWidgets爲例。
如果你知道C++,Qt將覆蓋很多平臺。
只要堅持單聲道,確保你有憲兵代碼檢查員(FxCop for Mono)檢查你的代碼的可移植性問題,你應該沒問題。
爲什麼限制自己到傳統的C#/ Java?看看Adobe AIR和Microsoft SilverLight
- 1. 爲多平臺開發
- 2. 多平臺Amazon-AWS開發
- 3. 多平臺開發選項
- 4. 跨平臺開發
- 5. 雲開發平臺
- 6. 跨平臺開發?
- 7. 跨平臺開發
- 8. 開發跨平臺遊戲,與開發人員在多個平臺上
- 9. Android開發跨平臺到iOS平臺
- 10. 用於多平臺開發的WCF OData?
- 11. 許多平臺上的LibGDX開發
- 12. 如何爲多平臺開發
- 13. 開發多平臺遊戲的工具
- 14. Qt qmake跨平臺開發
- 15. 開發跨平臺XNA庫
- 16. 跨平臺開發建議
- 17. 鈦移動開發平臺
- 18. 跨平臺遊戲開發
- 19. 移動跨平臺開發
- 20. 的OpenCL開發平臺?
- 21. 跨平臺移動開發
- 22. Windows 7開發平臺
- 23. windows開發平臺安裝
- 24. 黑莓開發平臺
- 25. 跨平臺COM開發
- 26. SDL - 跨平臺開發
- 27. Appcelerator \ Titanium - 跨平臺開發
- 28. 移動平臺開發
- 29. Xamarin跨平臺開發.net
- 30. OpenGL ES跨平臺開發