[英]Cross-platform desktop development
我需要為桌面PC應用程序開發(Windows,MAC,Linux)提供跨平台引擎/框架的建議。 我看到了3種可能性,Qt,Java和Adobe AIR。
所有這些標准都由Qt滿足,但“原生外觀”除外。 沒有具有本機感的跨平台框架,特別是在OS X上,用戶對應用程序的“感覺”非常苛刻。 如果你真的想要原生的外觀和感覺,最好用C ++或C#編寫一個共享框架,然后在每個平台上提供原生GUI(你可以使用MonoMac來提供一個使用C#而不是原生Objective-C的原生Cocoa UI ,如果這是你的一杯茶)。
也就是說,我們對Qt(和商業支持)的跨平台開發非常滿意。 特別是新的OpenGL加速2D場景API使動畫UI非常容易。 QtCreator是一個體面的IDE,具有視覺設計器支持。
與其他人相反,可能是因為我在一個實時交易Swing應用程序上工作,我認為Java是你的要求的最佳答案(但是,我認為這個問題是主觀的,因為之前的答案已經顯示)。 讓我發展。
它必須易於安裝(運行時是一個缺點,但C ++包裝器和/或安裝程序可以解決我認為的問題)。
使用Java,您可以依賴Java Web Start ,據我所知,這是易於使用的應用程序的最佳解決方案:您單擊瀏覽器上的鏈接,應用程序安裝在開始菜單/桌面中並作為下載后立即。 似乎Adobe AIR提供了相同的功能,但在我看來,由於其生態系統的深度,Java Web Start集成了更強大的分發解決方案(例如,根據需要輕松生成.jnlp
文件的能力) 。
它必須快速且具有豐富的GUI(不是3D游戲,但絕對是一些2D圖形)。
與大多數流行的觀點相反,在Java中生成良好的圖形是可能的。 以一本優秀書籍的優秀骯臟富客戶伴侶網站為例。
開發環境必須易於建立,UI開發工具必須具有拖放功能才能定義應用程序布局。
Eclipse是IDE的事實行業標准,它集成了多個DnD IDE構建器。 我只想舉例說明最近解放的Windows Builder Pro 。
目標應用程序必須具有原生外觀。 應該提供專業的有償支持。
好吧,Swing默認look'n'feel確實與系統1有點不同。 但是,也有優秀的第三方的,上市這里 ,作為一個例子。
最后,舉一些例子:
我不推薦Java用於桌面開發。 我不在乎別人怎么說,與C ++這樣的本地語言相比,Java仍然很慢。 我會選擇Qt。 IDE具有GUI構建器,可以集成到Eclipse或Visual Studio中。
這是一個有用的資源: http : //qt.nokia.com/products/
看看Appcelerator Titanium :它基本上是在瀏覽器中包裝一個Web應用程序。 你可以使用wen tech在GUI中擁有你想要的任何東西,但它看起來像是一個ap [p。
奇怪的是,沒有人提到Real Studio(現在是Xojo ),它可以滿足您的所有要求:
首先要提到http://wxwidgets.org/ ,這是最受歡迎的X-platoform frameoworks之一。 根據應用程序的復雜性和“原生性”的要求,跨平台框架可能適合您。 使用框架構建的x平台應用程序通常感覺有點“異類”,特別是在Mac上,但可行。 一個很好的例子是http://taskcoach.org/ 。
如果您的用戶能夠容忍豐富的下載大小,大量的內存需求和一些非原生的外觀,那么普通的Java, eclipse RCP或NetBeans平台都可以為您服務。 你可以節省相當多的開發時間。
但是,我不了解滿足您所有要求的跨平台框架。
如果您需要訪問生產級應用程序,我所看到的最佳策略是保持原生,但將依賴於UI的代碼拆分為跨平台(例如C ++業務邏輯)和UI。 這樣,您將使用本機界面構建工具(每個平台都有一些好的)。 根據應用程序的復雜性和“完成”要求,您實際上可以節省走這條路線的時間。
Chris Hanson在這個答案中可以找到對“原生X平台”過程的一個很好的概述。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.