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
- Architecture
- Async
- Charts
- Cloud
- Database
- Fody
- Framework
- Game Engine
- IO/Storage
- IOC/DI
- Internationalization
- Layout
- Media
- MVVM
- Network
- Reactive
- Security
- Serialization
- TDD/BDD
- Tools
- UI
- Wearable
- Xamarin.Forms
- XPlat APIs
- Other lists
- Websites
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
- AsyncEx ★1,253 - A helper library for async/await.
- LinqToAwait ★98 - A Task-based LINQ designed to work with async/await.
Charts
- MicroCharts ★765 - Create cross-platform (Xamarin, Windows, ...) simple charts.
- MPAndroidChart/iOSCharts ★6 - MPAndroidChart/iOSCharts binding support use in Xamarin Forms.
- OxyPlot ★1,311 - Cross-platform plotting library for .NET.
Cloud
- Azure - Microsoft Azure.
- Bugfender ★10 - Store your application logs on the cloud (iOS & Android).
- FireSharp ★479 - Firebase REST API wrapper.
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.
Fody
- Fody ★2,150 - Extensible tool for weaving .net assemblies.
- AutoDependencyProperty.Fody - Automatically generates DependencyProperty boilerplate from simple C# properties.
- PropertyChanged.Fody ★820 - Injects INotifyPropertyChanged code into properties at compile time.
- ReactiveUI.Fody ★105 - Generate RaisePropertyChange notifications for properties and ObservableAsPropertyHelper properties.
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.
- Fusion ★13 - Cross-platform C#-based mobile app development framework, built on top of Xamarin.iOS and Xamarin.Android.
- 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
- CocosSharp ★463 - CSharp implementation of the Cocos2D and Cocos3D APIs.
- MonoGame ★5,276 - Open source implementation of the Microsoft XNA 4.x Framework.
- Paradox ★1,706 - Paradox3D + Silicon Studio .NET.
- UrhoSharp ★275 - Cross-platform high-level 3D and 2D engine.
IO/Storage
- IO ★6 - Access system folders and files using a familiar api.
- PCL Storage ★270 - Consistent, portable set of local file IO APIs for .NET.
- FilePicker-Plugin-for-Xamarin ★37 - Simple cross-platform plug-in that allows you to pick files and work with them.
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.
Layout
- Flex ★128 - Flexible box layout system.
Media
- 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.
- 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.
- 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.
- Cheesebaron.MvxPlugins ★79 - A collection of plugins.
- MvxAms ★1 - MVVMCross Azure Mobile Services plugin.
- MvxForms ★1 - MVVMCross plugin for using Xamarin.Forms.
- 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
- 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 ★607 - 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.
- 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.
Security
- BoucyCastle.PCL ★93 - PCL Version of BouncyCastle (Cryptography) targetting .NET, SL, WP and WinRT.
- 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 ★1 - Simple cross platform plugin to check connection status of mobile device, gather connection type, bandwidths, and more.
Serialization
- Newtonsoft.Json ★5,812 - Popular high-performance JSON framework for .NET.
- Quicktype ★886 - Instantly generate classes and JSON serialization code from JSON.
TDD/BDD
- FluentAssertions - TDD/BDD fluent asserts.
- NBehave ★47 - Framework for Behaviour-Driven Development.
Tools
- Cheeseknife ★53 - A view injection library for Xamarin.Android.
- GradleBindings ★103 - Visual Studio extension, for referencing gradle libs in Android projects.
- Material icons generator plugin - Xamarin Studio ★14 - Adding material icons to android project.
- Material icons generator plugin - Visual Studio - Adding material icons to android project.
- Mutatio ★18 - Visual Studio for Mac add-in/extension for converting old PCLs to .NET Standard 2.0 targeting projects automatically.
- PushSharp ★3,990 - 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 ★20 - Productivity plugin for Xamarin Studio.
- Xamaridea ★69 - Visual Studio extension, opens *.axml files in Android Studio.
- Xavtool ★15 - Command-line utility to automatically increase iOS / Android / UWP applications version.
- Xamarin-APRTextFieldSuggestions - Xamarin.iOS Autocomplete suggestions for UITextfield in iOS.
UI
- 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.
- Syncfusion Components - Rich set of UI components and file format libraries for Xamarin.Forms, Xamarin.iOS and Xamarin.Android applications.
- XamEffects ★53 - Touch effect for Xamarin.Forms.
- Telerik UI for Xamarin - Telerik UI for Xamarin offers more the 70 controls to build professional-looking modern mobile applications for iOS, Android and UWP from a single code base.
Wearable
- WormHoleSharp ★25 - Communication between Watch and iDevice.
Xamarin.Forms
- 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.
- MvxForms ★8 - MVVMCross plugin for using Xamarin.Forms.
- PullToRefreshLayout ★134 - 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.
- 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.
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.
- 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
- Awesome Xamarin Bookmarks ★9 - Hand-picked bookmarks of interesting (must have) links for Xamarin developers.
- Open Source Xamarin Apps ★11 - A list of open source Xamarin apps.
- Xamarin Bindings ★112 - A list of existing library bindings.
- Xamarin Components ★1,338 - 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.
- Xamarin Universal Library ★3 - This is a universal library that contains everything we need to know about the Xamarin universe.
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.
License
see LICENCE.md