awesome-xamarin
A hand-picked bookmark collection of subjectively modern/interesting libraries/tools for Xamarin Android/iOS/WP libraries.
Inspired by awesome-dotnet
- General
- UI Components
- Architecture
- Async
- Cloud
- Framework
- Fody
- Game Engine
- Imaging
- IO
- IOC
- Internationalization
- MVVM
- Network
- Security
- Serialization
- Storage
- Reactive
- TDD/BDD
- Tools
- Wearable
- Xamarin.Forms
- More XPlat APIs
General
- AutoMapper ★3,411 - A convention-based object-object mapper in .NET
- Humanizer ★1,894 - Manipulation and displaying of strings, enums, dates, times, timespans, numbers and quantities
- Fluent Validation ★1,314 - Fluent interface and lambda expressions for building validation rules
- NodaTime - Alternative date and time API for .NET
- Polly ★1,392 - Exception handling policies such as Retry, Retry Forever, Wait and Retry or Circuit Breaker
UI Components
- Passcode ★5 - Xamarin component for locking an app with a passcode
Architecture
- Behaviors Toolkit ★19 - A means of adding common and reusable interactivity to your Xamarin applications with minimal code
- Stateless ★510 - State Machines
Async
- AsyncEx ★402 - A helper library for async/await
- LinqToAwait ★80 - A Task-based LINQ designed to work with async/await
Cloud
- Azure - Microsoft Azure
- FireSharp ★159 - Firebase REST API wrapper
Fody
- Fody ★975 - Extensible tool for weaving .net assemblies
- ReactiveUI.Fody ★25 - Generate RaisePropertyChange notifications for properties and ObservableAsPropertyHelper properties
- AutoDependencyProperty.Fody - Automatically generates DependencyProperty boilerplate from simple C# properties
- PropertyChanged.Fody - Injects INotifyPropertyChanged code into properties at compile time
Framework
- SimplyMobile ★77 - Collection of abstracted mobile functionalities
Game Engine
- CocosSharp ★328 - C# implementation of the Cocos2D and Cocos3D APIs
- MonoGame ★3,416 - Open source implementation of the Microsoft XNA 4.x Framework
- Paradox ★852 - Paradox3D + Silicon Studio .NET
- UrhoSharp - Cross-platform high-level 3D and 2D engine
Imaging
- Fast & Furious Image Loading ★130 - Xamarin library to load images quickly & easily
- NGraphics ★234 - Cross platform library for rendering vector graphics
- SkiaSharp - Powerful C# API for doing 2D graphics. It is powered by Google’s Skia library
- Splat ★402 - Cross platform image loading, colors and stuff
- EZ-Compress ★3 - A simple image stream compression plugin for Xamarin
IO
- io ★2 - Access system folders and files using a familiar api mobile-optimized libs (NSURLSession / OkHttp)
- PCL Storage ★106 - consistent, portable set of local file IO APIs for .NET
IOC/DI
- Autofac ★965 - An addictive .NET IoC container
- DryIoc - fast, small, full-featured IoC Container for .NET
- Funq ★0 - High performance DI framework by eliminating all runtime reflection through the use of lambdas and generic functions as factories
- LightInject ★177 - Light, simple and stunningly fast IoC container for .NET
- Ninject ★1,450 - The ninja of .net dependency injectors
- Stiletto - .NET port of Dagger, the lightweight Android dependency injector from Square
- TinyIoC ★422 - Single-class easy IoC container
Internationalization
- Resxible ★5 - tool to generate automatically several platform-dependent resource files from a single RESX file.
- Vernacular ★158 - Cross Platform Localisation, tools to convert standard strings formats
MVVM
- Frameworks
- MVVMCross ★1,525 - Cross-platform mvvm mobile development framework
- Cheesebaron.MvxPlugins ★65 - A collection of plugins
- acrmvvmcross ★43 - Barcode, Device Info, IO, Network, Settings, Signature, User Dialogs
- Infinite Scroll Plugin ★14 - A Plugin which facilitates forward-only incremental scrolling for a paged data source.
- ReactiveUI ★2,249 - Rx MVVM framework
- MVVMCross ★1,525 - Cross-platform mvvm mobile development framework
- Bind ★98 - Bind gives you easy two-way data binding between properties of objects.
- Fody/PropertyChanged ★301 - Injects INotifyPropertyChanged code into properties at compile time
Network
- Flurl ★206 - Flurl is a modern, fluent, asynchronous, testable, portable, buzzword-laden URL builder and HTTP client library.
- Fusillade ★129 - set of HttpMessageHandlers that make your mobile applications more efficient and responsive
- Messaging - make a phone call, send a sms or send an e-mail using the default messaging applications
- ModernHttpClient ★374 - Accelerates HTTP requests by using mobile-optimized libs (NSURLSession / OkHttp)
- Push Notification - Simple cross platform plugin to handle push notification events such as registering, unregistering and messages arrival on Android and iOS.
- Reachability ★7 - Online/offline connected check
- Refit ★802 - The automatic type-safe REST library for Xamarin and .NET
- RestEase ★37 - Refit on steroids, simpler auth, parsing...
- Sockets ★68 - An abstraction over the socket helper classes of .NET and WinRT
Reactive
- Akavache ★1,148 - An Asynchronous Key-Value Store for Native Applications
- ReactiveUI ★2,249 - Rx MVVM framework
- Refit ★802 - Refit is a library heavily inspired by Square's Retrofit library, and it turns your REST API into a live interface
- RxFlow ★10 - Simple Flow Control Library with Rx(Reactive Extensions)
Security
- BoucyCastle.PCL ★43 PCL Version of BouncyCastle (Cryptography) targetting .NET, SL, WP and WinRT
- Fingerprint Plugin ★18 - Xamarin and MvvMCross plugin for accessing the fingerprint sensor
- PCLCrypto ★86 - Cryptography for portable class libraries (MD5,...)
- Permissions Simple cross platform plugin to check connection status of mobile device, gather connection type, bandwidths, and more
Serialization
- Newtonsoft.Json ★3,000 - Popular high-performance JSON framework for .NET
Storage
- Akavache ★1,148 - An Asynchronous Key-Value Store for Native Applications
- Lager ★1 - Cross-platform settings storage that uses Akavache as a storage backend
- Massive ★1,530 - "wrapper" for your DB tables and uses System.Dynamic extensively
- Settings ★11 - Cross platform settings plugin for Xamarin and Windows
- SQLite.Net-PCL ★237 - SQLite 3 databases support, PCL, async
TDD/BDD
- FluentAssertions - TDD/BDD fluent asserts
- NBehave ★36 - framework for Behaviour-Driven Development
Tools
- GradleBindings ★39 - Visual Studio extension, for referencing gradle libs in Android projects
- Material icons generator plugin ★8 - Xamarin Studio & Visual Studio plugin, for adding material icons to android project
- PushSharp ★3,114 - 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 ★7 - Productivity plugin for Xamarin Studio
- Xamaridea ★17 - Visual Studio extension, opens *.axml files in Android Studio
Wearable
- WormHoleSharp ★23 - Communication between Watch and iDevice
Xamarin.Forms
- Acr-xamarin-forms ★190 - Camera/Gallery, Barcode Scanning, User Dialogs, Geo-Location, Network Utils, Device Info, Settings, E-Mail, Phone, SMS all for Xamarin.Forms
- AdvancedTimer ★9 - Timer object and its methods are implemented for extended support for timers.
- Android AppCompat ★28 - Provide Material Design themes now for Xamarin.Forms apps natively without hacks
- Circle Image Control - 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 - Simple way to get device orientation or be notified of orientation changes in your Xamarin.Forms projects
- NControl ★87 - Xamarin.Forms control for NGraphics
- MvxForms ★7 - MVVMCross plugin for using Xamarin.Forms
- SolTech Xamarin Forms Toolkit ★18 - set of helpful extensions to the Xamarin Forms framework
- Store Rating Plugin ★3 - Rate app popup
- SVG - SVG file format support
- Toasts Plugin ★78 - A simple way of showing some notifications inside your Xamarin.Forms application
- TwinTechsFormsLib ★94 - FastCell, FastImage, FastGridCell
- Xamarin-Forms-Labs ★749 - Powerful and cross platform set of controls and helpers
- xamarin-forms-xna ★5 - Monogame wrapper for Xamarin.Forms
More XPlat APIs
Most of them support Android and iOS, some do Windows Phone 8
- barcodes ★4 - A cross platform barcode scanning and creating library built on top of ZXing.Net.Mobile.
- biometrics ★2 - (Fingerprint Sensor) For Xamarin (iOS & Android)
- Calendars ★9 - Calendar API plugin for Xamarin and Windows Phone, Supports basic CRUD operations with calendars and events.
- Device Motion - Simple cross platform plugin to read motion vectors value for device motion sensors such as: Accelerometer, Gyroscope, Magnetometer, Compass.
- Estimote ★12 - Cross platform implementation of the estimote library for beacons.
- Fingerprint ★18 - Xamarin and MvvMCross plugin for accessing the fingerprint sensor.
- HybridKit ★6 - Simple C# – JavaScript bridge for building hybrid iOS and Android apps.
- Lamp - Simple way of controlling the lamp/LED on the back of your phone from Xamarin and Xamarin.Forms projects
- ManageSleep ★4 - Manage auto sleep / auto lock in all platforms. This is useful when dealing with long running processes
- Messaging ★25 - 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 ★5 - Notifications plugin for Xamarin and Windows
- Telephony ★8 - Email, sms, voice and video call functionality
- userdialogs ★92 - Standard user dialogs from a shared/portable library.
- Version - Get app version from bundle
- Xamarin.Badge ★15 - Simple cross platform plugin to work with application badge
- Xamarin.LocalNotifications ★23 - Simple cross platform plugin to work with mobile local notifications
- Xamarin.Mobile ★181 - Reading the user's address book and using the camera
- xamarin-plugins ★12 - Device Motion, Geofencing, Push Notifications (Beta)
- Xamarin.Plugins ★468 - Battery Status, Connectivity, Contacts, Device Information, Extended Maps, Geolocator, Media, Settings, Text To Speech, Vibrate, Circle Image for Xamarin.Forms
- Plugins for Xamarin ★231 - 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.
License
To the extent possible under law, Benoit Jadinon has waived all copyright and related or neighboring rights to this work.