The following plugins are quite helpful. Currently most of the plugins are used in sessions from Xamarin University or from Xamarin Forms Kickstarter but the list will be updated whenever something helpful comes along my way.
- Connectivity Plugin (Xam.Plugin.Connectivity)
Simple cross platform plugin to check connection status of mobile device, gather connection type, bandwidths, and more.
Add it to PCL and each platform-specifc project
Source code available on Github at https://github.com/jamesmontemagno/ConnectivityPlugin
Xam.Plugin.Connectivity available on nuget at https://www.nuget.org/packages/Xam.Plugin.Connectivity/
Prefer Json.net over built-in System.Json as it could be easily used in PCLs
Add it to PCL and each platform-specific project.
Homepage of Newtonsoft at http://www.newtonsoft.com/json
Source code available on Github at https://github.com/JamesNK/Newtonsoft.Json
Newtonsoft.Json available on nuget at https://www.nuget.org/packages/Newtonsoft.Json/
- Microsoft HTTP Client Libraries
Default System.Net.Http.HttpClient is supported by Windows, iOS and Android, but for PCL it’s necessary to add Microsofts plugin to the PCL project.
Microsoft.Net.Http available on nuget at https://www.nuget.org/packages/Microsoft.Net.Http/
Increase performance for HTTP requests.
Add it to PCL and each platform-specific project.
Source code is available on Github at https://github.com/paulcbetts/ModernHttpClient
ModernHTTPClient is available on nuget at https://www.nuget.org/packages/modernhttpclient/
The automatic type-safe REST library for Xamarin and .NET.
Source code is available on Github at https://github.com/paulcbetts/refit
Refit is available on nuget at https://www.nuget.org/packages/refit/
Polly is a .NET 4.5 / .NET Standard 1.0 library that allows developers to express resilience and transient fault handling policies such as Retry, Circuit Breaker, Timeout, Bulkhead Isolation and Fallback in a fluent and thread-safe manner.
Source code is available on Github at https://github.com/App-vNext/Polly.
Polly is available on nuget at https://www.nuget.org/packages/polly.
- Settings Plugin
Read and Write Settings Plugin for Xamarin and Windows
Needs to be added to PCL and all client projects
Source code is available on Github at https://github.com/jamesmontemagno/SettingsPlugin
Xam.Plugins.Settings is available on nuget at https://www.nuget.org/packages/Xam.Plugins.Settings/
SQLite is a self-contained, high-reliability, embedded, full-featured, public-domain, SQL database engine. SQLite is the most used database engine in the world.
Needs to be added to PCL and all client projects. For Windows Projects it’s also necessary to add a reference to “Microsoft Visual C++ 2013 Runtime Package” otherwise a “FileNotFoundException” will be thrown when the database file is opened or created.
Source code is available at https://sqlite.org/.
SQLite-net-pcl is available on nuget at https://www.nuget.org/packages/sqlite-net-pcl/.
Akavache is an asynchronous, persistent (i.e. writes to disk) key-value store created for writing desktop and mobile applications in C#, based on SQLite3. Akavache is great for both storing important data (i.e. user settings) as well as cached local data that expires.
Source code is available at https://github.com/akavache/Akavache.
Akavache is available on nuget at https://www.nuget.org/packages/akavache/.
- Device Information Plugin
Gather some data of the current device, e.g. Model, OS, Version, ID.
Source code is available on Github at https://github.com/jamesmontemagno/DeviceInfoPlugin
Xam.Plugin.DeviceInfo is available on nuget at https://www.nuget.org/packages/Xam.Plugin.DeviceInfo
- ACR userdialogs
A cross platform library that allows you to call for standard user dialogs from a shared/portable library, Actionsheets, alerts, confirmations, loading, login, progress, prompt, toast… async just for fun
Source code is available on Github at https://github.com/aritchie/userdialogs.
ACR UserDialogs is available on nuget at https://www.nuget.org/packages/Acr.UserDialogs/.
- Calendars API Plugin
API is in development for more than 2 years and currently still in beta, so if you want to add it via package manager don’t forget to check ‘include pre-releases’, otherwise you won’t find it. Even though it’s still in beta, it does already work fine for adding new calendar entries and setting reminders in the users calendar.
Source code is available on Github at https://github.com/TheAlmightyBob/Calendars
CClarke. Plugin. Calendars is available on nuget at https://www.nuget.org/packages/CClarke.Plugin.Calendars.
Image loading, caching & transforming library for Xamarin and Windows
Source code is available on Github at https://github.com/luberda-molinet/FFImageLoading
Xamarin. FFImageLoading. Forms is available on nuget at https://www.nuget.org/packages/Xamarin.FFImageLoading.Forms.
ListView derivative with flowing, grid-like columns support. Have a look at the examples on github to get an understanding. This plugin is created by Daniel Luberda, one of the two main authors of above mentioned FFImageLoading so he knows what to do when it comes to images….
Source code is available on Github at https://github.com/daniel-luberda/DLToolkit.Forms.Controls/tree/master/FlowListView
DLToolkit. Forms. Controls. FlowListView is available on nuget at https://www.nuget.org/packages/DLToolkit.Forms.Controls.FlowListView/
Here are some other tools which are quite helpful:
The world’s best developers develop the world’s best apps for iOS, Android, OS X, and Windows on HockeyApp. Bring Mobile DevOps to your apps with beta distribution, crash reporting, user metrics, feedback, and powerful workflow integrations.
fastlane is the tool to release your iOS and Android app. It handles all tedious tasks, like generating screenshots, dealing with code signing, and releasing your application.
- Xamarin Test Cloud
Automate your app testing on 2,000 real devices in the cloud. Build quality mobile apps quickly and with confidence.
Other plugins are available at https://www.nuget.org/profiles/PluginsForXamarin.