A curated list of awesome Xamarin.Forms libraries and resources
Switch branches/tags
Nothing to show
Clone or download

README.md

Awesome Xamarin.Forms

A curated list of awesome Xamarin.Forms libraries and resources.

Work in progress. Contributions are always welcome!

You can find other awesome lists related to Xamarin below:

  • Awesome-Elmish.XamarinForms: A hand-curated list of awesome resources when using Elmish.XamarinForms.
  • awesome-xamarin: A collection of interesting libraries/tools for Xamarin mobile projects.
  • awesome-xamarin: A curated list of awesome Xamarin iOS/Android and Xamarin Forms bindings, ports, frameworks and much more!
  • Xamarin.Bindings: A list of existing Xamarin binding libraries.

Animations

Behaviors

Books

Cloud

Converters

Crumbs

  • Xamarin Crumbs: A set of source code files —including XAML ones— to reuse once and again.

Data

  • Postman: Tool for test web services requests and responses.
  • Polly: Automatic retry policies.

Database

  • Akavache: Akavache is an asynchronous, persistent (i.e. writes to disk) key-value store created for writing desktop and mobile applications in C#, based on SQLite3. Akavache is great for both storing important data (i.e. user settings) as well as cached local data that expires.
  • Azure Mobile Apps: Offline sync-enabled Xamarin apps that connect to Azure Mobile App.
  • CosmosDB: Azure Cosmos DB is a globally distributed, multi-model database service.
  • Entity Framework Core: Is a lightweight and extensible version of the popular Entity Framework data access technology.
  • LiteDB: A .NET NoSQL Document Store in a single data file.
  • Realm: Alternative to SQLite, simple and fast.
  • SQLite-net: It is an open source, minimal library to allow .NET and Mono applications to store data in SQLite 3 databases.

Design

Effects

  • XamEffects: Xamarin.Forms UI effects.
  • AiForms.Effects: Effects library that provides you with more flexible functions than default by targetting only Android and iOS in a Xamarin.Forms project.

Images and Icons

  • Icons8: Thousands of free icons in different styles and sizes.
  • MetroStudio: Free Windows app that has thousands of icons

Mirroring Devices

  • AirDroid: Utility for mirroring, file transfer, remote control, notifications, etc. an Android device.
  • Vysor: Utility for mirroring your Android physical device to your screen.
  • QuickTime Player: For mirroring iOS devices.

MVVM

  • CodeMill.VMFirstNav: A Xamarin.Forms ViewModel First Navigation Library.
  • ExRin: A framework for enterprise scale apps.
  • FreshMvvm: It is a super light Mvvm Framework designed specifically for Xamarin.Forms
  • MVVMCross: Cross-platform mvvm mobile development framework.
  • MVVMLight: Cross-platform MVVM development framework.
  • MvvmNano: Small and smart MVVM framework made with ❤ for Xamarin.Forms.
  • Prism: Nice framework with an amazing navigation service.
  • ReactiveUI: An advanced, composable, functional reactive model-view-viewmodel framework for all .NET platforms.
  • Sextant: A ReactiveUI navigation library for Xamarin.Forms.
  • TinyMvvm: TinyMvvm is a tiny MVVM library with focus on productivity.
  • xamvvm: Simple MVVM (Model, ViewModel, View) Framework for .Net - Xamarin.Forms compatible.
  • Xamarin University Infrastructure Library: Extensions, MVVM classes, behaviors and other misc. useful code bits from Xamarin University.

Elmish

Frameworks

  • Clarity: Is an application framework for XAML based platforms.
  • XamFluentUI: Fluent UI API for Xamarin Forms.

Plugins

  • AppShortcutsPlugin: Dynamically add and remove shortcuts to your app's icon so the user can deep-link into your app.
  • Battery Status: Get battery level, how it is getting charge, and events.
  • CSharpForMarkup: Use declarative style C# instead of XAML for Xamarin Forms UI.
  • Connectivity: See if device is connected to the internet and through what connection type.
  • Contacts: Currently in Alpha to gather and query contacts.
  • Device Information: Base information about each device such as OS and version.
  • DynamicStackLayout: Xamarin.Forms layout for creating dynamically wrapped views.
  • EntryCustomReturnPlugin: Xamarin.Forms Plugin to customize the Xamarin.Forms.Entry Keyboard Return Button.
  • Extended Maps: Launch navigation directions in default map app on each OS.
  • Geofence: A cross platform library for Xamarin & Windows that allows for easy geofence detection.
  • Geolocator: Easy way of querying GPS location.
  • GoogleAnalyticsForXamarinForms: This project is a cross platform library for Xamarin Forms, which enables a handy use of Google Analytics in your applications.
  • Iconize: Use icon fonts in your Xamarin.Forms application!
  • InAppBillingPlugin: A simple In-App Purchase plugin for Xamarin and Windows to query item information, purchase items, restore items, and more.
  • ImmutableUI: Is a collection of immutable data objects that mirror object-oriented user interface APIs.
  • Jobs: Background Jobs Framework for Xamarin & UWP.
  • NavigationExtensions for Xamarin.Forms: Those extensions for Xamarin.Forms basicaly add storage of the navigation history when the application stops.
  • LibVLCSharp: Xamarin bindings for libvlc, the multimedia framework powering the VLC applications made by VideoLAN.
  • MatchaBackgroundService: A plugin library to simplify Backgrounding in Xamarin.Forms.
  • Media: Take or pick photos/videos.
  • MediaManager: Cross platform media plugin for Xamarin and Windows.
  • NFCForms: Easily read and write NFC tags in your Xamarin.Forms application.
  • PayPal: PayPal Plugin for Xamarin.Forms.
  • Permissions: Check and request runtime permissions.
  • Plugin.GuestureLock: GuestureLock for Xamarin.Forms.
  • Plugin.LocalNotification: The local notification plugin provides a way to show local notifications from Xamarin.Forms apps.
  • Screenshot: Get and save screenshot in yours apps for Xamarin and Windows.
  • Settings: Fully cross platform settings for your application.
  • Share: Easily share text or open a browser.
  • SimpleAudioPlayer: Plays local files and audio data as a stream. This allows you to store audio data in a portable class library and play it on all supported platforms.
  • Text To Speech: Turn your text into a vocal symphony on mobile devices.
  • TinyInsights: A library that abstracting crash reporting- and analytics services and makes it possible to use multiple providers.
  • TinyAccountManager: Account manager for Xamarin and UWP. Store account information in your app in a secure way.
  • TinyNavigationHelper: Is a library that is created for you that want to abstract the navigation without installing a bigger MVVM framework.
  • TinyPubSub: Worlds smallest pub/sub thingy created mostly for Xamarin Forms.
  • Toasts.Forms.Plugin: A simple way of showing notifications inside your Xamarin or Windows application.
  • TouchEffect: This plugin provides opportunity to create views with touch effects without using any gestureRecognizers.
  • Version Tracking: Track which versions of your Xamarin.iOS, Xamarin.Mac, Xamarin.Android, or Windows app a user has previously installed.
  • Vibrate: Make that device rumble!.
  • WhenTheAppWasBuilt: Strongly shake your device and we'll show you when the app was built.
  • Xamarin.Essentials: (Official) Essential cross platform APIs for your mobile apps.
  • Xamarin.Plugin.Firebase.RemoteConfig: Xamarin Forms bindings for Firebase RemoteConfig.
  • Xam.Plugin.AudioPlayer: Plugin for Xamarin.Forms to play audio in background from stream.
  • Xam.Plugins.OnDeviceCustomVision: Plugin to allow custom vision models to be used from mobile devices.
  • XamCal: A Xamarin.Forms Calendar Plugin.
  • Xam.Plugin.Webview: Xamarin Plugin for a HybridWebView in PCL projects.
  • Xam.Plugins.AutoUpdate: Xamarin Forms plugin that auto updates your Android or UWP sideloaded application.
  • Xam.Reactive.Location: Location on each Xamarin platform is already event/push driven which is where Reactive models do great. This creates a useful wrapper around the iOS/Android location APIs.
  • ZXing.Net.Mobile: The goal of ZXing.Net.Mobile is to make scanning barcodes as effortless and painless as possible in your own applications.
  • Xamarin.Forms.Contacts: Read Contacts Data on iOS and Android.
  • Xamarin.Forms.Segues: A library that provides support for segues between Pages.
  • Xamarin.Forms.GraphQL: {GraphQL} bindings allow binding from XAML directly to a GraphQL data source.
  • Xamarin.Cognitive.BingSpeech: Is a managed client library that makes it easy to work with the Microsoft Cognitive Services Bing Speech API on Xamarin.iOS, Xamarin.Android, Xamarin.Forms, UWP, and other .NET Standard 2.0 projects.
  • Xamarin.Forms.SavableObject: Saving Data without SQL plugin.
  • XPlat Windows APIs: XPlat Windows APIs are designed to make it easier for Universal Windows Platform (UWP) developers to share their knowledge of the platform APIs across Android and iOS.

Project Templates

  • Prism Template Pack: Contains a collection of snippets, item templates, and project templates for use with building Xamarin.Forms applications using Prism.

Samples

Serialization

  • JSON.NET: Is a popular high-performance JSON framework for .NET
  • Utf8Json: Definitely Fastest and Zero Allocation JSON Serializer for C#(.NET, .NET Core, Unity and Xamarin), this serializer write/read directly to UTF8 binary so boostup performance.

Testing

Tools

  • Android File Transfer: Browse and transfer files between your Mac computer and your Android device.
  • Assetxport: Resize UWP, Xamarin.Android and Xamarin.iOS assets automatically.
  • Charles: Is an HTTP proxy / HTTP monitor / Reverse Proxy that enable to view all of the HTTP and SSL / HTTPS traffic between the machine and the Internet.
  • clean-compress: A macOS utility that cleans (and optionally compresses/zips) Xamarin solutions.
  • dpilove: Easily find the DPI of any screen.
  • Gorilla Player: Instant XAML Preview for Xamarin Forms.
  • HotReload: Xamarin.Forms XAML hot reload, live reload, live xaml.
  • Infragistics AppMap: Visually map out and generate your Xamarin.Forms application. Code generation includes Pages (Views), ViewModels, and navigation code that follows best-practice Prism MVVM architecture.
  • LiveXAML: Whenever you save any XAML file, it automatically updates the running application.
  • MFractor: MFractor is the essential productivity tool for Xamarin Studio.
  • Mutatio: Visual Studio for Mac add-in/extension for converting old PCLs to .NET Standard 2.0 targeting projects automatically.
  • Productivity Power Tools: An extension bundle installer that will install each of the individual components of Productivity Power Tools (copy has HTML, fix tabs, etc.).
  • scrcpy: This application provides display and control of Android devices connected on USB (or over TCP/IP). It does not require any root access. It works on GNU/Linux, Windows and MacOS.
  • UI Sleuth: Xamarin.Forms debugging tool.
  • VSTouchbarTools: A simple extension that installs a XML definition for Parallels v13 to offer basic Touchbar support.
  • vsmacdeepclean: Is a Visual Studio for macOS add-in / extension that let you easily clean projects, NuGet, Xamarin and VS cache without leaving the IDE.
  • XAMLator: Is a live XAML previewer for Xamarin.Forms. Change something in your view's XAML in Visual Studio and you preview it live in your device or simulator!
  • XAML Styler: A visual studio extension, which formats XAML source code by sorting the attributes based on their importance.
  • NSwag: Swagger and code generation tool for C#. Easily integrate your own or 3rd party APIs into your app.
  • How to set up Xamarin.Android on Linux: A guide to getting Xamarin.Android ready to use on your distro of choice (plus JetBrains Rider support)!
  • Xamarin.Forms Android on Linux command line tools: This is a similar experimental project and documentation to build Android applications on Linux, using the Xamarin.Android and IDE like the Visual Studio Code or MonoDevelop.

TV

  • Tizen.TV.UIControls: The Tizen TV UIControls is a set of helpful extensions to the Xamarin Forms framework for the Samsung TV device.

UI

  • AiForms.CollectionView: This is a flexible ListView that has a grid and horizontal layout with reusable cells for Xamarin.Forms (Android / iOS).
  • AiForms.Dialogs: This is a collection of Custom Dialogs that can be defined with XAML for Xamarin.Forms (Android / iOS).
  • AiForms.Renderers: This is a flexible Xamarin.Forms TableView specialized in settings for Android / iOS.
  • ACR User Dialogs: A cross platform library that allows you to call for standard user dialogs from a shared/portable library.
  • AutoSuggestBox: Represents a text control that makes suggestions to users as they type.
  • BottomTabbedPage: A Xamarin.Forms control brings BottomNavigationView for bottom navigation on Android.
  • BadgeView: A Xamarin.Forms control to display a round badge.
  • BuildIt: Build It is the set of libraries that makes it easier and quicker to build applications.
  • ButtonCircle: Circle buttons with icon for your Xamarin.Forms applications.
  • CardsView: CardsView & CarouselView for Xamarin.Forms.
  • CircularProgress: Circular Progress control for Xamarin Forms.
  • ColorPicker: Color picker for Xamarin.Forms. It can be used as a large color mixer control (ColorPickerMixer) or as a dialog for select a color (ColorPickerDialog) or as an entry editor (ColorPickerEntry) of hexadecimal value with preview of a color and option of launch a dialog with color mixer.
  • ContextViewCell: This plugin provides opportunity to create custom context menu for every cell.
  • CrossPlacePicker: Simple cross platform plugin to pick place using google maps with the help of Cross Platform API.
  • CutView: A diagonal view for xamarin forms based on NControl.
  • DesktopTrayIcon: A Xamarin Forms plugin for adding tray icon functionality to Xamarin.Mac and Xamarin.WPF.
  • DynamicWrapLayout: A Xamarin.Forms layout for creating dynamically wrapped views.
  • EasyLayout.Forms: Simplifies working with RelativeLayout Programatically in Xamarin.Forms.
  • EmbeddedPicker: Embedded page picker control for Xamarin.forms for both Android and iOS.
  • EnhancedEntry: Enhanced Entry for Xamarin.forms projects that extends the current xamarin.forms Entry.
  • ExpandableListView: Expandable ListView in Xamarin.Forms.
  • ExpandableView: This plugin provides opportunity to create expandable views.
  • FFImageLoading: Library to load images quickly & easily on Xamarin.iOS, Xamarin.Android, Xamarin.Forms and Windows (UWP, WinRT).
  • flexlayout-xamarin-forms: Flex Layout for Xamarin.Forms.
  • FlexButton: Button control for Xamarin.Forms with events for different states, color overlays and adjustable shapes and paddings. Supports iOS and Android.
  • FlippingAndResizableUI: UI with rotated view and expandable panel in Xamarin.Forms.
  • FlowListView: ListView derivative with flowing, grid-like columns support.
  • glidex.forms: Is an attempt at using Glide for faster Xamarin.Forms images on Android.
  • GradientBoxView: Create beautiful gradients.
  • GridSplitter: A control for Xamarin Forms that redistributes space between columns or rows of a Grid control.
  • htmllabel: HTML Label for Xamarin.Forms.
  • IconEntry: Entry with icon for Xamarin Forms.
  • Infinite Scrolling: A small library to quickly and easily add infinite/endless scrolling support to any Xamarin.Forms ListView.
  • ImageCircle: Simple but elegant way of display circle images in your Xamarin.Forms projects.
  • ImageCropper: Xam.Plugins.ImageCropper is a useful image cropping and rotating library for Xamarin.iOS and Xamarin.Android.
  • ImageCropper.Forms: Xamarin.Forms plugin to crop and rotate photos.
  • ImageCropView: Image cropper for Xamarin.Forms.
  • IS.XF.Toolkit: Customizable Expander and Picker controls for Xamarin.Forms.
  • MarkdownView: A native Xamarin.Forms Markdown renderer.
  • MarkdownTextView: A Xamarin.Forms component to display markdown text in a TextView.
  • mapbox-xamarin-forms: This library provides the controls/renderers for using Mapbox SDKs inside your Xamarin.Forms app.
  • Messier16 Forms.Controls: Messier16 Xamarin.Forms controls (Checkbox, RatingBar, SegmentedControl).
  • Microcharts: Is an extremely simple charting library for a wide range of platforms.
  • MultiGestureView: Extended ContentView with Events for gestures like Tap, Long Press and Right Click. Also supports Vibration and Vibration duration for haptic feedback.
  • MultipleToogleSwitch: Multiple position Toogle Switch control for Xamarin.Forms.
  • NControl: Is a Xamarin.Forms wrapper control built around the NGraphics library enabling developers to create custom controls without the need for custom renderers.
  • OxyPlot Xamarin: Charts for Xamarin Classic and Xamarin.Forms.
  • ParallaxScroll: Xamarin forms parallax scroll effect.
  • PinView: PIN keyboard for Xamarin.Forms.
  • PhotoBrowser: Full screen image viewer(Xamarin.Forms) that includes "pinch to zoom" and "swipe to dismiss" gestures.
  • PlacesSearchBar: An extension of Xamarin.Forms SearchBar control for implementing Google Places Autocomplete API.
  • PullToRefreshLayout: Implementation of pull to refresh layout for Xamarin.Forms targeting iOS and Android.
  • Rg.Plugins.Popup: Popup Page Plugin for Xamarin Forms.
  • ShapeControl.Forms: Xamarin.Forms Library that allows you to draw shapes such as circle, roundrect, oval and so on.
  • Sharpnado.Presentation.Forms: Presentation layer: Xamarin Forms custom components and renderers (HorizontalListView, Grid Layout, TaskLoaderView).
  • Signature Pad: makes capturing, saving, exporting, and displaying signatures extremely simple on iOS, Android and Windows.
  • SkiaRate: This library is using SkiaSharp to display a customisable RatingView.
  • SkiaSharp.DiagramEngine: Using SkiaSharp with Xaml,Bindings and DataTemplates.
  • SkiaSharp.Elements: Simple way to draw and interact with elements using the library SkiaSharp. Compatible with Xamarin Forms.
  • SKOR.UI:UI Controls for Xamarin.Forms (GradientButton).
  • SlideOverKit: SlideOverKit is a premium component for Xamarin.Forms. It allows developers to easily create awesome Slideovers in Xamarin.Forms.
  • SlidingPanel: Xamarin.Forms library that allows you to have for Google-Map-Like sliding panel from bottom of the screen.
  • StatesButton: States Button Control for Xamarin.Forms.
  • STabbedPage.Forms: Full customizable TabbedPage control for Xamarin.Forms.
  • SupportWidgetXF: Is a open source project that aims to provide a powerful and cross platform set of controls and helpers tailored to work with Xamarin Forms (SupportAutoComplete, SupportResultList, SupportDropList, SupportEntry, SupportButton, SupportActionMenu, SupportBindableStackLayout, SupportFlowLayout, SupportSearchView, SupportShadowView, SupportGradientView, SupportMapView, SupportRadioButton, SupportCalendarView ).
  • SwipeCards: A Tinder control for Xamarin.Forms that supports iOS, Android and UWP.
  • Syncfusion Components: Rich set of UI components and file format libraries for Xamarin.Forms, Xamarin.iOS and Xamarin.Android applications.
  • Tab Badge: Xamarin Forms bindable Tab badges for iOS and Android
  • TabStrip: Tab Strip control for Xamarin.Forms.
  • TabView: TabView control for Xamarin.Forms.
  • TimberLabel: A custom Xamarin.Forms.Label control that adds support for padding, rounded corners and, borders on iOS and Android.
  • TitleBar: Customizable Xamarin.Forms title bar for Android, iOS and Windows Phone: place up to 5 buttons inside it and position/paint the bar as you want.
  • TopTabbedPage: A Xamarin.Forms page based TabbedPage to show tabs at top on iOS.
  • Ultimate-Xamarin-Forms-KIT: Xamarin.Forms Charts.
  • XAMLCSS: Style Xaml-applications with CSS.
  • XamCustomLayouts: Xamarin.Forms Custom Layouts - Cards.
  • XFGloss:Xamarin.Forms UI Enhancements.
  • XFExpandableListView: A Xamarin.Forms Expandable ListView Control
  • XFFlipViewControl: An animated Flippable View with Xamarin.Forms.
  • XF-Material-Library: A Xamarin Forms library for implementing Material Design: Cards, Buttons, Chips, etc.
  • XFParallax: Xamarin Forms Parallax View control.
  • XFSegmentedControl: A Segmented Button Control in pure Xamarin.Forms.
  • Xamarin.Forms.EntryAutoComplete: Is a custom control which functionality provides you with suggestions while typing.
  • Xamarin.Forms-Calendar: Xamarin.Forms Calendar.
  • XamarinForms.CancelableModal: Close button for Xamarin.Forms modal page
  • Xamarin.Forms-Coordinator-Workaround: A Xamarin.Forms (Android Only) Implementation of CoordinatorLayout with CollapsingToolbar.
  • XamForms.Controls.Calendar: Custom calendar control for Xamarin.Forms.
  • XMedia: A Xamarin Forms selector multiple images.
  • Xamarin.Forms.DataGrid: DataGrid library for Xamarin.Forms Application.
  • Xamarin.FragmentPage: An extension for Xamarin.forms, where different pages can be placed in one content. This approach works with iOS, Android and Windows UWP.
  • Xamarin.Forms.GridView: GridView for xamarin.Forms with grouping, pull to refresh and selection visual state support.
  • Xam.Plugin.HtmlLabel: Use this Xamarin.Forms plugin to display HTML content into a label.
  • Xamarin.Forms.MultiSelectListView: Select multiple rows in a listview with Xamarin.Forms.
  • Xam.Plugin.PopupMenu: A simple popup menu for Xamarin Forms.
  • Xamarin.RangeSlider: Pick ranges in Xamarin.Forms.
  • Xamarin.CustomControls.AutoCompleteView: AutoCompleteView for Xamarin Forms.
  • XamarinFormsCustomSlider: Simple Xamarin.Forms Slider without defining custom renderer. Put a floating label on top of it.
  • Xamarin Forms Extended Controls: This controls are just a few controls that differ from the baked in Xamarin.Forms Controls.
  • XamarinFormsGesture: Xamarin Form Gesture Effects.
  • Xamarin.Forms.InputKit: CheckBox, Radio Button, Labeled Slider, Dropdows etc.
  • xamarin-forms-material-chips: Useful to create material-chips design in xamarin forms with MVVM architecture.
  • Xamarin.Forms.PageControl: Use the iOS paging control with Xamarin.Forms.
  • Xamarin.Forms.PinchZoomImage: Zoom in on the image with the pinch of your fingers.
  • Xamarin.Forms-RadialMenu: Xamarin.Forms simple radial menu without renderers.
  • Xamarin.Plugin.SharedTransitions: Activate shared element transitions between pages in Xamarin.Forms (IOS/Android).
  • Xamarin.Forms.SKMaps: Xamarin.Forms.SKMaps allows developers an easier integration of custom map features from a shared code base. Built over Xamarin.Forms.Maps and adding the strength of SkiaSharp rendering, you can get easy and highly performant map drawing features from a single code base.
  • Xamarin.Forms.StepProgressBar: Add a step progress bar in your Xamarin.Forms project. You can choose between a square or circular control.
  • Xam.Plugin.SimpleAppIntro: Just a nice and simple AppIntro for your Xamarin Forms project.
  • Xam.Plugin.SimpleColorPicker: Just a nice and simple ColorPicker for your Xamarin Forms project.
  • CarouselView.FormsPlugin: Carousel view with good customization options for Xamarin Forms.

UI Testing

  • Xamarin UITest: An Automated UI Acceptance Testing framework that allows programmers to write and execute tests in C# and NUnit that validate the functionality of iOS and Android Apps.
  • Xamarin Test Recorder: This tool makes it easy to record automated tests for your app.

Wearables

  • Tizen.CircularUI: Tizen Wearable CircularUI project is to develop an open source software motivate software developer to creating Tizen Wearable Xamarin Forms app more easily and efficiently.