Home » Uncategorized » Must have packages for easing the Xamarin Development

Must have packages for easing the Xamarin Development

  1. Today cross platform apps is major go-go in tech industry as it comply with  the Resources and to publish your apps with attractive features within the consumers.Being a Xamarin dev , I came across multiple packages which can be very easy and will fast paced  the development cycle as well.I thought  to share those packages with you well.
    1. SPLAT

    I like this library very much. Paul  Betts has done all the work for you. This is one the most recommended plugin. ToNative() and FromNative() methods to convert image, colors  and what not. It also provide the automated method which saves the image while saving it with compression ratio. As of now splat supports various features such as cross platform image loading, colors for PCL,geometry primitives, logging framework as well. You can also undergo Paul’s blog to know how to use it.Below are nuget and github link for the details:

    Github : https://github.com/paulcbetts/splat

    Nuget: https://www.nuget.org/packages/Splat/


    1. MonoHttpClient

    Again many thanks to Paul Betts who has created this plugin. Basically modernhttpclient converts breaks into the platform specific library i.e NSURLSession on iOS and OkHttp on Android. Trust me it is much faster and I used it in almost every Xamarin app I have created. Also, it’s pretty easy to use it you just have to download and it call the NativeMessageHandler () inside the httpclient that’s it. You are up and running. Isn’t it perfect!!

    GitHub: https://github.com/paulcbetts/ModernHttpClient

    Nuget: https://www.nuget.org/packages/modernhttpclient/


    1. MVVMCross

    However with the Xamarin. Forms I use MVVM only but in the Xamarin. IOS and Xamarin. Android it’s good to use MVVMCross and with the latest version (4.0) it’s pretty easy to use and is pretty much stable overcoming some the previous issues. All thanks to Stuart and cheese baron. It provide you the extensiveness of MVVM pattern and ease to use it you can directly do the bindings on the axml file on android and on view controllers in iOS. MVVMCross has its own documentation which is full of samples and certainly a stop to know about it work.


    GitHub: https://github.com/MvvmCross/MvvmCross

    Nuget: https://www.nuget.org/packages/MvvmCross/

    Documentation: https://mvvmcross.com/docs


    1. SQLite.Net

    This is one of the most widely used plugin in the mobile world and is used to store small piece of data.Its basically a thin wrapper over SQLite and is fast and efficient.It also has very simple methods for CRUD operations.


    GitHub: https://github.com/praeclarum/sqlite-net

    Nuget: https://www.nuget.org/packages/sqlite-net/


    1. ReactiveUI

    ReactiveUI  is heavily inspired by the functional reactive programming and is based on MVVM framework. The ease with ReactiveUI is that it provides the flexibility unlike MVVMCross which enables set the follow the predefined pattern. That’s what I feel while using both the plugins. I must say that before integrating into your mobile app I would rather ask to see the video series for the same and consult the reactive doc (however site is Work in progress in some of the sections.)


    GitHib: https://github.com/reactiveui/ReactiveUI

    Nuget: https://www.nuget.org/packages/reactiveui/


    1. ReactiveExtensions

    Reactive UI is built around reactive extensions. Rx extensively uses lambdas  which are pretty easy to grasp  even if you are not a .NET guy. However , it has a lot more apart and again I urge to go thru the Paul Betts documentation and evolve videos to get the better understanding of the Rx. Before that I rather suggest to go thru the below link if you are considering Reactive UI for your mobile project. This link gives you a basic understanding of how Rx works:




    1. Akavache

    Now a days  mobile dev like me are more inclined towards the akavache which is built on the top of SQLite and gives the leverage to store the data into key value pairs , not only this it also stores the local data which expires. Its major ease in to make UI responsive and is oftenly used for applications which takes consideration of caching.It unifies the caching of different object types i.e HTTP responses, JSON Objects, images too.


    GitHub: https://github.com/akavache/Akavache

    Nuget: https://www.nuget.org/packages/akavache/


    1. Fody

    If you are planning to use all these packages then Fody will certainly going to help you. Fody eliminates the plumbing  code through an extensible add-in model. Also you can you the add-in with Fody to inject the INotifyPropertyChanged .For more details about Fody I’ll suggest to visit the github which has details and the implementations as well.
    GitHub: https://github.com/Fody/Fody

    Nuget: https://www.nuget.org/packages/Fody/1.29.4




Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s