awesome-xamarin
A hand-picked bookmark collection of subjectively modern/interesting libraries/tools for Xamarin Android/iOS/Windows/OSX
General
AutoMapper 6k 2k - A convention-based object-object mapper in .NET
Humanizer 1k 216 - Manipulation and displaying of strings, enums, dates, times, timespans, numbers and quantities
Fluent Validation 3k 655 - Fluent interface and lambda expressions for building validation rules
NodaTime - Alternative date and time API for .NET
Polly 2k 293 - Exception handling policies such as Retry, Retry Forever, Wait and Retry or Circuit Breaker
Architecture
Behaviors Toolkit 29 5 - A means of adding common and reusable interactivity to your Xamarin applications with minimal code
Conditions - Library that helps developers write pre- and postcondition validations in a fluent manner
Stateless 1k 177 - State Machines
Async
AsyncEx 889 141 - A helper library for async/await
LinqToAwait 62 7 - A Task-based LINQ designed to work with async/await
Charts
OxyPlot 977 574 - Cross-platform plotting library for .NET
MicroCharts 305 33 - Create cross-platform (Xamarin, Windows, ...) simple charts.
Cloud
Azure - Microsoft Azure
FireSharp 400 116 - Firebase REST API wrapper
Bugfender 3 3 - Store your application logs on the cloud (iOS & Android)
Database
Akavache 2k 265 - An Asynchronous Key-Value Store for Native Applications
Breeze 59 19 - Data management library for developers of rich client applications
Couchbase.Lite 296 121 - Lightweight embedded NoSQL database
Lager - Cross-platform settings storage that uses Akavache as a storage backend
Massive 386 95 - "wrapper" for your DB tables and uses System.Dynamic extensively
Realm 684 115 - mobile database that runs directly inside phones, tablets or wearables
Settings 36 10 - Cross platform settings plugin for Xamarin and Windows
SQLite.Net-PCL 347 242 - SQLite 3 databases support, PCL, async
Fody
Fody 2k 276 - Extensible tool for weaving .net assemblies
AutoDependencyProperty.Fody - Automatically generates DependencyProperty boilerplate from simple C# properties
PropertyChanged.Fody 619 125 - Injects INotifyPropertyChanged code into properties at compile time
ReactiveUI.Fody 73 18 - Generate RaisePropertyChange notifications for properties and ObservableAsPropertyHelper properties
Framework
Ammy - Modern UI language for XAML platforms. Free for non-commercial development
Appercode.UIFramework - Allows to build user interface of cross-platform mobile applications with single XAML layout
Fusion - Cross-platform C#-based mobile app development framework, built on top of Xamarin.iOS and Xamarin.Android
SimplyMobile 44 14 - Collection of abstracted mobile functionalities
Xamu-Infrastructure 44 10 - Extensions, MVVM classes, behaviors and other misc. useful code bits from Xamarin University
Game Engine
CocosSharp 469 174 - C# implementation of the Cocos2D and Cocos3D APIs
MonoGame 861 333 - Open source implementation of the Microsoft XNA 4.x Framework
Paradox 1k 335 - Paradox3D + Silicon Studio .NET
UrhoSharp - Cross-platform high-level 3D and 2D engine
IO/Storage
io 3 2 - Access system folders and files using a familiar api
PCL Storage 212 120 - consistent, portable set of local file IO APIs for .NET
IOC/DI
Autofac 2k 627 - An addictive .NET IoC container
DryIoc - fast, small, full-featured IoC Container for .NET
Funq - High performance DI framework by eliminating all runtime reflection through the use of lambdas and generic functions as factories
LightInject 287 100 - Light, simple and stunningly fast IoC container for .NET
Ninject 2k 593 - The ninja of .net dependency injectors
Stiletto 12 3 - .NET port of Dagger, the lightweight Android dependency injector from Square
TinyIoC 299 106 - Single-class easy IoC container
Internationalization
Resxible 9 4 - tool to generate automatically several platform-dependent resource files from a single RESX file
Vernacular 175 47 - Cross Platform Localisation, tools to convert standard strings formats
I18NPortable 15 3 - Simple and cross platform internationalization/translations for Xamarin and .NET
Layout
Flex 74 11 - Flexible box layout system.
Media
EZ-Compress - A simple image stream compression plugin for Xamarin
Fast & Furious Image Loading 857 251 - Xamarin library to load images quickly & easily
Lottie 283 58 - Render After Effects animations natively on Android and iOS for Xamarin
MediaManager 162 83 - Cross platform Xamarin plugin to play Media from PCL
NGraphics 405 105 - Cross platform library for rendering vector graphics
PDFReader 37 9 - iOS (-only) library to display PDF documents on iPad and iPhone
SkiaSharp - Powerful C# API for doing 2D graphics. It is powered by Google’s Skia library
Splat 6 3 - Cross platform image loading, colors and stuff
SimpleAudioPlayer 4 3 - Simple plugin for plays local files and audio data as a stream
MVVM
Frameworks
MVVMCross 3k 1k - Cross-platform mvvm mobile development framework
FreshMvvm 420 200 - Super light Mvvm Framework designed specifically for Xamarin.Forms
MugenMvvmToolkit 118 31 - Cross-
MVVMLight - Cross-platform MVVM development framework
MvvmNano 34 7 - Small and smart MVVM framework made with ❤ for Xamarin.Forms
ReactiveUI 4k 848 - Rx MVVM framework
Bind 64 7 - Bind gives you easy two-way data binding between properties of objects.
Wires 12 5 - Wires is a simple binding library.
Network
Flurl 783 137 - Flurl is a modern, fluent, asynchronous, testable, portable, buzzword-laden URL builder and HTTP client library.
Fusillade 181 22 - set of HttpMessageHandlers that make your mobile applications more efficient and responsive
Messaging 56 32 - make a phone call, send a sms or send an e-mail using the default messaging applications
ModernHttpClient 565 245 - Accelerates HTTP requests by using mobile-optimized libs (NSURLSession / OkHttp)
NFC 1 1 - Xamarin plugin for reading NFC tags.
Push Notification 151 105 - Simple cross platform plugin to handle push notification events such as registering, unregistering and messages arrival on Android and iOS.
Reachability 19 2 - Online/offline connected check
Refit 2k 247 - The automatic type-safe REST library for Xamarin and .NET
RestEase 220 31 - Refit on steroids, simpler auth, parsing...
RestLess 25 5 - The automatic type-safe-reflectionless REST API client library for .Net Standard.
Sockets 146 77 - An abstraction over the socket helper classes of .NET and WinRT
Reactive
Akavache 2k 265 - An Asynchronous Key-Value Store for Native Applications
ReactiveUI 4k 848 - Rx MVVM framework
Sensors 8 3 - ACR Reactive Sensors Plugin for Xamarin & Windows
Refit 2k 247 - Refit is a library heavily inspired by Square's Retrofit library, and it turns your REST API into a live interface
ReactiveProperty 281 59 - Provides MVVM and asynchronous support features under Reactive Extensions
RxFlow 16 2 - Simple Flow Control Library with Rx(Reactive Extensions)
Security
BoucyCastle.PCL 89 40 PCL Version of BouncyCastle (Cryptography) targetting .NET, SL, WP and WinRT
Fingerprint Plugin 115 37 - Xamarin and MvvMCross plugin for accessing the fingerprint sensor
PCLCrypto 161 36 - Cryptography for portable class libraries (MD5,...)
Permissions 824 392 Simple cross platform plugin to check connection status of mobile device, gather connection type, bandwidths, and more
Serialization
TDD/BDD
Tools
GradleBindings 68 4 - Visual Studio extension, for referencing gradle libs in Android projects
Material icons generator plugin - Xamarin Studio & Visual Studio plugin, for adding material icons to android project
PushSharp 4k 2k - A server-side library for sending Push Notifications to iOS (iPhone/iPad APNS), Android (C2DM and GCM - Google Cloud Message), Windows Phone, Windows 8, Amazon, Blackberry, and (soon) FirefoxOS devices!
Twin Tools Add-In 19 3 - Productivity plugin for Xamarin Studio
Xamaridea 4 0 - Visual Studio extension, opens *.axml files in Android Studio
Cheeseknife 40 20 - a view injection library for Xamarin.Android
XamFormsMvxTemplate 4 4 Visual Studio Marketplace - MVVMCross.Forms Visual Studio 2017 project template (iOS, Android, UWP)
UI
NControl 188 70 - Xamarin.Forms wrapper control built around the NGraphics library enabling developers to create custom controls
Passcode - Xamarin component for locking an app with a passcode
BadgeView - A simple Xamarin.Forms control to display a round badge
Swipecards 8 1 - A Tinder-like swipe control for Xamarin.Forms
PullToRefreshLayout 61 20 - Pull To Refresh a ScrollView or ListView in Xamarin.Forms
Wearable
Xamarin.Forms
Acr-xamarin-forms 249 131 - Camera/Gallery, Barcode Scanning, User Dialogs, Geo-Location, Network Utils, Device Info, Settings, E-Mail, Phone, SMS all for Xamarin.Forms
AdvancedTimer 21 11 - Timer object and its methods are implemented for extended support for timers.
Android AppCompat 41 12 - Provide Material Design themes now for Xamarin.Forms apps natively without hacks
Circle Image Control 824 392 - Simple but elegant way of display circle images in your Xamarin.Forms projects
Compass - Provides and simple way to access the compass on Windows Phone, iOS and Android from you Xamarin.Forms projects
Device Orientation 2 1 - Simple cross-platform plugin to work with screen orientation of mobile device
Device Orientation 7 7 - Simple way to get device orientation or be notified of orientation changes in your Xamarin.Forms projects
NControl 188 70 - Xamarin.Forms control for NGraphics
MvxForms 7 2 - MVVMCross plugin for using Xamarin.Forms
Rb.Forms.Barcode 31 9 - Xamarin.Forms view for scanning barcodes
SolTech Xamarin Forms Toolkit 3 1 - set of helpful extensions to the Xamarin Forms framework
Store Rating Plugin - Rate app popup
SVG 169 94 - SVG file format support
Toasts Plugin 167 63 - A simple way of showing some notifications inside your Xamarin.Forms application
TwinTechsFormsLib 157 68 - FastCell, FastImage, FastGridCell
Xamarin-Forms-Labs 1k 1k - Powerful and cross platform set of controls and helpers
xamarin-forms-xna 6 2 - Monogame wrapper for Xamarin.Forms
Xamarin.Forms.GoogleMaps 205 123 - Maps library for Xamarin.Forms using Google Mapps API
XPlat APIs
Most of them support Android and iOS, some do Windows Phone 8
Calendars 62 15 - Calendar API plugin for Xamarin and Windows Phone, Supports basic CRUD operations with calendars and events.
Device Motion 151 105 - Simple cross platform plugin to read motion vectors value for device motion sensors such as: Accelerometer, Gyroscope, Magnetometer, Compass.
Estimote 29 17 - Cross platform implementation of the estimote library for beacons.
Fingerprint 115 37 - Xamarin and MvvMCross plugin for accessing the fingerprint sensor.
HybridKit 18 1 - Simple C# – JavaScript bridge for building hybrid iOS and Android apps.
Lamp 9 10 - Simple way of controlling the lamp/LED on the back of your phone from Xamarin and Xamarin.Forms projects
ManageSleep 8 3 - Manage auto sleep / auto lock in all platforms. This is useful when dealing with long running processes
Messaging 56 32 - The Messaging plugin makes it possible to make a phone call, send a sms or send an e-mail using the default messaging applications on the different mobile platforms.
notifications 28 10 - Notifications plugin for Xamarin and Windows
Pontoon - A flexible bridge to the Universal Windows Platform
Telephony 18 13 - Email, sms, voice and video call functionality
userdialogs 374 186 - Standard user dialogs from a shared/portable library.
Version 13 4 - Get app version from bundle
Xamarin.Badge - Simple cross platform plugin to work with application badge
Xamarin.LocalNotifications - Simple cross platform plugin to work with mobile local notifications
Xamarin.Mobile 235 101 - Reading the user's address book and using the camera
xamarin-plugins 32 33 - Device Motion, Geofencing, Push Notifications (Beta)
Other lists
Xamarin Bindings 53 4 - A list of existing library bindings
Xamarin Components 1k 297 - Here you will find a listing of cross platform Plugins for Xamarin that support Xamarin.iOS, Xamarin.Android, Xamarin.Forms, and Windows Platform from a single API.
Websites
Weekly Xamarin - Hand-picked round up of the best Xamarin development links every week. Curated by Geoffrey Huntley and published every Friday. Free.
Planet Xamarin - An aggregator of content from Xamarin Community members. Why subscribe individually when you can subscribe to one convenient RSS feed? If RSS isn't your thing, follow the Twitter or Facebook accounts which are automatically updated with the latest content from the community.
Contributors
License
To the extent possible under law, Benoit Jadinon has waived all copyright and related or neighboring rights to this work.