Today's Question:  What weekend projects have you created?        GIVE A SHOUT

Technical Article => Other =>  Other

Cross platform portable class libraries and .net

  ethanmillar      2015-01-12 05:06:44      4,286    0

What’s that happy little feature developers are admiring? Oh that’s Portable class libraries that have been chugging along, during their thing and delivering to the point results wherever used by developers.

If a developer is not writing .net applications for multiple targets, then he likely hasn’t bumped into these libraries. However, developers who are writing .net apps and want these apps to run on every platform from watches to tablets to desktops to the cloud, they can avail Portable Class Libraries offerings.

Though, the libraries have a few technical and legal challenges, but all of these will get resolved and developers will be able to create great binary libraries and make their use everywhere. Several activities are happening inside the .net community around PCL and cross platform .net. MVVM pattern is proving to be an interesting way to enhance code sharing among cross platform apps. PCLs are planning to make wider adoption, several new open source libraries are being released with portable support.  

Portable Library Releases

There are a lot more new libraries released as Portable Class Libraries recently. Three of them are belongs to GitHub:

  • Reactive UI

It is an MVVM framework design over the top of the Reactive Extensions. Its Version 5.0 is completely Portable Friendly and supports platforms like-

    • Xamarin.Android
    • Xamarin.iOS
    • Xamarin.Mac
    • .Net 4.5
    • Windows Store Apps
    • Windows Phone 8
  • Splat

It is a library that makes things cross-platform in a way that should be. Splat has a cross platform APIs for colors and images, with platform-driven extension methods to return and forth between the platform specific native types. Developers find it as an elegant solution to the issue they run into in case they want a portable ViewModel but they wish to expose an image in it.

Four portable libraries that assist developers in accessing web services:

  • FanArt Portable- It’s kind of portable class library that empowers developers to access the film, music image resources, and TV. This library also uses portable HTTPClient.
  • Scoreoid Portable- It’s a library that empowers developers to access the Scoreoid scoring system. For the Scoreoid REST APIs, this library offers user-friendly .Net wrapper and also utilizes portable HTTPClient NuGet package. 
  • CineWorld Portable – This PCL offers access to the CineWorld film and cinema listings for the Ireland and the UK. This library also uses portable HTTPClient.
  • LiveSDKHelper – This acts as a helper library for developers with which they use the Microsoft Live SDK more easily. 

Besides these libraries, another new portable library is Budgie, used by developers to access Twitter. The teams of .net and Azure have also released a PILE of portable libraries.

.Net team libraries:

  • Microsoft.Bcl.Compression – ZIP, GZIP, and DEFLATE compression works well with HTTP.
  • HttpClient – User-friendly API for interacting to HTTP services.
  • Microsoft.Bcl.Async – Async/Await for low level platforms is ready for use
    • And, the BCL portability pack
  • TPL Dataflow on NuGet as Microsoft.Tpl.Dataflow
  • MEF 2 in Microsoft.Composition
  • Immutable Collections in Microsoft.Bcl.Immutable 

Azure team library

  • Windows Azure Mobile services 1.3.0- allows developers to design and build an app with a secure and scalable backend hosted in Windows Azure. With this releases, developers can incorporate user authentication, structured storage, and push notifications in few minutes. 
  • Rx Extensions

A developer seeking for developing his career must be familiar with all of these portable libraries to achieve success.  


  • PortableIoC
  • Ninject portable fork
  • Autofac
  • XPlatUtils


  • UpdateControls
  • MvvmCross
  • MVVM Light Toolkit portable fork


  • OxyPlot
  • MetroLog
  • Simple-Odata
  • Json.Net

Xamarin releases .net Mobility Scanner

Xamarin’s .net mobility scanner helps in analyzing code and tells developers how “portable” it is and how compatible it will be with Xamarin.iOS, Xamarin.Android,, and Windows phone. This lists every API developer code uses that are unavailable on all the platforms. What’s best about this release is it analysis without sending developer code or binaries to Xamarin. Everything happens in the browser and this is why developers love Xamarin.

Xamarin has made .net development interesting for entire developer community across the globe. They are able to reuse existing code, write apps that run in 64gigs or 64k, and make portable libraries.  

About Author : Senior ASP.Net developer with over 6 years of experience in developing applications on the .NET platform in creative web applications in leading .Net app Development company Aegis Soft Tech. He has been involved in a wide range of projects and best practices to develop high quality software that meets project requirements, budget, and schedule.



Share on Facebook  Share on Twitter  Share on Google+  Share on Weibo  Share on Reddit  Share on Digg  Share on Tumblr    Delicious



No comment for this article.


Arrays start at 1

By sonic0002