轉帖|使用教程|編輯:我只采一朵|2014-07-25 10:15:05.000|閱讀 1349 次
概述:在跨平臺項目中,你會選擇用Portable Class Library 還是File Linker?
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
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的支持,所以你不要完全寄望在它身上,當然隨著時間的推移會有對應的。
By盧建暉
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn