Xamarin
Awesome-Xamarin ¶
A hand-picked bookmark collection of subjectively modern/interesting and ideally open-source libraries/tools for Xamarin Android/iOS/Windows/OSX
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 ★99 - A Task-based LINQ designed to work with async/await.
Charts¶
- MicroCharts ★1052 - 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.
- 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.
- 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.
- 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.
- CocosCreator ★2 - Xamarin binding for CocosCreator 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.
- SimpleLocalize ★19 - Open source tool for managing i18n keys in Xmarin projects.
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.
- 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.
- 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¶
- 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¶
- 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.
- VSMac-CodeCoverage - Gather code coverage results for your unit test projects from Visual Studio for Mac.
Tools¶
- Cheeseknife ★53 - A view injection library for Xamarin.Android.
- IconFont2Code ★52 - Generates a C# class with the glyph Unicode values in your font file (.ttf/.otf).
- 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.
- VSMac-CodeDistribution - A Visual Studio for Mac extension that visualises code distribution between projects. Particularly useful for Xamarin projects to understand the amount of code shared between platforms.
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¶
- 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.
- 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¶
- 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.
- Xamarin Online Courses - A list of over 60 Online Courses (free and paid) from Classpert Online Course Search.
License¶
see https://github.com/XamSome/awesome-xamarin/blob/master/LICENSE