Skip to content

A curated list of awesome Xamarin iOS/Android and Xamarin Forms bindings, ports, frameworks and much more!

Notifications You must be signed in to change notification settings

mvanbeusekom/awesome-xamarin

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 

Repository files navigation

#Awesome Xamarin

Awesome PRs Welcome

About

A curated list of awesome Xamarin ports, bindings, tutorials and much more! The list is divided into categories such as Frameworks, Components, Testing and others, open source projects, free and paid services. There is no pre-established order of items in each category, the order is for contribution. If you want to contribute, please read the guide.

How to Use

Awesome-Xamarin is an amazing list for people who need a certain feature on their app, so the best ways to use are:

  • Ask for help on our Twitter
  • Simply press command + F to search for a keyword
  • Go through our Content Menu

Content


Getting Started

Libraries And Frameworks

Analytics

Animation

  • Xamarin.Animations - Libraries tends to make view animation easier for common scenarios like fade or scale entrance animations. alt tag
  • Facebook Pop - Pop is an open-source animation engine behind the Facebook Paper's smooth animations and transitions. Using dynamic instead of traditional static animations, Pop drives the scrolling, bouncing, and unfolding effects that bring Paper to life. alt tag

Architecture

  • MvvmCross - Extensive MVVM framework with plugins. alt tag
  • MVVM Light - Lightweight MVVM framework. alt tag
  • Prism - Framework for building loosely coupled, maintainable, and testable XAML applications in WPF, Windows 10 UWP, and Xamarin Forms
  • Caliburn Micro - A small, yet powerful framework, designed for building applications across all XAML platforms. Full support for Xamarin.Forms and allows for reuse of ViewModels with Xamarin.Android and Xamarin.iOS projects (more support will be added in future releases).
  • FreshMvvm - FreshMvvm is a super light Mvvm Framework designed specifically for Xamarin.Forms.

Authentication

  • Xamarin.Auth - Xamarin.Auth helps you authenticate users via standard authentication mechanisms (e.g. OAuth 1.0 and 2.0), and store user credentials. alt tag

  • Auth0 - Add authentication with different sources, either social like Google, Facebook, Twitter, or enterprise like WAAD, Google Apps, AD, ADFS or any SAML Provider. alt tag

  • Fingerprint - Authenticate a user using the fingerprint sensor (aka. Touch ID). alt tag

Cache

  • 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.alt tag
  • FFImageLoading - Library to load images quickly & easily on Xamarin.iOS, Xamarin.Android, Xamarin.Forms and Windows (UWP, WinRT).alt tag

Charts

  • Syncfusion - Chart includes functionality for plotting more than 20 chart types. Each chart type is easily configured with built-in support for creating stunning visual effects. alt tag
  • Flexchart - Visualize your data in a wide span of Cartesian chart types including bar, column, area, line, spline, scatter, bubble, high-low-open-close (HLOC) and candle. alt tag
  • Charts - A Xamarin port by Lucas Teixeira for Charts (ios-charts) by Daniel Cohen Gindi, inspired by Philipp Jahoda alt tag
  • Oxyplot - A cross-platform plotting library for .NET alt tag
  • Telerik - Feature-rich, intuitive and easy to use data visualization control featuring a large collection of chart series with smooth interaction and zooming. alt tag
  • SciChart - High performance charts. alt tag
  • MPAndroidChart - A Xamarin binding for MPAndroidChart by Philipp Jahoda. alt tag

Code Quality

  • Xamarin profiler - Use it to find memory leaks, resolve performance bottlenecks, and add polish to your apps before getting them out the door. alt tag
  • Firebase - Analytics and much more. alt tag
  • Hockeyapp - Analytics and crash reporting alt tag

Color

  • Splat - Splat aims to fix that, by providing a usable leaky abstraction above platform code. It is leaky, because it always provides an extension method ToNative() and FromNative(), which converts the abstraction to the platform-specific version.

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.alt tag
  • Realm - The alternative to SQLite: Simple, modern and fast.alt tag
  • Couchbase Lite - Couchbase document store litealt tag
  • sqlite-net - SQLite-net is an open source, minimal library to allow .NET and Mono applications to store data in SQLite 3 databases.alt tag

Data Structures / Algorithms

Date & Time

  • Noda.Time - A better date and time API for .NETalt tag

EventBus

  • MessageBus - Cross platform EventBus framework for iOS, Android, Windows Phone and Macalt tag

Files

  • PCLStorage - PCL Storage provides a consistent, portable set of local file IO APIs for .NET, Windows Phone, Windows Store, Xamarin.iOS, Xamarin.Android, and Silverlight. This makes it easier to create cross-platform .NET libraries and apps.alt tag
  • Filepicker-plugin - Simple cross-platform plug-in that allows Pick files, save files and open the archive application standards..alt tag

Games

  • CocoSharp - CocosSharp is an easy to use library for 2D games using C# and F#. It is a .NET port of the popular Cocos2D engine. alt tag
  • UrhoSharp - UrhoSharp is a powerful 3D Game Engine for Xamarin and .NET developers. alt tag
  • MonoGame - MonoGame is an efficient, flexible, cross platform API for developing 2D and 3D games.alt tag

Gesture

Graphics

  • Splat - Splat aims to fix that, by providing a usable leaky abstraction above platform code. It is leaky, because it always provides an extension method ToNative() and FromNative(), which converts the abstraction to the platform-specific version.alt tag
  • SkiaSharp - SkiaSharp is a cross-platform 2D graphics API for .NET platforms based on Google's Skia Graphics Library (https://skia.org/). alt tag

Hardware

Bluetooth

Camera

  • MediaPlugin - Simple cross platform plugin to take photos and video or pick them from a gallery from shared code.alt tag

Beacons

  • AltBeacon - Allows developers to create proximity aware applications utilizing iBeacons & geo fences.alt tag
  • Estimote - Xamarin folks have prepared these components—wrappers around our native SDKs for iOS and Android:alt tag

Location

  • GeoLocator - Simple cross platform plugin to get GPS location including heading, speed, and more. alt tag

Other Hardware

Layout

  • FluentLayout - FluentLayout provides an easy, fluent API for creating constraint-based layouts in Xamarin.iOS. alt tag

Localization

  • JsonLocalization - MvvmCross - The JsonLocalization plugin provides a number of support classes to help load Json language text files for internationalization (i18n). alt tag

Logging

  • Xamarin-Logger - Simple plugin for logging events in your Xamarin.Forms applications. alt tag

Maps

  • ExternalMaps-Plugin - Open external maps application to navigate to a specific geolocation or address. alt tag
  • Google-Maps-iOS - Add custom markers, styled maps, 3D buildings, indoor floor plans, street view, satellite imagery, and more to your iOS app. alt tag

Math

  • Math.NET - Math.NET Numerics aims to provide methods and algorithms for numerical computations in science, engineering and every day use. alt tag

Media

Audio

GIF

Image

  • ImageCirclePlugin - Simple but elegant way of display circle images in your Xamarin.Forms projects alt tag

Media Processing

  • QRchestra - QR Code implementation. alt tag
  • ZXING.net - ZXing.Net.Mobile is a C#/.NET Barcode Scanning Library alt tag

PDF

  • Xamarin.Forms.PDFViewer - PDF Viewer custom renderers for Xamarin.Forms using Radaee PDF SDK and android-pdfview alt tag

  • ZoomingPdfViewer - PThis is a port of Apple's ZoomingPDFViewer alt tag

  • mTouch-PDFReader - mTouch-PDFReader is a Xamarin iOS library to display PDF documents on iPad and iPhone. alt tag

  • PDFNet - PDFNet SDK is an industry-leading, high-quality document solution powering mobile, server, desktop, web, and cloud-based apps.

  • XFiniumPDF -Cross platform PDF development. Add PDF capabilites to your iOS, Android or Windows Phone applications.alt tag

  • APITron - Universal PDF creation and manipulation library, can be used to read, merge, edit and sign PDFs. Supports PDF content extraction, including text and images. alt tag

Streaming

Video

Messaging

Also see push notifications

  • JSQMessagesViewController - JSQMessagesViewController provides a gorgeous and feature rich iOS view controller that makes adding messaging to your app easy. alt tag
  • SlackTextViewController - A drop-in UIViewController subclass with a growing text input view and other useful messaging features. alt tag

Networking

  • Polly - Polly is a .NET resilience and transient-fault-handling library that allows developers to express policies such as Retry, Circuit Breaker, Timeout, Bulkhead Isolation, and Fallback in a fluent and thread-safe manner. alt tag
  • refit - The automatic type-safe REST library for Xamarin and .NET. alt tag
  • ModernHttpClient - This library brings the latest platform-specific networking libraries to Xamarin applications via a custom HttpClient handler. alt tag
  • Connectivity - This library brings the latest platform-specific networking libraries to Xamarin applications via a custom HttpClient handler. alt tag
  • Fusillade - Fusillade helps you to write more efficient code in mobile and desktop applications written in C#. Its design goals and feature set are inspired by Volley as well as Picasso. alt tag

Email

  • Messaging Plugin - 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. alt tag
  • MvvmCross email plugin -The Email plugin provides a cross-platform implementation for sending emails. alt tag

Notifications

Push Notifications

  • PushNotification -Simple cross platform plugin to handle push notification events such as registering, unregistering and messages arrival on Android, iOS, UWP platforms. alt tag
  • PushSharp - PushSharp is a server-side library for sending Push Notifications to iOS/OSX (APNS), Android/Chrome (GCM), Windows/Windows Phone, Amazon (ADM) and Blackberry devices! alt tag
  • PushSharp - PushSharp is a server-side library for sending Push Notifications to iOS/OSX (APNS), Android/Chrome (GCM), Windows/Windows Phone, Amazon (ADM) and Blackberry devices! alt tag
Push Notification Providers

Most of these are paid services, some have free tiers.

Parsing

CSV

  • CSVHelper - A library for reading and writing CSV files. Extremely fast, flexible, and easy to use. Supports reading and writing of custom class objects. alt tag
  • KBCsv - KBCsv is an efficient, easy to use .NET parsing and writing library for the CSV (comma-separated values) format. alt tag

JSON

  • JSON.net - Popular high-performance JSON framework for .NET

Download

HTML

  • HTML Agility pack -This is an agile HTML parser that builds a read/write DOM and supports plain XPATH or XSLT alt tag

Passbook

  • PassKitSharp - PassKitSharp is a C#/.NET Library for Reading and Writing Apple PassKit files. alt tag

Payments

  • JudoPay - Payments SDK for Xamarin.Forms. alt tag
  • Stripe - Mobile Payments built for Developers alt tag
  • Xamarin.inAppBilling - Component to assist in adding In-App Billing to a Xamarin.Android application via Google Play Services.alt tag
  • PayPal.Forms - PayPal Plugin for Xamarin.Forms alt tag

Permissions

Reactive Programming

  • ReactiveUI - A MVVM framework that integrates with the Reactive Extensions for .NET to create elegant, testable User Interfaces that run on any mobile or desktop platform. alt tag

Security

Encryption

Text

Testing

TDD / BDD

  • xUnit - xUnit.net is a free, open source, community-focused unit testing tool for the .NET Framework. xUnit has test runners available for Android and iOS. Greg Shackles has written a nice tutorial to help you get started. alt tag
  • NUnitLite - A lightweight testing framework for .NET, based on the ideas in NUnit and providing a subset of its features. NUnitLite is distributed with Xamarin to allow unit-testing of applications build with Xamarin. alt tag

A/B Testing

UI Testing

Other Testing

Font

UI

Activity Indicator

Alerts

App Introduction

Badge

Button

Calendar

Card View

  • FoldingCell - FoldingCell is an expanding content cell inspired by folding paper material and created by Ramotion Inc. alt tag

Form & Settings

Keyboard

Label

Menu

Modal Transition

Navigation Bar / Toolbar

PickerView

Popup

Pull to Refresh

Rating Stars

ScrollView

Slider

Splash View

Stepper

Switch

Tab Bar

  • Tab Badge - Xamarin Forms bindable tab badges. Badges are small numbers/chars that can indicate new items on the tab page. alt tag

Table View / Collection View

Tag

TextField & TextView

Web View

URL Scheme

Utility

VR

Walkthrough / Intro / Tutorial

WebSocket

GCD

Project setup

Dependency / Package Manager

Tools

Rapid Development

Injection

Deployment / Distribution

App Store

Style Guides

Good Websites

News, Blogs and more

UIKit references

Forums and discuss lists

Tutorials and Keynotes

iOS UI Template

Prototyping

Newsletters

Medium

Social Media

Twitter

Facebook Groups

Podcasts

Books

Contributing and License

  • See the guide
  • Distributed under the MIT license. See LICENSE for more information.

About

A curated list of awesome Xamarin iOS/Android and Xamarin Forms bindings, ports, frameworks and much more!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published