Monthly Archives - 八月 2017

Xamarin入門心得

首先介紹一下Xamarin這個工具,它是微軟買下來的跨平台App開發平台,可以用很節省代碼開發iOS、Android、UWP,好像還可以開發Mac程式,我還沒測試。

我因為手機是用iPhone,當然想開發iOS程式,但首先就遇到一個問題,開發iOS的程式用Xamarin得要一台Mac。聽說是可以租虛擬Mac來做編譯,但我還是花了51000刷了一台Macbook。

然後開發可以在Windows或Mac上面開發,Windows用Visual Studio,Mac用Visual Studio for Mac,如果現在還在說開發用Xamarin Studio的文章都過期了,因為那個產品已經被合併到Visual Studio for Mac了。

我原先是想用Windows開發,無奈我電腦過了3年速度慢太多,現在Windows的電腦只能拿來上上網和看看動畫吧!偶爾寫寫Windows的程式但要很有耐心。對於學東西要快速嘗試反應來說完全不合適。

所以我就用Mac開發。Mac只能開發Android和iOS兩個平台的App而已,UWP不行,但我沒看過人用UWP的手機。

我寫的第一個測試專案的細節有空再寫,我大概寫一下環境介紹就好。

用Mac開發,我還沒嘗試連接自己的iPhone,我是用Mac內建的模擬器。

在安裝的時候Android的SDK、NDK曾經出現找不到的狀況,所以我裝了Android Studio,把Android的SDK和NDK指定,然後就可以開發Android的專案。

如果沒有指定那兩項,Android的勾勾會變成不能勾,只能開發iOS的App,這樣學Swift就好了啊。

程式的語言基本上是C#,所以檔案的副檔名幾乎都是.cs,C#對微軟體系的開發者來說是再友善不過了。

為什麼我會想學Xamarin?雖然Xamarin的中文資源相當少,它的Coder也不多,但我看中它節省程式碼的部分,和只要一個語言就可以開發Windows、Web、App的好處。

再加上它的背後有微軟這個大公司在當推手,比起一些平台沒有太多的資金援助,來自官方的資源相對的會多一些。

這我在開發ASP.NET的時候就有所感觸了,因為微軟強力扶植相關的第三方控制項企業,導致開發起來要做到複雜度很高的東西相對的輕鬆很多。

我C#本身大概接觸10年,對我來說已經算程式設計母語,這也是原因之一。當然為了App換語言是沒問題,但為了iOS和Android分別去學兩個原生語言相當的花費時間。

當然用JavaScript開發App也是一個解決方案,但這就是個人抉擇,我上網去國外討論區爬文了半天,看到一堆筆戰但都打的是無關緊要的部分,簡單來說只是個人習慣和自己的抉擇而已。

有人喜歡吃牛排,有人喜歡吃魚排,沒辦法說哪個好吃也沒辦法說哪個比較正確。既然沒辦法說優劣,那我當然先從我需要改變最少的下手。

再者,程式設計中的商業邏輯,或所謂的演算法,在Xamarin只需要用C#寫一次就行了。所以編寫輕鬆、Debug輕鬆、事後維護輕鬆。

而且我前陣子體驗了Azure的方便性後,Xamarin和Azure的整合可以說是相當強,雖然這種整合模式需要的成本較高,但不論在開發時間、維護成本上面來說,這種整合方案是相當划算。

Xamarin有一個線上University,我正在考慮是否要參加,還是等我看完Microsoft Press出的一本很厚的基礎概念書以後再參加,因為那個線上學院的是全英文聽說,並非讀寫。

若沒有一些基礎知識,在聽說上,恐怕能理解的部分會相當少,我註冊了試用帳號去聽了幾個自學課程,老實說只能聽懂6~7成,因為英文講得實在太快了。

不過我是有想要拿Xamarin的證照,參加那個可以免費參加證照考試(好像),然後有疑難雜症的話一個月有30分鐘的Office Hour(有點少)。