Xamarin學(xué)習(xí)筆記-配置環(huán)境(Windows&iOS)

本文翻譯自CodeProject文章:https://www.codeproject.com/Articles/1223980/Xamarin-Notes-Set-up-the-environment-Windows-and-I

創(chuàng)新互聯(lián)公司長(zhǎng)期為1000多家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為中衛(wèi)企業(yè)提供專業(yè)的成都網(wǎng)站制作、網(wǎng)站建設(shè),中衛(wèi)網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

轉(zhuǎn)載請(qǐng)注明出處:葡萄城官網(wǎng),葡萄城為開發(fā)者提供專業(yè)的開發(fā)工具、解決方案和服務(wù),賦能開發(fā)者。

背景介紹

一直以來(lái),做為一名Web以及桌面開發(fā)人員,我一直在使用.NET框架和C#語(yǔ)言,而在某些項(xiàng)目中,Angular會(huì)在前端占有主導(dǎo)地位。 最近,我們總是談?wù)撘苿?dòng)應(yīng)用程序開發(fā)的未來(lái),但我本身實(shí)在沒有天賦轉(zhuǎn)向另一種語(yǔ)言。最近幾年,針對(duì)我的社交項(xiàng)目,我嘗試使用Hybrid框架和AngularJS以及Ionic,Cordova一起構(gòu)建一個(gè)示例……但一切并不像我想象得那樣容易。此后微軟于2016年2月份收購(gòu)了Xamarin并在之后不久宣布了將Xamarin開源。自此微軟生成用C#開發(fā)的軟件將不僅僅能夠運(yùn)行在Windows上,而是可以在任何設(shè)備上運(yùn)行。繼微軟收購(gòu)Xamarin之后,對(duì)可以將C#開發(fā)與全功能的跨平臺(tái)移動(dòng)開發(fā)工具相結(jié)合,使用開發(fā)工具共享業(yè)務(wù)邏輯代碼,以提供完全原生的應(yīng)用程序的專業(yè)人士的需求日益增加,這一點(diǎn)自從2011年之后就一發(fā)不可收拾。

因此,Xamarin是開始開發(fā)跨平臺(tái)應(yīng)用程序的解決方案,它為你提供了本機(jī)代碼輸出的iOS,Android甚至是UWP的流暢用戶界面。

通過(guò)使用Xamarin.Forms,用戶UI界面通過(guò)一個(gè)統(tǒng)一的框架,也就是XAML,可以同時(shí)用于三種不同的平臺(tái)??梢韵胂螅绻覀兡軌蜥槍?duì)三種截然不同的平臺(tái)可以對(duì)發(fā)布的應(yīng)用程序進(jìn)行最大程度的代碼共享,這將是一件非??岬氖虑椤?/p>

本課程的目標(biāo)將以我的學(xué)習(xí)方式介紹Xamarin多平臺(tái)開發(fā)框架。

Xamarin擁有豐富的免費(fèi)和付費(fèi)資源,對(duì)我來(lái)說(shuō)最好的入門課程就是Xamarin官方開發(fā)社區(qū)。(https://developer.xamarin.com/)在這里你可以沒有限制的獲取所需的知識(shí)。

當(dāng)我們開始學(xué)習(xí)使用Xamarin,我們可以注意到有兩種方式可以進(jìn)行開發(fā),其中第一種是使用Xamarin。你可以在一個(gè)Portable工程里面通過(guò)XAML加上C#或者使用Xamarin.Android或Xamarin.iOS構(gòu)建表單,在這種情況下,我們需要用到特定的本地環(huán)境,比如說(shuō)通過(guò)C#代碼操縱iOS的Storyboard。

這是關(guān)于Xamarin的一個(gè)概要描述:

Xamarin 學(xué)習(xí)筆記 - 配置環(huán)境(Windows & iOS)

“Xamarin不是一個(gè)單一的事物,而是許多事物的集合。”

這是與Xamarin有關(guān)的一個(gè)簡(jiǎn)短的描述,你可以找到更多的文檔進(jìn)一步闡述其優(yōu)點(diǎn)和缺點(diǎn)。

Xamarin使得你可以使用C#創(chuàng)建原生的應(yīng)用。

在文章的另一部分,我將從定義硬件和軟件需求開始入手,即便是你沒有任何的移動(dòng)端開發(fā)經(jīng)驗(yàn),也能夠開始了解如何開始構(gòu)建一個(gè)移動(dòng)應(yīng)用。

背景

需要具有C#和移動(dòng)端開發(fā)的基礎(chǔ)知識(shí)。

設(shè)置開發(fā)環(huán)境(Windows以及iOS)

重要的是要注意,這些工具的發(fā)展速度非??欤鶕?jù)你閱讀這篇文章的情況,這些工具可能不是很有用。

如果你希望構(gòu)建一個(gè)Android應(yīng)用,在Windows上進(jìn)行開發(fā)的話你需要Visual Studio 2017或者在Mac上進(jìn)行開發(fā)的話你需要 Visual Studio for Mac版本。但是如果你希望構(gòu)建一個(gè)iOS應(yīng)用,你仍舊可以在Windows上使用Visual Studio 2017但是你必須通過(guò)另外一個(gè)Mac機(jī)器進(jìn)行編譯,或者你可以直接使用Visual Studio for Mac版本,這是蘋果開發(fā)模型硬性的要求。

1. 系統(tǒng)要求

a. Windows

· Windows 10。

· Core i7, 16 GB 的內(nèi)存(以便確保你能夠很舒服的進(jìn)行開發(fā),實(shí)際上最低的硬件需求可以是Core i5加上4GB的內(nèi)存)。

· Visual Studio 2017(在當(dāng)前的開發(fā)目的下,具體版本究竟是Enterprise還是Community并不重要)。

a. Mac

· Mac OS 11(直至寫這個(gè)文檔時(shí)的版本,實(shí)際上我們總是使用最新的版本)。

· Core i7, 16 GB 內(nèi)存,以及 256GB的SSD固態(tài)硬盤。

· Visual Studio for Mac。

· XCode 9(或者最新版本)。

UWP

它僅適用于Windows,其安裝過(guò)程非常簡(jiǎn)單,僅需選中“使用Windows通用平臺(tái)進(jìn)行開發(fā)”的選項(xiàng)作為安裝UWP開發(fā)環(huán)境和SDK的選擇:用于Windows 10的IntelliTrace以及SDK。

Xamarin 學(xué)習(xí)筆記 - 配置環(huán)境(Windows & iOS)

設(shè)置環(huán)境

你可以在以下文檔中找到Windows或iOS所需的全部要求:

https://developer.xamarin.com/guides/cross-platform/getting_started/requirements/

針對(duì)全部這兩個(gè)平臺(tái)的設(shè)置,我們都需要安裝Visual Studio的最新版本,直至我寫下這篇博文,我們能夠使用的最新版本是Visual Stuido 2017(Windows平臺(tái)以及MAC平臺(tái)): https://www.visualstudio.com/

Windows

Xamarin 學(xué)習(xí)筆記 - 配置環(huán)境(Windows & iOS)

我們可以安裝任意版本,Community或者Professional再或者Enterprise。安裝時(shí),需要選擇使用.NET的移動(dòng)開發(fā)。

IOS

安裝Visual Studio for Mac的過(guò)程和在Windows下安裝Windows的過(guò)程非常相似。你可以在安裝時(shí)選擇需要的組件,或許你會(huì)選擇不安裝Android SDK,因?yàn)槟阋呀?jīng)在Windows平臺(tái)下安裝過(guò)了。然而如果你從不使用Windows,那么你必須安裝Android SDK,這一過(guò)程將在以下章節(jié)做進(jìn)一步的闡述,在Mac上安裝Android SDK,你將不會(huì)遇到任何麻煩。

如果你是在MAC上進(jìn)行安裝,那么站點(diǎn)將識(shí)別你的環(huán)境并顯示Community或者其它版本的下載鏈接部分:

Xamarin 學(xué)習(xí)筆記 - 配置環(huán)境(Windows & iOS)

仿真器(Emulator)而不是模擬器(Simulator)

iOS仿真器不是一個(gè)簡(jiǎn)單的模擬器。二者有著相當(dāng)大的區(qū)別。有一些功能僅在物理設(shè)備上能夠正常工作。

仿真器和XCode一起安裝。默認(rèn)情況下,在安裝IDE時(shí),其中一些已經(jīng)安裝,如果你希望添加更多的仿真器,找到Preference->Downloads->Components并選中你希望安裝的仿真器。當(dāng)你安裝或者更新XCode或者運(yùn)行仿真器時(shí),通常會(huì)顯示一個(gè)窗口提示使用條款的內(nèi)容。如果你不接受條款,那么 Visual Studio for Mac版將不會(huì)識(shí)別該仿真器。

更多信息請(qǐng)參見: https://www.visualstudio.com/pt-br/vs/visual-studio-mac/

使用Android的先決條件

Android版本開發(fā)的基本需求是以下組件:

-          Java 64位 SDK (JDK)

-          Android SDK

-          Android NDK為可選組件,但是無(wú)論如何我每次都裝。

當(dāng)你通過(guò)Visual Studio安裝Xamarin時(shí),以上全部的三個(gè)組件都已經(jīng)安裝。但是有一個(gè)問(wèn)題,直至最新的版本,安裝程序都會(huì)下載32位的JDK,該版本是不相容的。

另外一點(diǎn)需要指出的是,安裝程序?qū)⑺鼈儼惭b在“C:/Program Files/RepositoryName”路徑下,這并不是安全的方式,因?yàn)槟阌锌赡軙?huì)收到一個(gè)關(guān)于文件路徑的字符數(shù)超出256個(gè)字符限制的錯(cuò)誤,同時(shí)在這個(gè)路徑中包含了一個(gè)空格,這一點(diǎn)可能會(huì)給你帶來(lái)諸多的麻煩。

因此,為了防止以上情況發(fā)生,建議你手動(dòng)的在C盤根目錄下安裝這些組件,并在Windows環(huán)境變量中手動(dòng)添加這些組件的路徑。

C:/java

C:/android-sdk

C:/android-ndk

將這些組件注冊(cè)在環(huán)境變量里,以確保當(dāng)我需要使用其它開發(fā)工具平臺(tái)時(shí),如果這些開發(fā)工具恰好也依賴這三個(gè)組件,那么它們就已經(jīng)在那里了,不需要重新安裝。

安裝JDK

可以從以下鏈接下載: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

安裝程序就在這里。請(qǐng)確保你點(diǎn)開的是最新的版本。

當(dāng)安裝完成之后,添加以下系統(tǒng)變量:

JAVA_HOME,值為 C:/java/jdk {安裝版本號(hào)}

CLASSPATH,值為 ;% JAVA_HOME% \ lib;% JAVA_HOME% \ jre \ lib

編輯Path變量,并添加以下值:% JAVA_HOME% \ bin

現(xiàn)在打開命令行窗口,并輸入 java -version。如果一切正常沒有什么錯(cuò)誤,該命令將顯示Java的版本。

安裝 Android NDK

從這里下載壓縮包,(https://developer.android.com/ndk/downloads/index.html)并解壓縮至C:/android-ndk。添加變量ANDROID_NDK_HOME,其值為C:/android-ndk。解壓縮其內(nèi)容,確保內(nèi)容中沒有文件夾。

Android SDK

按照站點(diǎn)上的說(shuō)明,Android SDK將與Android Studio一起安裝,但是在Visual Studio 2017中,Android SDK將集成在一起,因此不需要手動(dòng)添加。但是你也可以添加Xamarin Android SDK Manager,如以下鏈接所示: https://marketplace.visualstudio.com/items?itemName=Xamarin.XamarinAndroidSDKManager

創(chuàng)建一個(gè)跨平臺(tái)的Xamarin工程

你可以通過(guò)找到 文件-> 新建 -> Visual C# -> 跨平臺(tái) -> 跨平臺(tái)應(yīng)用程序開始一個(gè)新的 Xamarin.Forms 應(yīng)用程序。該模板允許你選擇起始的工程類型,準(zhǔn)備支持的平臺(tái),以及你的代碼共享方式。

在過(guò)去,我們看到的界面長(zhǎng)這個(gè)樣子:

Xamarin 學(xué)習(xí)筆記 - 配置環(huán)境(Windows & iOS)

Portable 類庫(kù)允許你書寫代碼并生成可以在不同平臺(tái)下共享的類庫(kù),包括Xamarin.iOS,Xamarin.Android,以及Windows Phone。

https://developer.xamarin.com/guides/cross-platform/application_fundamentals/pcl/

但是現(xiàn)在,Portable 類庫(kù)被 .NET Standard所取代:

Xamarin 學(xué)習(xí)筆記 - 配置環(huán)境(Windows & iOS)

.NET Standard是.NET API的一個(gè)正式規(guī)范,旨在適用于所有.NET運(yùn)行時(shí)(如.NET Framework,Mono和.NET Core)。(https://docs.microsoft.com/en-us/dotnet/standard/net-standard)

Xamarin 學(xué)習(xí)筆記 - 配置環(huán)境(Windows & iOS)

https://blog.xamarin.com/building-xamarin-forms-apps-net-standard/

而且你可以包含Azure移動(dòng)應(yīng)用程序,作為后臺(tái)支持的工程。

創(chuàng)建新項(xiàng)目后,我們將擁有以下結(jié)構(gòu):

接下來(lái)的步驟就是選擇通過(guò)仿真器還是你的物理設(shè)備進(jìn)行編譯,但是最近,微軟有宣布了一個(gè)新的、更快的Xamarin以及Visual Studio for Mac的工具,用于編譯并呈現(xiàn)你的應(yīng)用程序,也就是安裝在你iOS或者Android設(shè)備上的Xamarin Live Player應(yīng)用程序。

Emulator仿真器

當(dāng)我開始我的工作室時(shí),我遇到了和仿真器相關(guān)的許多麻煩,Windows 10 Mobile仿真器使用Hyper-v。而我們嘗試安裝GenyMotion作為Android的仿真器,但是它依賴的是Visual Box。Hyper-v和Virtual Box無(wú)法工作在同一臺(tái)機(jī)器上。甚至有可能有某種方式讓它們一起工作,GenyMotion允許你獲取更多的設(shè)備(針對(duì)許多個(gè)人用途),但是正如我之前提到過(guò)的那樣,它需要特殊的配置(更多細(xì)節(jié)請(qǐng)參見:https://docs.genymotion.com/pdf/PDF_User_Guide/Genymotion-2.11-User-Guide.pdf),但是在培訓(xùn)教室里用到的機(jī)器不具備這項(xiàng)特性。

之后,為了盡可能的減少機(jī)器內(nèi)存的消耗,我們使用我們自己的手機(jī)(三星,華為……),我們安裝了相應(yīng)的USB驅(qū)動(dòng),之后開始編譯并查看運(yùn)行結(jié)果,但是在特定機(jī)型上我們始終會(huì)碰到一些問(wèn)題。

Xamarin Live Player

Visual Studio有一個(gè)強(qiáng)大的窗體預(yù)覽工具,它應(yīng)該在運(yùn)行時(shí)顯示視圖,正如每個(gè)人都在抱怨的那樣,它壓根不工作。所以Visual Studio發(fā)布了另一個(gè)工具:Xamarin Live Player。

它為開發(fā)人員提供實(shí)時(shí)反饋,同時(shí)適應(yīng)他們現(xiàn)有的移動(dòng)開發(fā)體驗(yàn)。通過(guò)將你的設(shè)備與IDE配對(duì),我們可以在設(shè)備上直接部署,測(cè)試和調(diào)試應(yīng)用程序。

那么,我們?nèi)绾问褂盟?/p>

這很簡(jiǎn)單,我們可以從你的設(shè)備中選擇一個(gè)新的目標(biāo)開始使用這一功能。

Xamarin 學(xué)習(xí)筆記 - 配置環(huán)境(Windows & iOS)

Xamarin 學(xué)習(xí)筆記 - 配置環(huán)境(Windows & iOS)

Visual Studio App Center(在Xamarin Test Cloud之前)

在創(chuàng)建新的應(yīng)用程序和開發(fā)之后,開發(fā)人員在測(cè)試過(guò)程中面臨許多挑戰(zhàn),甚至他們必須通過(guò)持續(xù)集成交付,此時(shí)你需要一個(gè)允許你在許多設(shè)備中進(jìn)行測(cè)試的環(huán)境。

在移動(dòng)應(yīng)用開發(fā)的生命周期中,一個(gè)應(yīng)用程序,將由一個(gè)設(shè)計(jì)和開發(fā)開始,之后我們將開始測(cè)試和監(jiān)控,但是如果測(cè)試不像我們當(dāng)初所預(yù)期的那樣,我們會(huì)重新回退到設(shè)計(jì)和開發(fā)階段,所以我們嘗試迭代的開發(fā)和維護(hù)。

Microsoft提供了許多服務(wù),例如:HockeyApp(https://hockeyapp.net/),Xamarin Test Cloud(https://www.xamarin.com/test-cloud ),Xamarin Insights(https://insights.xamarin.com/)(但它后來(lái)加入了HockeyApp),Azure移動(dòng)訂閱,Azure應(yīng)用服務(wù)和CodePush。

連接到: https://appcenter.ms/ 但是在Microsoft創(chuàng)建了Visual Studio App Center后,它可以在一個(gè)地方收集所有內(nèi)容。他們采取了所有這些不同的解決方案,并將它們集中在一個(gè)中央應(yīng)用程序中。

要開始構(gòu)建功能,你需要從VSTS或GitHub或BitBucket連接到云中的現(xiàn)有代碼存儲(chǔ)庫(kù),以及一個(gè)構(gòu)建過(guò)程,還有一個(gè)設(shè)備實(shí)驗(yàn)室,擁有超過(guò)300種Android和IOS設(shè)備配置,你可以運(yùn)行自動(dòng)化腳本,它支持各種框架,如Appium,Espresso,XCUITest和Xamarin.UITest。

一旦完成了構(gòu)建任務(wù)流程,你就可以發(fā)布給用戶,你可以創(chuàng)建組,既可以用于公司內(nèi)部的測(cè)試組,也可以創(chuàng)建測(cè)試人員,并將應(yīng)用直接發(fā)送給他們, 應(yīng)用更新。 你也有能力。 準(zhǔn)備好將應(yīng)用發(fā)布到Google Play或iTunes后,連接到應(yīng)用中心。

一旦發(fā)布并使用了應(yīng)用程序,開發(fā)人員就想知道發(fā)生了什么并且在發(fā)生崩潰時(shí)易于維護(hù),你可以從應(yīng)用程序的字段中獲取崩潰報(bào)告中的實(shí)時(shí)堆棧跟蹤。

 

伴隨著崩潰,我們需要了解一些分析以了解更多客戶,因此,從應(yīng)用中心,我們可以記錄自定義事件。 最后,它是推送通知的單一來(lái)源。

新聞名稱:Xamarin學(xué)習(xí)筆記-配置環(huán)境(Windows&iOS)
網(wǎng)頁(yè)路徑:http://muchs.cn/article14/ihcsde.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、全網(wǎng)營(yíng)銷推廣、動(dòng)態(tài)網(wǎng)站、建站公司、服務(wù)器托管、網(wǎng)站設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司