/awesome-xamarin

A collection of interesting libraries/tools for Xamarin mobile projects

awesome-xamarin

Awesome Build Status

A hand-picked bookmark collection of subjectively modern/interesting libraries/tools for Xamarin Android/iOS/WP libraries.

Inspired by awesome-dotnet

General

  • AutoMapper ★4,111 - A convention-based object-object mapper in .NET
  • Humanizer ★2,407 - Manipulation and displaying of strings, enums, dates, times, timespans, numbers and quantities
  • Fluent Validation ★1,893 - Fluent interface and lambda expressions for building validation rules
  • NodaTime - Alternative date and time API for .NET
  • Polly ★1,913 - Exception handling policies such as Retry, Retry Forever, Wait and Retry or Circuit Breaker

Architecture

Async

Cloud

Database

Fody

Framework

  • Ammy - Modern UI language for XAML platforms. Free for non-commercial development
  • Appercode.UIFramework ★7 - Allows to build user interface of cross-platform mobile applications with single XAML layout
  • Fusion ★3 - Cross-platform C#-based mobile app development framework, built on top of Xamarin.iOS and Xamarin.Android
  • SimplyMobile ★88 - Collection of abstracted mobile functionalities
  • Xamu-Infrastructure ★28 - Extensions, MVVM classes, behaviors and other misc. useful code bits from Xamarin University

Game Engine

IO/Storage

  • io ★2 - Access system folders and files using a familiar api
  • PCL Storage ★174 - consistent, portable set of local file IO APIs for .NET

IOC/DI

  • Autofac ★1,309 - An addictive .NET IoC container
  • DryIoc - fast, small, full-featured IoC Container for .NET
  • Funq ★1 - High performance DI framework by eliminating all runtime reflection through the use of lambdas and generic functions as factories
  • LightInject ★203 - Light, simple and stunningly fast IoC container for .NET
  • Ninject ★1,634 - The ninja of .net dependency injectors
  • Stiletto ★26 - .NET port of Dagger, the lightweight Android dependency injector from Square
  • TinyIoC ★466 - Single-class easy IoC container

Internationalization

  • Resxible ★6 - tool to generate automatically several platform-dependent resource files from a single RESX file
  • Vernacular ★161 - Cross Platform Localisation, tools to convert standard strings formats
  • I18NPortable ★14 - Simple and cross platform internationalization/translations for Xamarin and .NET

Media

MVVM

Network

  • Flurl ★470 - Flurl is a modern, fluent, asynchronous, testable, portable, buzzword-laden URL builder and HTTP client library.
  • Fusillade ★160 - set of HttpMessageHandlers that make your mobile applications more efficient and responsive
  • Messaging - make a phone call, send a sms or send an e-mail using the default messaging applications
  • ModernHttpClient ★489 - Accelerates HTTP requests by using mobile-optimized libs (NSURLSession / OkHttp)
  • NFC - Xamarin plugin for reading NFC tags.
  • Push Notification - Simple cross platform plugin to handle push notification events such as registering, unregistering and messages arrival on Android and iOS.
  • Reachability ★12 - Online/offline connected check
  • Refit ★1,092 - The automatic type-safe REST library for Xamarin and .NET
  • RestEase ★81 - Refit on steroids, simpler auth, parsing...
  • Sockets ★113 - An abstraction over the socket helper classes of .NET and WinRT

Reactive

  • Akavache ★1,323 - An Asynchronous Key-Value Store for Native Applications
  • ReactiveUI ★2,780 - Rx MVVM framework
  • Sensors - ACR Reactive Sensors Plugin for Xamarin & Windows
  • Refit ★1,092 - Refit is a library heavily inspired by Square's Retrofit library, and it turns your REST API into a live interface
  • RxFlow ★16 - Simple Flow Control Library with Rx(Reactive Extensions)

Security

  • BoucyCastle.PCL ★74 PCL Version of BouncyCastle (Cryptography) targetting .NET, SL, WP and WinRT
  • Fingerprint Plugin ★49 - Xamarin and MvvMCross plugin for accessing the fingerprint sensor
  • PCLCrypto ★127 - Cryptography for portable class libraries (MD5,...)
  • Permissions Simple cross platform plugin to check connection status of mobile device, gather connection type, bandwidths, and more

Serialization

TDD/BDD

Tools

  • GradleBindings ★56 - Visual Studio extension, for referencing gradle libs in Android projects
  • Material icons generator plugin - Xamarin Studio ★13 & Visual Studio plugin, for adding material icons to android project
  • PushSharp ★3,507 - 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 ★15 - Productivity plugin for Xamarin Studio
  • Xamaridea ★34 - Visual Studio extension, opens *.axml files in Android Studio
  • Cheeseknife ★33 - a view injection library for Xamarin.Android

UI

  • NControl - Xamarin.Forms wrapper control built around the NGraphics library enabling developers to create custom controls
  • Passcode ★10 - Xamarin component for locking an app with a passcode

Wearable

Xamarin.Forms

XPlat APIs

Most of them support Android and iOS, some do Windows Phone 8

  • Calendars ★25 - Calendar API plugin for Xamarin and Windows Phone, Supports basic CRUD operations with calendars and events.
  • Device Motion - Simple cross platform plugin to read motion vectors value for device motion sensors such as: Accelerometer, Gyroscope, Magnetometer, Compass.
  • Estimote ★19 - Cross platform implementation of the estimote library for beacons.
  • Fingerprint ★49 - Xamarin and MvvMCross plugin for accessing the fingerprint sensor.
  • HybridKit ★14 - Simple C# – JavaScript bridge for building hybrid iOS and Android apps.
  • Lamp - Simple way of controlling the lamp/LED on the back of your phone from Xamarin and Xamarin.Forms projects
  • ManageSleep ★5 - Manage auto sleep / auto lock in all platforms. This is useful when dealing with long running processes
  • Messaging ★40 - 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 ★16 - Notifications plugin for Xamarin and Windows
  • Pontoon ★19 - A flexible bridge to the Universal Windows Platform
  • Telephony ★14 - Email, sms, voice and video call functionality
  • userdialogs ★228 - Standard user dialogs from a shared/portable library.
  • Version - Get app version from bundle
  • Xamarin.Badge ★19 - Simple cross platform plugin to work with application badge
  • Xamarin.LocalNotifications ★29 - Simple cross platform plugin to work with mobile local notifications
  • Xamarin.Mobile ★205 - Reading the user's address book and using the camera
  • xamarin-plugins ★25 - Device Motion, Geofencing, Push Notifications (Beta)

Other lists

  • Xamarin Bindings ★11 - A list of existing library bindings
  • Xamarin Components ★231 - 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.

Websites

  • Weekly Xamarin - Hand-picked round up of the best Xamarin development links every week. Curated by Geoffrey Huntley and published every Friday. Free.
  • 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.

License

CC0

To the extent possible under law, Benoit Jadinon has waived all copyright and related or neighboring rights to this work.