在Xamarin中使用Portable Class Library 做跨平臺應用

Xamarin 支持Portable Class Library 了,這是一個不錯的消息。今天就和大家說說這個。

用Xamarin 開發跨平臺移動應用優勢在於跨平臺邏輯,早期只能使用File Linker 的方式去共享邏輯代碼!首先我們來回顧一下 ,看看這張早期的圖:



上圖指出客戶端是通過引用的方式去調用跨平臺的邏輯。通過FileLinker 還可以根據不同客戶端的需要進行一些定製。但是FileLinker 在被調用時,往往都會產生很多附加的編譯步驟。舉個例子吧,早期的Json.net 庫你必須針對Silverlight , WPF進行調用。而且要加不同的判斷,以致在做共享邏輯時,花費更多時間在平臺差異化的定製上。

Portable Class Library 的出現就是爲了解決共享邏輯File Linker中針對不同平臺定製的問題。這個的好處是通過庫形式去把共享邏輯放到不同的移動平臺上。由於要兼顧不同的平臺,意味着交集越來越少。換句話說可以共用的代碼就越少。如下圖:




在跨平臺項目中,你會選擇用Portable Class Library 還是File Linker?

首先,你要明白跨的平臺越多,能共用得越少!例如調用RESTFUL的API ,Async這類的都有對應的Portable Class Library庫。但是例如bass這類與系統底層相關的庫就沒有PCL了,始終不同平臺對音頻編解碼還是有不同。

第二,爲啥不考慮共用呢?就是PCL和FileLinker結合!這個有點玄妙,估計項目碰到後,你會發現兩者結合更有意義。

最後,說說由於PCL的支持在Xamarin還是剛開始,很多庫都還沒有PCL的支持,所以你不要完全寄望在它身上,當然隨着時間的推移會有對應的。


轉自:盧建暉的技術博客

Xamarin中文網站,瞭解更多:http://xamarin.csdn.net

聯繫CSDN瞭解更多產品訊息:010-84783783


發佈了8 篇原創文章 · 獲贊 10 · 訪問量 17萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章