在Xamarin中使用Portable Class Library 做跨平台应用

Xamarin 支持Portable Class Library 了,这是一个不错的消息。今天就和大家说说这个。

用Xamarin 开发跨平台移动应用优势在于跨平台逻辑,早期只能使用File Linker 的方式去共享逻辑代码!首先我们来回顾一下 ,看看这张早期的图:

在Xamarin中使用Portable Class Library 做跨平台应用_第1张图片


上图指出客户端是通过引用的方式去调用跨平台的逻辑。通过FileLinker 还可以根据不同客户端的需要进行一些定制。但是FileLinker 在被调用时,往往都会产生很多附加的编译步骤。举个例子吧,早期的Json.net 库你必须针对Silverlight , WPF进行调用。而且要加不同的判断,以致在做共享逻辑时,花费更多时间在平台差异化的定制上。

Portable Class Library 的出现就是为了解决共享逻辑File Linker中针对不同平台定制的问题。这个的好处是通过库形式去把共享逻辑放到不同的移动平台上。由于要兼顾不同的平台,意味着交集越来越少。换句话说可以共用的代码就越少。如下图:


在Xamarin中使用Portable Class Library 做跨平台应用_第2张图片


在跨平台项目中,你会选择用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


你可能感兴趣的:(ios,android,C#,Class,portable,Xamarin,libra)