轉(zhuǎn)帖|使用教程|編輯:我只采一朵|2014-07-25 10:15:05.000|閱讀 1349 次
概述:在跨平臺(tái)項(xiàng)目中,你會(huì)選擇用Portable Class Library 還是File Linker?
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
Xamarin 支持Portable Class Library 了,這是一個(gè)好消息。今天就和大家說說這個(gè)。用Xamarin 開發(fā)跨平臺(tái)移動(dòng)應(yīng)用優(yōu)勢(shì)在于跨平臺(tái)邏輯,早期只能使用File Linker 的方式去共享邏輯代碼!首先我們來回顧一下 ,看看這張?jiān)缙诘膱D:
上圖指出客戶端是通過引用的方式去調(diào)用跨平臺(tái)的邏輯。通過FileLinker 還可以根據(jù)不同客戶端的需要進(jìn)行一些定制。但是FileLinker 在被調(diào)用時(shí),往往都會(huì)產(chǎn)生很多附加的編譯步驟。舉個(gè)例子吧,早期的Json.net 庫你必須針對(duì)Silverlight , WPF進(jìn)行調(diào)用。而且要加不同的判斷,以致在做共享邏輯時(shí),花費(fèi)更多時(shí)間在平臺(tái)差異化的定制上。
Portable Class Library 的出現(xiàn)就是為了解決共享邏輯File Linker中針對(duì)不同平臺(tái)定制的問題。這個(gè)的好處是通過庫形式去把共享邏輯放到不同的移動(dòng)平臺(tái)上。由于要兼顧不同的平臺(tái),意味著交集越來越少。換句話說可以共用的代碼就越少。如下圖:
在跨平臺(tái)項(xiàng)目中,你會(huì)選擇用Portable Class Library 還是File Linker?
首先,你要明白跨的平臺(tái)越多,能共用得越少!例如調(diào)用RESTFUL的API ,Async這類的都有對(duì)應(yīng)的Portable Class Library庫。但是例如bass這類與系統(tǒng)底層相關(guān)的庫就沒有PCL了,始終不同平臺(tái)對(duì)音頻編解碼還是有不同。
第二,為啥不考慮共用呢?就是PCL和FileLinker結(jié)合!這個(gè)有點(diǎn)玄妙,估計(jì)項(xiàng)目碰到后,你會(huì)發(fā)現(xiàn)兩者結(jié)合更有意義。
最后,說說由于PCL的支持在Xamarin還是剛開始,很多庫都還沒有PCL的支持,所以你不要完全寄望在它身上,當(dāng)然隨著時(shí)間的推移會(huì)有對(duì)應(yīng)的。
By盧建暉
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn