.NET之全平臺一體化的體驗

發表於2016-05-18

一、前言

近來利用空閒時間研究了一下Xamarin的技術,想想既然提供瞭如此好的支援,就該嘗試一切可能,來一個”大小通吃“。

何為全平臺:APP包括Android、IOS、WP,WEB可在Window和Linux部署執行(進可攻,退可守)

二、簡單實現

先來看張圖吧

這個是本人實現專案的截圖,比較簡單。

app那塊的話,目前僅實現了Android,IOS的話,沒有機器,不想在虛擬機器裝(已經裝了3個Linux了,再裝估計要卡爆了)

UWP也是機子問題(還未升級到win 10 10568,介面不能實時看到調起來很蛋疼,所以暫時現放著,過段時間補上)

對於我這種情況來說,標題說成是全平臺是誇大了一點,但是卻是完全可行!!不是弄虛作假的。

下面來說說“進可攻,退可守”

這個問題主要是針對web端的。

先來說說“進可攻”,可以在linux下部署我們的後臺網站和資料服務,主要的話還是Jexus(免安裝mono版)和TinyFox

不是我不用ASP.NET Core,而是用的我好揪心所以就沒用了。

“退可守”,我們還有win server 的IIS

看,我真的沒有裝mono喔!!!

然後簡單說說一些細節上的東西

目前有14個子專案分在5個專案資料夾裡面(包含幾個測試專案)

01-APP 是app相關的

02-Website 是後臺管理的網站,基於NancyFx,身份驗證用了自帶的Forms Authentication

03-DataService 主要用於給app提供資料服務,或者可以說是介面,這裡我寫了兩套,一套基於MVC,一套基於NancyFx(使用OWIN)

04-Core 是資料訪問和模型,用到了Dapper

05-Logic 邏輯層

裡面用到Nancy和app的簡單使用,都可以在我前面的部落格找到相應的用法

其中包含了幾個測試專案,用到的是xUnit,不過前三個專案資料夾的測試還沒有做,對app的UI測試還是懵懂狀態

evolve 2016上看到 Test Cloud Live 很開心,不過到處找不到,最後發郵件去問,得到的回覆如下

“Keep a look out on our blog for more information on when Test Cloud Live is available to everyone. But yes, at this time, it’s not open for general use.”

有點小小的失望。

最後來看看部分執行圖吧(介面很醜,很醜,很醜,不要吐槽)

             

上面是Android端的

下面是Web端的(server是jexus/5.8.1.3 Linux)

   

至於原始碼的話,現在還有許多bug,所以暫時不上傳,6月底或者7月初會上傳到github

相關文章