一、 緒論 本章僅就本研究的研究背景、研究動機、研究目標、研 … · 一、 緒論 本章僅就本研究的研究背景、研究動機、研究目標、研究的重要性及本研究的
Xamarin 研究
-
Upload
shengwen-chiou -
Category
Software
-
view
2.822 -
download
0
Transcript of Xamarin 研究
Xamarin 研究HappyMan2015/01/13
Xamarin簡介• Xamarin 是由早期的 Mono 專案演變而來,原本是在 Linux 上執行 C# 程式的一個開放原始碼專案。• 後來陸續發表支援 iOS 的 Mono Touch
framework 以及 Mono For Android Framework 。因此它在市場上並不是一個新的產品。
• 2011 年,原本在 Novell 的 Mono 專案團隊獨立成立一家公司,正式將名稱改為 Xamarin 。
Xamarin簡介• Xamarin 是一個行動 App 開發平台,提供跨平台開發能力,開發人員透過 Xamarin 開發工具與程式語言,即可開發出 iOS 、 Android 與
Windows 等平台的原生 (Native) App 應用程式。• 不須個別使用各平台的開發工具與程式語言,不只是「 write-once, run everywhere. 」的跨平台解決方案,更可達到「 write your code
once, and present native UIs on each platform. 」之跨平台開發能力。
Xamarin簡介• 由於 Xamarin 可直接產生各平台之原生
App 應用程式,相較於其他跨平台方案,藉由 Xamarin 所開發出來的 App 應用程式,更能發揮出各行動平台的功能與特性,且具有最佳的執行效能。
觸及裝置
特色• 以 C#開發,編譯成 iOS與 Android原生執行碼,非 HTML5解決方案
• 任何 Objective-C (iOS)與 Java (Android)可以做的, Xamarin都可以做到
• 執行效能 100% 與原平台程式 (Objective-C, Java)所開發的一樣
• 結合Microsoft Visual Studio開發工具,讓開發更方便、快速
跨平台開發• Xamarin可以使用熟悉的 C#來撰寫 iOS,
Android, Mac及Windows應用程式。
程式碼重用 (Reuse)• 使用最愛的 C#及 .NET函式庫,輕鬆使用第三方的 Native Library及Framework。
智慧輸入• 開發應用程式時,開發工具會偵測輸入的部份字母,尋找對應的 API 並自動完成輸入。
Visual Studio 整合• 在 Visual Studio中建立、建置、除錯以
及部署。 還可以使用您喜愛的 plug-in,例如 ReSharper以及與 TFS整合。
原生的使用者介面及效能• Xamarin 帶給高效能的體驗並完整對應各個平台的 Native API 。因此透過
Xamarin ,建立的應用程式可以完全發揮裝置特有的性能。
UI設計• 可在 Visual Studio 中同時整合 Android與 iOS 的 UI 設計功能,讓我們在同一開發環境輕鬆完成操作畫面設計 !
其他解決方案比較
原理說明• Xamarin 是市場上少數提供原生解決方案的跨平台行動開發工具,原生應用程式應該包含以下特性:– 使用標準的使用者介面並符合各個行動平台的設計準則。– 搭配裝置硬體以提供最佳化的效能。– 能夠完整存取裝置硬體上的功能。
原理說明• Xamarin 將原生 (Native) 的 iOS 及 Android
API 轉換為 C# 函式庫供使用者使用,開發人員可使用 C# 撰寫程式,並呼叫原生平台 (iOS, Android) 的 API ,且透過良好的設計,可以在不同平台共用部份程式碼。
• 開發人員可透過 Xamarin 編譯器,直接將程式編譯為 ARM 的執行檔,並進行各平台的封裝。• 編譯封裝完成的 App 由於不經過中間轉譯,直接編譯為原生的二進位執行檔,因此具有好的運作效能。
MVC 設計模式
程式碼共用
分開編譯
各版本收費與服務
各版本收費與服務(續)
用過的人的經驗 -1• 發表時間: Tue Aug 27 09:04:43 2013• 用 Xarmin 開發 Android 要另外學,而且資源比較少• 客製化元件建議不要走 Xamarin• 使用 SDK 會比較麻煩,須寫 Java 轉接檔,如使用 Facebook 或 AdMob ,要寫一份 Java轉接檔,讓 C# 抓得到那些 Java Method• 要看他們支援的能力與價錢如何
用過的人的經驗 -1• 發表時間: Tue Aug 27 09:04:43 2013• 進階功能或技術支援時,開始大筆鈔票流失• 很多都是 Java 語法,首字大寫就變 C#• 網址:
https://www.ptt.cc/bbs/AndroidDev/M.1377565486.A.5D1.html
用過的人的經驗 -2• 發表時間: Thu Feb 27 16:14:03 2014• 使用 Xamarin還是得去學 android和 ios的 app架構• 有 MVC 開發基礎的人比較容易上手• VS這強大的 IDE 本身就能幫你解決許多問題• Eclipse 是神器, VS就是開外掛• C#非常好上手,猴子也會做
用過的人的經驗 -2• 共通的部分不用使用不同的語言重寫• 三大平台,這邊參考那邊引用,即可解決• 需要花力氣開發的是 View , Solution 不多• 搜尋解法關鍵字「 Mono 」• 沒有非要跨平台的需求根本自虐• Coding速度還好, Compiling超級慢• 網址:
https://www.ptt.cc/bbs/AndroidDev/M.1393488846.A.326.html
用過的人的經驗 -3• 發表時間: 2013-04-05 19:00• 放棄的原因:– 新項目,用戶少,資源少,遇到提要自己硬啃,不然要等幾天時間官方技術支援– API 更新總是慢於原生 API 提供商,也就是無法即時使用最新 API– 因是商業軟體,想要研究可行性就要花錢
• 網址:http://fanli7.net/a/bianchengyuyan/C__/20130405/335386.html
StackOverFlow Tag 數量• 調查時間: 2015/01/14• 網址:
http://stackoverflow.com/questions/tagged/xamarin平台 語言
Xamarin : 5622 C# : 742176
iOS : 299787 Objective-C : 214602
Android : 615680 Java : 778543
GitHub Repository 數量• 調查時間: 2015/01/14• 網址: https://github.com/search?q=
xamarin
平台 Repository Code
Xamarin 2095 169922
iOS 62493 9645233
Android 166027 45194646
書籍• 書名: Visual C#與 Xamarin跨平台行動 App開發實戰: iOS/Android/Windows一次搞定博客來: http://www.books.com.tw/products/0010649715出版日期: 2014/09/18
參考• Xamarin - 中文網站
http://www.thinkpower.info/xamarin/• [ 案例分享 ] 茂迪公司一次打造跨平台 App 即時掌握生產線資訊
http://blogs.msdn.com/b/msdntaiwan/archive/2014/01/24/motech-casestudy-visualstudio-xamarin.aspx
• Xamarin + Visual Studio - 真 * 跨平台 app 開發日• http://blogs.msdn.com/b/msdntaiwan/archi
ve/2014/02/27/visualstudio-xamarin-app.aspx
參考• Mobile App Development & App
Creation Software – Xamarinhttp://xamarin.com/
• Xamarin – 中文網站 CSDNhttp://xamarin.csdn.net/