Awesome-Xamarin

A hand-picked bookmark collection of subjectively modern/interesting
and ideally open-source libraries/tools for Xamarin
Android/iOS/Windows/OSX
Contents
General
- AutoMapper
★5,724 - A convention-based object-object mapper in .NET.
- Fluent
Validation ★3,570 - Fluent interface and lambda expressions for
building validation rules.
- Humanizer ★3,426
- Manipulation and displaying of strings, enums, dates, times,
timespans, numbers and quantities.
- NodaTime ★970 -
Alternative date and time API for .NET.
- Polly ★4,666 -
Exception handling policies such as Retry, Retry Forever, Wait and Retry
or Circuit Breaker.
Architecture
- Behaviors
Toolkit ★34 - A means of adding common and reusable interactivity to
your Xamarin applications with minimal code.
- Conditions ★48
- Library that helps developers write pre- and postcondition validations
in a fluent manner.
- Stateless
★2,294 - State Machines.
Async
Charts
Cloud
Database
- Akavache ★1,692
- An Asynchronous Key-Value Store for Native Applications.
- Breeze ★63 -
Data management library for developers of rich client applications.
- Couchbase.Lite
★299 - Lightweight embedded NoSQL database.
- Lager ★2 -
Cross-platform settings storage that uses Akavache as a storage
backend.
- Massive ★1,708 -
“wrapper” for your DB tables and uses System.Dynamic extensively.
- Realm ★690 -
Mobile database that runs directly inside phones, tablets or
wearables.
- Settings ★58 -
Cross platform settings plugin for Xamarin and Windows.
- SQLite.Net-PCL
★340 - SQLite 3 databases support, PCL, async.
- LiteDB ★4245 - A
.NET NoSQL Document Store in a single data file.
- DB4O-GPL ★8 -
Object-Oriented Database, Embedded and Remote connections
supported.
Fody
- Fody ★2,150 - Extensible
tool for weaving .net assemblies.
Framework
- Ammy - Modern UI language for
XAML platforms. Free for non-commercial development.
- Appercode.UIFramework
★13 - Allows to build user interface of cross-platform mobile
applications with single XAML layout.
- Invention
- Develop native apps for iOS, Android and Windows with 100% code
sharing using Visual Studio and C#.NET.
- SimplyMobile
★103 - Collection of abstracted mobile functionalities.
- Xamu-Infrastructure
★104 - Extensions, MVVM classes, behaviors and other misc. useful
code bits from Xamarin University.
Game Engine
IO/Storage
IOC/DI
- Autofac ★2,169 - An
addictive .NET IoC container.
- DryIoc - Fast, small,
full-featured IoC Container for .NET.
- Funq ★2 -
High performance DI framework by eliminating all runtime reflection
through the use of lambdas and generic functions as factories.
- LightInject
★320 - Light, simple and stunningly fast IoC container for
.NET.
- Ninject ★2,034 -
The ninja of .net dependency injectors.
- Stiletto
★36 - .NET port of Dagger, the lightweight Android dependency
injector from Square.
- TinyIoC ★585 -
Single-class easy IoC container.
Internationalization
- I18NPortable
★49 - Simple and cross platform internationalization/translations
for Xamarin and .NET.
- Resxible ★9 -
Tool to generate automatically several platform-dependent resource files
from a single RESX file.
- Vernacular ★167 -
Cross Platform Localisation, tools to convert standard strings
formats.
- SimpleLocalize
★19 - Open source tool for managing i18n keys in Xmarin
projects.
Layout
- EZ-Compress
★11 - A simple image stream compression plugin for Xamarin.
- Fast
& Furious Image Loading ★820 - Xamarin library to load images
quickly & easily.
- Lottie ★643
- Render After Effects animations natively on Android and iOS for
Xamarin.
- LibVLCSharp
★174 - Xamarin bindings for libvlc, the multimedia framework
powering the VLC applications made by VideoLAN.
- MediaManager
★269 - Cross platform Xamarin plugin to play Media from PCL.
- NGraphics ★482
- Cross platform library for rendering vector graphics.
- PDFReader
★51 - iOS (-only) library to display PDF documents on iPad and
iPhone.
- Screenshot
Plugin ★21 - A simple Screenshot plugin for Xamarin and Windows to
get and save screenshot in yours apps.
- SkiaSharp ★920 -
Powerful C# API for doing 2D graphics. It is powered by Google’s Skia
library.
- Splat ★590 - Cross
platform image loading, colors and stuff.
- SimpleAudioPlayer
★14 - Simple plugin for plays local files and audio data as a
stream.
- ZXing.Net.Mobile
★570 - Barcode Scanning Library for MonoTouch, Mono for Android, and
Windows Phone.
- SupportMediaXF
★2 - Simple cross platform plugin to take photos or pick them from a
gallery from shared code
MVVM
- Bind ★158 - Bind
gives you easy two-way data binding between properties of objects.
- EBind - Concise,
fast and feature-rich .NET data binding with some Xamarin goodies.
- FreshMvvm ★324 -
Super light Mvvm Framework designed specifically for Xamarin.Forms.
- Infinite
Scroll Plugin ★24 - A Plugin which facilitates forward-only
incremental scrolling for a paged data source.
- MVVMCross
★2,657 - Cross-platform mvvm mobile development framework.
- MugenMvvmToolkit
★127 - Cross-platform MVVM toolkit.
- MVVMLight -
Cross-platform MVVM development framework.
- MvvmNano ★46 -
Small and smart MVVM framework made with ❤ for Xamarin.Forms.
- Prism ★2,365 -
Cross-platform MVVM development framework.
- ReactiveUI
★3,917 - Rx MVVM framework.
- Wires ★28 - Wires
is a simple binding library.
Network
- Apizr ★4 - Refit
based web api client, but resilient (retry, connectivity, cache, auth,
log, priority, etc…).
- Connectivity
★200 - Cross-platform network/connection status.
- CrossDownloadManager
★67 - A cross platform download manager for Xamarin.
- Flurl ★1,295 - Flurl
is a modern, fluent, asynchronous, testable, portable, buzzword-laden
URL builder and HTTP client library.
- Fusillade ★216
- Set of HttpMessageHandlers that make your mobile applications more
efficient and responsive.
- Messaging
★1 - Make a phone call, send a sms or send an e-mail using the
default messaging applications.
- ModernHttpClient
- Accelerates HTTP requests by using mobile-optimized libs (NSURLSession
/ OkHttp).
- NFC ★14 -
Xamarin plugin for reading NFC tags.
- Push
Notification ★1 - Simple cross platform plugin to handle push
notification events such as registering, unregistering and messages
arrival on Android and iOS.
- Reachability
★25 - Online/offline connected check.
- Refit ★2,762 - The
automatic type-safe REST library for Xamarin and .NET.
- RestEase ★339 -
Refit on steroids, simpler auth, parsing…
- RestLess ★57 - The
automatic type-safe-reflectionless REST API client library for .Net
Standard.
- RestSharp
★6,994 - Simple REST and HTTP API Client for .NET.
- Sockets
★185 - An abstraction over the socket helper classes of .NET and
WinRT.
- Tiny.RestClient
★31 - Description Simpliest Fluent REST client for Xamarin and
.NET.
Reactive
- Akavache ★1,692
- An Asynchronous Key-Value Store for Native Applications.
- ReactiveUI
★3,917 - Rx MVVM framework.
- Refit ★2,762 -
Refit is a library heavily inspired by Square’s Retrofit library, and it
turns your REST API into a live interface.
- ReactiveProperty
★361 - Provides MVVM and asynchronous support features under
Reactive Extensions.
- RxFlow ★18 - Simple
Flow Control Library with Rx(Reactive Extensions).
- Sensors - ACR
Reactive Sensors Plugin for Xamarin & Windows.
- CrossPlatformLiveData
- Android LiveData inspired .NET implementation - lifecycle aware rx
streams.
Security
- Portable.BouncyCastle
★136 - Portable version of Bouncy Castle with support for .NET 4,
.NET Standard 2.0, MonoAndroid, Xamarin.iOS, .NET Core.
- BreachDetector
★11 - Detect root, emulation, debug mode and other security concerns
in your Xamarin apps.
- Cryoprison -
Jailbreak/Root detection for Xamarin
- Fingerprint
Plugin ★165 - Xamarin and MvvMCross plugin for accessing the
fingerprint sensor.
- PCLCrypto ★184 -
Cryptography for portable class libraries (MD5,…).
- Permissions
★255 - Simple cross platform plugin to check connection status of
mobile device, gather connection type, bandwidths, and more.
Serialization
TDD/BDD
UI
- Xamarin.Forms.Breadcrumb
- A control that automatically generated a breadcrumb control
- Xamarin.Forms.StateButton
- With this control you are able to create any style of button. This is
possible as it acts as a wrapper to your XAML and provides you the
events/ commands and properties to bind too.
- Passcode
★13 - Xamarin component for locking an app with a passcode.
- SignaturePad
★117 - Signature Pad makes capturing, saving, exporting, and
displaying signatures extremely simple on Xamarin.iOS, Xamarin.Android
and Windows.
- XamEffects ★53 -
Touch effect for Xamarin.Forms.
- Showcase
View - Xamarin.Android Native showcase view. An easy-to-use
customizable show case view with circular reveal animation.
- Animated
Circle Loading View - A determiante/indetermiante loading view
animation.
- Animated
Icon Button - An animated icon button for Xamarin.iOS.
- SimpleBottomDrawer
- Just a nice and simple BottomDrawer for your Xamarin Forms
project
- SimpleColorPicker
- Just a nice and simple ColorPicker for your Xamarin Forms project
- SimpleAppIntro
- Just a nice and simple AppIntro for your Xamarin Forms project
- SimpleStaticMap
- Just a simple static map control based on the Static API of Google
Maps for your Xamarin Forms project
- TEdito2 -
TEditor2 is a HTML editor for Xamarin, it has so many build-in features
and easy to use.
- IridescentView
- A custom Xamarin.Android ImageView with iridescence effect.
Wearable
- Acr-xamarin-forms
★244 - Camera/Gallery, Barcode Scanning, User Dialogs, Geo-Location,
Network Utils, Device Info, Settings, E-Mail, Phone, SMS all for
Xamarin.Forms.
- AdvancedTimer
★35 - Timer object and its methods are implemented for extended
support for timers.
- Android
AppCompat ★34 - Provide Material Design themes now for Xamarin.Forms
apps natively without hacks.
- BadgeView ★31
- A simple Xamarin.Forms control to display a round badge.
- Circle Image
Control - Simple but elegant way of display circle images in your
Xamarin.Forms projects.
- Compass
★19 - Provides and simple way to access the compass on Windows
Phone, iOS and Android from you Xamarin.Forms projects.
- Device
Orientation ★28 - Simple cross-platform plugin to work with screen
orientation of mobile device.
- Device
Orientation ★1 - Simple way to get device orientation or be notified
of orientation changes in your Xamarin.Forms projects.
- NControl ★243 -
Xamarin.Forms control for NGraphics.
- Magic
Gradients ★128 - Provides a simply way to implement a great variety
of gradients in Xamarin.Forms.
- MvxForms ★8 -
MVVMCross plugin for using Xamarin.Forms.
- PancakeView
★454 - An extended ContentView for Xamarin.Forms with rounded
corners, borders, shadows, gradients and more.
- PullToRefreshLayout
★134 - [DEPRECATED] Pull To Refresh a ScrollView or ListView in
Xamarin.Forms.
- Rb.Forms.Barcode
★34 - Xamarin.Forms view for scanning barcodes.
- Rg.Plugins.Popup
- A cross platform plugin for Xamarin.Forms which allows to open
Xamarin.Forms pages as a popup.
- SharedTransitions
★223 - Shared element transitions between pages in Xamarin.Forms
(IOS/Android).
- Sharpnado.Presentation.Forms
★28 - HorizontalListView, TaskViewLoader, and Paginator.
- SolTech Xamarin
Forms Toolkit ★31 - Set of helpful extensions to the Xamarin Forms
framework.
- Store Rating
Plugin ★7 - Rate app popup.
- SVG
★1 - SVG file format support.
- Swipecards
★80 - A Tinder-like swipe control for Xamarin.Forms.
- Toasts
Plugin ★208 - A simple way of showing some notifications inside your
Xamarin.Forms application.
- TwinTechsFormsLib
★187 - FastCell, FastImage, FastGridCell.
- XamarinControls
★17 - Cross-platform controls for Xamarin and Xamarin.Forms
(Checkbox using SkiaSharp).
- Xamarin-Forms-Labs
★1,392 - Powerful and cross platform set of controls and
helpers.
- xamarin-forms-xna
★7 - Monogame wrapper for Xamarin.Forms.
- Xamarin.Forms.GoogleMaps
★250 - Maps library for Xamarin.Forms using Google Mapps API.
- XamFormsMvxTemplate
★19 - MVVMCross.Forms Visual Studio 2017 project template (iOS,
Android, UWP).
- Xamarin.Essentials
- Xamarin.Essentials provides developers with cross-platform APIs for
their mobile applications.
- Xamarin.Forms.EntryAutoComplete
- Custom control which functionality provides you with suggestions while
typing. There are several modes of suggestions. The suggested text can
be displayed in a drop-down list so that you can choose from different
options.
- Xamarin.Forms.Skeleton
- The latest trend for loading approaches in Xamarin Forms apps.
Skeleton can be easily implemented on each view contained in your
Xaml.
- MaterialDesignControlsPlugin
- MaterialDesignControls Plugin for Xamarin Forms is a collection of
Xamarin.Forms controls that apply the Material Design Guidelines.
XPlat APIs
Most of them support Android and iOS, some do Windows Phone 8
- Calendars
★49 - Calendar API plugin for Xamarin and Windows Phone, Supports
basic CRUD operations with calendars and events.
- Device
Motion ★1 - Simple cross platform plugin to read motion vectors
value for device motion sensors such as: Accelerometer, Gyroscope,
Magnetometer, Compass.
- Estimote
★37 - Cross platform implementation of the estimote library for
beacons.
- Fingerprint
★165 - Xamarin and MvvMCross plugin for accessing the fingerprint
sensor.
- HybridKit ★21 -
Simple C# – JavaScript bridge for building hybrid iOS and Android
apps.
- Lamp
★1 - Simple way of controlling the lamp/LED on the back of your
phone from Xamarin and Xamarin.Forms projects.
- ManageSleep
★15 - Manage auto sleep / auto lock in all platforms. This is useful
when dealing with long running processes.
- Messaging
★88 - 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
★79 - Notifications plugin for Xamarin and Windows.
- Pontoon ★27 - A
flexible bridge to the Universal Windows Platform.
- Shiny ★428 - A
Xamarin Framework for Backgrounding & Device Hardware Services.
- Telephony ★17 -
Email, sms, voice and video call functionality.
- userdialogs
★510 - Standard user dialogs from a shared/portable library.
- Version
★1 - Get app version from bundle.
- Xamarin.Badge
★33 - Simple cross platform plugin to work with application
badge.
- Xamarin.Essentials
★560 - Essential cross-platform APIs from Xamarin team for iOS and
Android. Provide easy access to or usage of: Acelerometer, App
Information, Battery, Clipboard, Compass, Connectivity, Data Transfer
(Share), Device Display Information, Device Information, Email, File
System Helpers, Flashlight, Geocoding, Geolocation, Gyroscope,
Magnetometer, Open Browser, Orientation Sensor, Power, Phone Dialer,
Preferences, Screen Lock, Secure Storage, SMS, Text-to-Speech, Version
Tracking, Vibrate.
- Xamarin.LocalNotifications
★40 - Simple cross platform plugin to work with mobile local
notifications.
- Xamarin.Mobile
★237 - Reading the user’s address book and using the camera.
- Xamarin-plugins
★39 - Device Motion, Geofencing, Push Notifications (Beta).
Other lists
Websites
- 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.
- Programming
Community Curated Resources For Learning Xamarin - A curated list of
resources for learning Xamarin.
- Weekly Xamarin -
Hand-picked round up of the best Xamarin development links every week.
Curated by Geoffrey Huntley and published every Friday. Free.
- Xamarin Online
Courses - A list of over 60 Online Courses (free and paid) from
Classpert Online Course Search.
License
see LICENSE
xamarin.md
Github