Skip to content

Instantly share code, notes, and snippets.

@DamianSuess
Last active March 6, 2024 02:56
Show Gist options
  • Save DamianSuess/05214f989c3f9bafb76efe1f9fa6cd72 to your computer and use it in GitHub Desktop.
Save DamianSuess/05214f989c3f9bafb76efe1f9fa6cd72 to your computer and use it in GitHub Desktop.
Xamarin.Forms components and examples

Curated list of Xamarin.Forms heplers, plugins, and examples.

Special thanks to all authors, contributors, and especially Javier Suárez

Editors Top Picks

UI

Name Description
DesktopTrayIcon A Xamarin Forms plugin for adding tray icon functionality to Xamarin.Mac and Xamarin.WPF
FlowListView ListView derivative with flowing, grid-like columns support
Infinite Scroll small library to quickly and easily add infinite/endless scrolling support to any Xamarin.Forms ListView
Grid Splitter Add a splitter/slider to your form like you had in WinForms
DataGrid DataGrid with graphics library for Android, iOS, UWP
Radial Menu Graphical radial menu, must see!

Samples

Name Description
App Intro Slider Simple "intro" pages for the first-run of your app

All by Category

Animations

Behaviors

Books

Cloud

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

  • 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.
  • Xamarin University Infrastructure Library: Extensions, MVVM classes, behaviors and other misc. useful code bits from Xamarin University.

Elmish

Plugins

  • Battery Status: Get battery level, how it is getting charge, and events.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.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.

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.
  • 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.
  • 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.

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.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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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-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.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.
  • 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-RadialMenu: Xamarin.Forms simple radial menu without renderers.
  • 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.
  • 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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment