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