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