Kii和 Xamarin:迅速創建跨平臺應用
現在,只需借助一個代碼庫和一個嵌入式后端服務便可節省無數的時間完成跨平臺應用開發。
我要如何開始?
Xamarin Studio
Kii C# SDK
一些 .NET 代碼技術 (一點點 C#)
Xamarin Studio 是一款 IDE 格式的 Mono 開發環境(一個開源碼的 .NET 棧)作為 .NET 專家,他們想出一個主意:能夠提供一款基于 .NET IDE 并且允許編譯和部署在多平臺上,包括 Android、iOS以及 Windows Phone系統。系統會自動設置一個執行時間,允許.NET 程序集執行。 這樣可以壓縮特定平臺的代碼至最小化以及獲得大量平臺間通用的代碼(并且是在同一個地方編碼/維護)。
我需要做些什么?
先看一個由 Xamarin 出品并十分受歡迎的演示: Tasky。Tasky 是一個任務管理框架,作為展示如何創建一個多平臺應用的示例再合適不過的。它包含一個提供所有共享代碼(Tasky.Core)的項目,然后將其提供的平臺特定代碼放在單獨的項目上(Tasky.Droid、Tasky.iOS等等)。此外,該示例很好地展示應用層(用戶,數據,UI)的分工,這使得我們可以十分容易的將數據管理層替換成 Kii 數據管理服務(這正是我們將要在這里完成的事情)。
首先我們需要引用項目中的 Kii C# SDK 組件(你可以在此下載,選擇 Unity SDK),下載并安裝 Xamarin Studio,打開使用的項目并定位到 Tasky.Core,查找項目文件層結構的 References文件夾, 右擊并選擇 Edit References。這里需要定位到之前下載的組件:JsonOrg.dll 以及 KiiCloudStorageSDK.dll (重復以上步驟為每個特定平臺的項目設置引用,如 Tasky.Droid)。
接下來,你需要將 Kii Cloud API 調用替換數據層中的數據管理調用。以修改后的 Task 項目為例:你不難發現主要的業務類叫做 Task, TaskManager 通過一個 TaskRepository / TaskDatabase 處理所有 Task的操作。該 TaskDatabase 建立在 SQLite.Net 上,代表一個特定的數據庫,此例中為 Task DB。它包含了檢索、保存、數據庫創建等方法,這些都是基于底層 ORM 的。然而,該數據庫是保存在本地文件的,所以你所有的 Task都在一臺設備上的。當使用其他設備時,你需要從頭開始。
有哪些優勢?
作為Kii Cloud 的數據提供者,你的數據將存放在 Cloud 上,并且能夠跨設備和平臺間共享(只需使用同一用戶登錄),所以借助一個 IDE 和一個后端 SDK 來部署多平臺應用,你不但獲得了應用集成經驗,而且還可以節省寶貴的開發時間。
一起來看看在代碼中如何使用 Cloud 庫(Kii Cloud)替換原有的 TaskRepository。為簡單起見,我們硬編碼( hard-coding)的用戶名 / 密碼,但是你需要提供一個界面,使同一用戶的注冊和登錄,這樣便能在不同設備和平臺上管理相同的Task。正如你所看到的這一切都基于 Cloud 調用而不是依賴于本地存儲!
哪里獲得源代碼?
相同的 Kii 代碼庫在 iOS 和 Android 上的運行效果:
本文鏈接:http://www.oschina.net/question/1860887_163290