\\\看新聞很累?看技術新聞更累?試試下載InfoQ手機客戶端,每天上下班路上聽新聞,有趣還有料!
\
Avalonia將自己定義為“基于WPF(使用XAML、數據綁定以及lookless控件等)的跨平臺.NET UI框架。”在第一版公測之后,Avalonia已經展現了它在舊版WPF XAML上的有趣改進。
\\傳統XAML開發的主要煩惱之一是需要創建ICommand對象。除非你需要CanExecute功能,否則ICommand本質上只是一個普通方法的包裝程序。而且,這些對象的創建經常會導致大量不必要的樣板代碼出現在視圖模型中。更糟糕的是,數據模型要么暴露這個以UI為中心的概念,要么被隱藏在視圖模型樣式代理的后面。
\\Avalonia提供了一個相當明顯且簡單的解決方案,用戶控件上的命令可以直接與方法做數據綁定。如果需要的話,Avalonia仍然支持ICommands,但是大多數時候可以忽略ICommands。
\\Avalonia提供的另一個節省時間的方法是對Relative Sources類的語法支持,使得語句不再那么冗長。比如“{Binding Text, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Border} AncestorLevel=1}}
\" 你可以寫成\"{Binding $parent.Text}
”。
新預覽架構
\\由于Avalonia是跨平臺的,同樣地,它也需要跨平臺的開發工具。這種工具一旦成為新的預覽架構,那么,與.NET使用的語言服務器協議一樣,預覽器將作為一個單獨的進程運行。默認情況下,Avalonia將提供一個已呈現的、通過TCP傳輸的位圖的IDE。為了使用這個新協議,AvaloniaVS擴展已經做了相應更新,同時它現在也希望其他IDE設計者盡快出現!
\\入門指南
\\如果你在Windows上使用Visual Studio,那么針對Visual Studio擴展版本的Avalonia提供了必需的工具和項目模板。對于其他平臺,你可以使用針對.NET Core的Avalonia模板。
\\Avalonia是在MIT的許可下發布的,它正在尋找能夠為這個項目貢獻時間的開發人員。
\\查看英文原文:Avalonia Beta 1 Brings Many Improvements over WPF
\\感謝冬雨對本文的審校。
\給InfoQ中文站投稿或者參與內容翻譯工作,請郵件至editors@cn.infoq.com。也歡迎大家通過新浪微博(@InfoQ,@丁曉昀),微信(微信號:InfoQChina)關注我們。