翻譯|使用教程|編輯:莫成敏|2019-12-03 13:08:24.623|閱讀 734 次
概述:開發(fā)Xamarin.Forms應(yīng)用程序時(shí),有許多方法可以提高生產(chǎn)力。在這里,我總結(jié)了一些自己的經(jīng)驗(yàn)。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
Essential Studio for Xamarin是全面的Xamarin.iOS、Xamarin.Android和Xamarin.Forms組件套包,包括超過(guò)145個(gè)基本控件,包含最快的圖表和網(wǎng)格。
點(diǎn)擊下載Essential Studio for Xamarin免費(fèi)版
開發(fā)Xamarin.Forms應(yīng)用程序時(shí),有許多方法可以提高生產(chǎn)力。在這里,我總結(jié)了一些自己的經(jīng)驗(yàn)。以下是典型Xamarin.Forms應(yīng)用程序開發(fā)的階段:
設(shè)計(jì)
開發(fā)業(yè)務(wù)邏輯
建立
測(cè)試
部署
以下是最常見的工具和技術(shù),它們可以改善在Xamarin中開發(fā)應(yīng)用程序的生命周期階段。我將在此文中討論以下表格:
XAML
模式
開源庫(kù)和框架
自定義控件
使用熱重載快速迭代
建立時(shí)優(yōu)化
持續(xù)集成
XAML
應(yīng)用程序的外觀和性能取決于Xamarin.Forms中組織和顯示UI控件的方式。必須嵌套不同的布局和控件以創(chuàng)建所需的UI。在代碼隱藏中創(chuàng)建和編輯不同的布局和各種控件將使其難以閱讀且笨拙。因此,更好的解決方案是在所有可能的情況下使用XAML。
XAML代碼:更易于閱讀和維護(hù)
與等效的C#代碼相比,XAML代碼更易于使用和閱讀。比較下面的簡(jiǎn)單示例c和C#代碼。
XAML
<StackLayout><font></font> <Label Text="{Binding Name}"/><font></font> </StackLayout><font></font>
C#代碼
StackLayout stackLayout = new StackLayout();<font></font> Label nameLabel = new Label(); <font></font> nameLabel.SetBinding(Label.TextProperty, "Name"); <font></font> stackLayout.Children.Add(nameLabel);<font></font>
XAMLC
幾個(gè)月前,在最近的Visual Studio和Xamarin更新之前,XAML文件與可執(zhí)行文件一起被嵌入?,F(xiàn)在,XAML文件與C#文件一起被編譯,稱為XAMLC編譯。創(chuàng)建Xamarin.Forms應(yīng)用程序時(shí),默認(rèn)情況下啟用此功能(在撰寫本文時(shí),我正在使用Visual Studio 2019版本16.3.6)。如果您沒有使用更新的版本,仍然可以按照本文檔中的步驟啟用XAMLC 。
啟用XAMLC如何提高您的生產(chǎn)力?
它執(zhí)行XAML的編譯時(shí)檢查,將任何錯(cuò)誤通知用戶。
它不再包含.xaml文件,有助于減小最終程序集的文件大小。
設(shè)計(jì)時(shí)數(shù)據(jù)
設(shè)計(jì)時(shí)數(shù)據(jù)可用于可視化具有模擬數(shù)據(jù)的UI。如果在開始構(gòu)建UI之前沒有ViewModel,這將非常有用。設(shè)計(jì)時(shí)數(shù)據(jù)會(huì)在XAML預(yù)覽器中填充模擬數(shù)據(jù),以可視化XAML布局。
模式
您可以為應(yīng)用程序選擇許多模式。此Microsoft文檔概述了一些標(biāo)準(zhǔn)模式。最常用的一種是Model-View-ViewModel(MVVM)模式。這種模式有助于清楚地區(qū)分應(yīng)用程序的業(yè)務(wù)和用戶界面邏輯。遵循MVVM模式,通過(guò)消除重復(fù)的代碼并增加重用代碼的可能性,將極大地幫助您維護(hù)、測(cè)試和改進(jìn)您的應(yīng)用程序。它使從事業(yè)務(wù)邏輯的開發(fā)人員和從事UX設(shè)計(jì)的設(shè)計(jì)人員能夠獨(dú)立并同時(shí)工作,從而提高了項(xiàng)目的生產(chǎn)力。
開源庫(kù)和框架
將“所有容易的問(wèn)題已經(jīng)解決”的陳述應(yīng)用于軟件開發(fā)通常是準(zhǔn)確的。因此,您只需要選擇正確的解決方案即可。來(lái)到Xamarin.Forms,有許多開放源代碼庫(kù)正在等待使用。您可以通過(guò)使用以下開源項(xiàng)目來(lái)跳過(guò)應(yīng)用程序的大部分設(shè)計(jì)階段:
FFImageLoading:用于在Xamarin.iOS,Xamarin.Android,Xamarin.Forms,Xamarin.Mac / Xamarin.Tizen和Windows上快速輕松地加載圖像的庫(kù)。
Xamarin.Forms的基本UI工具包:為Xamarin.Forms應(yīng)用程序精心設(shè)計(jì)的XAML模板。這些模板與Android、iOS和UWP平臺(tái)兼容,并使用MVVM設(shè)計(jì)模式提供無(wú)故障集成。您可以從GitHub免費(fèi)獲得完整的設(shè)計(jì)實(shí)現(xiàn)。
盡管您可以使用Xamarin.Forms框架中提供的功能來(lái)基于MVVM模式開發(fā)應(yīng)用程序,但是仍然需要您自己做某些事情,例如導(dǎo)航服務(wù)。除了編寫自己的實(shí)現(xiàn),還有許多可用的MVVM框架可用來(lái)節(jié)省時(shí)間。一些廣泛使用的框架是:
MvvmCross
FreshMvvm
MVVM燈
棱鏡
Caliburn.Micro
點(diǎn)擊下載Essential Studio for Xamarin免費(fèi)版
自定義控件
在大多數(shù)情況下,創(chuàng)建Xamarin應(yīng)用程序時(shí),無(wú)法通過(guò)框架控件實(shí)現(xiàn)預(yù)期的UI。因此,最終您將創(chuàng)建多個(gè)自定義控件和特定于平臺(tái)的渲染器。僅當(dāng)不需要太多工作來(lái)創(chuàng)建和維護(hù)控件時(shí),創(chuàng)建自己的控件才是理想的選擇。
使用第三方自定義控件是一種可降低應(yīng)用程序設(shè)計(jì)和維護(hù)成本的解決方案。為此,Syncfusion是Xamarin.Forms組件的市場(chǎng)領(lǐng)導(dǎo)者,擁有145個(gè)以上的Xamarin UI控件,可在您的應(yīng)用程序中用于所有方案,并提供簡(jiǎn)單明了的許可。
使用熱重載快速迭代
直到幾個(gè)月前,您必須一次又一次地構(gòu)建和部署,以驗(yàn)證Xamarin.Forms應(yīng)用程序中最簡(jiǎn)單的更改。這是一個(gè)非常耗時(shí)的過(guò)程,需要重新編譯和重新部署整個(gè)應(yīng)用程序以進(jìn)行每一個(gè)小的更改。Xamarin團(tuán)隊(duì)最近推出了一項(xiàng)熱重裝功能,以解決此問(wèn)題。在Visual Studio中啟用“熱重載”選項(xiàng)后,您在XAML文件中所做的更改將以當(dāng)前應(yīng)用程序狀態(tài)實(shí)時(shí)反映在正在運(yùn)行的應(yīng)用程序中。下表列出了支持熱重裝的Visual Studio和Xamarin.Forms版本。
注意:在.NET Conf 2019上,團(tuán)隊(duì)宣布了Xamarin Hot Restart。Hot Restart選項(xiàng)將使您能夠快速驗(yàn)證在代碼隱藏文件和資源文件中所做的更改。這是通過(guò)將新程序集直接推送到現(xiàn)有應(yīng)用程序捆綁包中,而不是重做完整的構(gòu)建來(lái)實(shí)現(xiàn)的。這將成為Xamarin.Forms開發(fā)人員最歡迎的功能。請(qǐng)參閱此博客,以獲取有關(guān)它的更多詳細(xì)信息以及顯示其性能影響的統(tǒng)計(jì)信息。
構(gòu)建時(shí)優(yōu)化
構(gòu)建應(yīng)用程序無(wú)疑會(huì)占用大量開發(fā)人員的時(shí)間,尤其是在為Android項(xiàng)目構(gòu)建Xamarin.Forms時(shí)。您可以使用一些屬性來(lái)加快Xamarin.Forms應(yīng)用程序中的構(gòu)建過(guò)程。
持續(xù)集成
盡管您可以使用“熱重載”和構(gòu)建優(yōu)化選項(xiàng),但最終還是需要有人進(jìn)行構(gòu)建,以將其交付給測(cè)試人員和最終用戶。我們經(jīng)常會(huì)遇到這種情況,即構(gòu)建在我們的終端上可以按預(yù)期工作,但在客戶的終端上卻表現(xiàn)不佳。持續(xù)集成(CI)是解決此類問(wèn)題的最佳解決方案。不僅對(duì)于Xamarin.Forms,對(duì)于您使用的任何域或平臺(tái),CI無(wú)疑都將提高您的生產(chǎn)率。為了幫助您在Xamarin.Forms項(xiàng)目中實(shí)現(xiàn)CI,Visual Studio提供了App Center。
App Center可以針對(duì)您在存儲(chǔ)庫(kù)中所做的每次提交構(gòu)建應(yīng)用程序,使用許多虛擬設(shè)備測(cè)試該應(yīng)用程序,并將該應(yīng)用程序分發(fā)給各個(gè)協(xié)作者以進(jìn)一步使用或測(cè)試。App Center最有用的部分是它可以報(bào)告許多分析和診斷數(shù)據(jù)點(diǎn),例如崩潰報(bào)告,應(yīng)用程序各個(gè)模塊上的用戶歷史記錄等等。有免費(fèi)和付費(fèi)版本的App Center。
本文內(nèi)容到這里就完結(jié)啦,希望這些技巧對(duì)您有所幫助~
想要購(gòu)買該產(chǎn)品正版授權(quán),或了解更多產(chǎn)品信息請(qǐng)點(diǎn)擊
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: