xaml_XAML或JavaFx?
xaml
這是使用XAML和JavaFx構建應用程序的快速,主觀, 無權且非常不科學的比較。 比較是基于我與每個人合作的個人經驗。 在XAML方面,這意味著WPF和Win8存儲應用程序 。 在JavaFx方面,這意味著Windows 7應用程序。
JavaFX
JavaFx被Oracle(以及當時的Sun)吹捧為構建UI的新方法。 它專注于支持現代UI所需的靈活性和圖形精美性。 JavaFx可以在瀏覽器內外運行,也可以在各種操作系統上運行。
我在JavaFx方面的經驗是構建僅針對Windows 7的外觀美觀且非常現代的桌面應用程序。我們選擇在ScalaFx(Scala中的聲明性JavaFx DSL)中編寫視圖代碼。 效果很好:該應用程序看起來不錯,運行良好,并且代碼庫很干凈。 但是有幾件事困擾著我:
- UI代碼并不像我希望的那樣聲明。 總的來說,我們發現內置控件不適合我們的需求,因此大多數UI是從.pngs構建的,這些控件附加了鼠標事件。 這些事件會將.png更改為懸停,單擊等。 雖然這很好用,但是這意味著視圖中的邏輯比我想要的更多。
- 由于上述原因,在某種程度上很難創建XAML數據模板之類的東西,然后將數據綁定到其中。 再次,這導致視圖中更命令式的邏輯。
我真正喜歡的東西是:
- 我認為,與Java同行相比,我們可以在視圖中使用Scala的事實確實減少了視圖代碼中的噪音。 例如,使用函數是一等公民的語言,附加鼠標事件處理程序要容易得多。
- 從測試中以無頭模式運行視圖代碼是相當容易的。 盡管視圖代碼的TDD工作流程稍微慢了一點,但這仍可以使它看起來不錯。
XAML
XAML用于一系列Microsoft的UI技術中,包括WPF和Win8商店應用程序(以前稱為Metro)和Silverlight。 XAML UI框架還專注于支持現代UI的需求,并且還可以在瀏覽器內外運行。
我對XAML的經驗來自WPF和Win8商店應用程序,在這些應用程序中,我們遵循MVVM方法,沒有任何特定框架,但受Caliburn.Micro啟發,采用了一些自產的約定,以簡化XAML中的某些重復-特別是在綁定方面。
這也工作得很好,產生了不錯的應用程序,但是同樣有些事情困擾著我:
- 首先,我討厭用XML編寫代碼。 因此,我根本不喜歡XAML語言。 您可能會在此時說XAML是由工具生成的,而不是由人類編寫的。 你可能是對的。 盡管如此,我的經驗是您確實需要手工編寫大多數XAML。 我發現這樣做比使用Blend或Visual Studio編輯XAML更快,更易于維護。
- 我不喜歡背后的代碼。 在我從事的項目中,我們一直將它們保持在很小的范圍內,但是它們仍然在誘人的狀態下在脆弱的時刻隱藏無法測試的代碼。
我真正喜歡的東西是:
- 與JavaFx一樣,無頭運行視圖進行測試非常簡單。 同樣,這將啟用可接受的TDD工作流程。 再次,盡管有點慢。
- 數據綁定效果很好。 尤其是有一些慣例可以減少樣板代碼。
- 數據模板尤其可以使視圖保持聲明性。
結論?
嗯,我認為這里沒有足夠的數據來得出很多結論。 盡管我將得出的結論是,對于構建Windows應用程序,我的經驗是JavaFx和XAML都可以完成工作,但是使用XAML的速度更快,因為數據綁定更容易,數據模板有很多幫助,而且似乎更少手動滾動控件。
但是要當心:我比較的項目并不相同,因此比較蘋果和Oragnes的過程是有一定水平的。 也這個很主觀。 因此,YMMV。
更新– 2012-12-21
根據反饋,我認為上述結論過于模糊。 需要說明的是:根據我的經驗,兩種技術都可以使用,但是XAML可以更快(因此更便宜,并且可以更快地投放市場)使用。
參考: XAML或JavaFx? 從我們的JCG合作伙伴 Christian Horsdal在Horsdal博客上獲得。
翻譯自: https://www.javacodegeeks.com/2012/12/xaml-or-javafx.html
xaml
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的xaml_XAML或JavaFx?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 冬天英语怎么读 冬天英语解释
- 下一篇: java lambda使用_在Java