Skip to content

iinteractive/XamarinComponents

 
 

Repository files navigation

Open Source Components for Xamarin

Open Source Components for Xamarin are a collection of open source components (including bindings and plugins) created by Xamarin and others in the community.

Xamarin Supported Open Source Components

Xamarin Supported Open Source components are a collection of Xamarin built bindings and libraries.

Name Description Source
Android Support Libraries Bindings for Google's Android Support Libraries GitHub
Google Play Services Client Libraries Bindings for Google's Play Services Client Libraries GitHub
Google API's for iOS Bindings for Google's API's for iOS Libraries GitHub
Facebook SDK's Bindings for Facebook's iOS & Android SDK's GitHub
Xamarin.Auth Cross-platform API for authenticating users and storing their accounts. GitHub

Community Provided Open Source Plugins

Plugins for Xamarin are community built NuGet and Components that add cross-platform functionality or abstracts platform specific functionality to a common API. These are both completely cross-platform and extremely small (i.e., they do 1 or 2 things really well with minimal-to-no dependencies). The Plugin API can be accessed on each platform, however, you will most likely only use the common API in a Portable Class Library or Shared Code project.

Notice: Plugins for Xamarin featured here are produced by the amazing open source community of Xamarin developers. Xamarin does not provide official support for these plugins, please contact their creator with any issues.

Popular Plugins

Browse through the most popular plugins out there today!

Name Description NuGet Docs & Source Creator
Battery Status Gather battery level, charging status, and type. NuGet GitHub @JamesMontemagno
Barcode Scanner Scan and create barcodes with ZXing.NET.Mobile. NuGet GitHub @Redth
Compass Access device compass heading. NuGet GitHub @cbartonnh & @JamesMontemagno
Connectivity Get network connectivity info such as type and if connection is available. NuGet GitHub @JamesMontemagno
Cryptography PCL Crypto provides a consistent, portable set of crypto APIs. NuGet GitHub @aarnott
Device Info Properties about device such as OS, Model, and Id. NuGet GitHub @JamesMontemagno
Device Motion Provides access to Accelerometer, Gyroscope, Magnetometer, and Compass. NuGet GitHub @rdelrosario
Embedded Resource Unpack embedded resource cross-platform. NuGet GitHub @JosephHill
External Maps Launch external maps from Lat/Long or Address. NuGet GitHub @JamesMontemagno
File System PCL Storage offers cross platform storage APIs. NuGet GitHub @dsplaisted
Geolocator Easily detect GPS location of device. NuGet GitHub @JamesMontemagno
Local Notifications Show local notifications NuGet GitHub @EdSnider, @OfficialKrystin, & @JamesMontemagno
Media Take or pick photos and videos. NuGet GitHub @JamesMontemagno
Messaging Make phone call, send sms, and send e-mail NuGet GitHub @cjlotz
Permissions Easily check and request runtime permissions. NuGet GitHub @JamesMontemagno
Persistent key-value store Akavache is an asynchronous, persistent (i.e. writes to disk) key-value store. NuGet GitHub @paulcbetts
Push Notifications Cross platform iOS and Android Push Notifications. NuGet GitHub @rdelrosario
RingCentral This SDK wraps the RingCentral Connect Platform API. NuGet GitHub @RingCentral
Settings Simple & Consistent cross platform settings API. NuGet GitHub @JamesMontemagno
Share Easily share text, links, or open a browser. NuGet GitHub @JamesMontemagno & @Jakob Gürtl
Sockets TCP & UDP Listeners and Clients + UDP multicast. NuGet GitHub @rdavis_au
Text To Speech Talk back text from shared code. NuGet GitHub @JamesMontemagno
User Dialogs Message box style dialogs. NuGet GitHub @allanritchie911
Version Tracking Track which versions of your app a user has previously installed. NuGet GitHub @ColbyLWilliams
Vibrate Vibrate any device. NuGet GitHub @JamesMontemagno

Additional Plugins!

We are continuously monitoring and adding new Plugins all the time, so be sure to checkout our guide on how to get started creating plugins. Sometimes plugins handle very specific use cases such as contacts, beacons, or specific hardware. Below are some more awesome Plugins to get you going:

Name Description NuGet Docs & Source Creator
Badge Easily update application badges. NuGet GitHub @Saveliy_Bondini
iBeacon & Estimote Range and monitor Bluetooth beacons. NuGet GitHub @allanritchie911
Contacts Access contacts. NuGet GitHub @JamesMontemagno
CrossDownloadManager Library to download files in the background. NuGet GitHub @simonsimcity
EZCompress Compression for image streams. NuGet GitHub @VictorGrunn
Geofence Handle geofence events such as entering, leaving and staying in a geofence region. NuGet GitHub @domaven
HybridKit Easily call into JavaScript hosted in a WebView. NuGet GitHub @chknofthescene
Lamp Access to LED NuGet GitHub @kphillpotts
Manage Sleep Manage auto sleep/auto lock. NuGet GitHub @molinch0
Microsoft Band Connect and communicate with the Microsoft Band from shared code! NuGet GitHub @mattleibow
Mono.Data.Sqlite Add Mono.Data.Sqlite to any Xamarin or Windows .NET app. NuGet GitHub @mattleibow
Portable Razor Lightweight implemenation of ASP.NET MVC APIs for mobile. NuGet GitHub @JosephHill
Secure Storage Provides Secure storage for key value pairs Data NuGet GitHub @sameerIOTApps

Submit Your Ideas

We want to hear any and all ideas that you have for potential plugins. Browse through the current issues and see what other developers are interested in or submit your very own. Interested in helping work on a plugin? Simply comment on a plugin that you will start development, create a GitHub repo, and get coding!

Create a Plugin for Xamarin

If you are looking to create a plugin be sure to browse through NuGet first and ensure that the plugin doesn't exist. If one does join in on the fun and collaborate. If it doesn't and you want to start building a Plugin here are some tools and guidelines to get you started.

Tools to get Started

Requirements of a Plugin

  • Open source on GitHub
  • Documentation on GitHub's README file
  • Name: "FEATURE_NAME Plugin for Xamarin and Windows"
  • Namespace: Plugin.FEATURE_NAME
  • App-store friendly OSS license (we like MIT)
  • No dependency on Xamarin.Forms

Turn into a Component

Learn how to turn your NuGet based Plugin for Xamarin into a Component that can be featured in the Xamarin Component Store with our component documentation.

Perks

  • Help out fellow developers speed up development
  • Have fun and learn new tools
  • Our undying love

Releases

No releases published

Packages

No packages published

Languages

  • C# 98.9%
  • Makefile 0.5%
  • Smalltalk 0.2%
  • PowerShell 0.1%
  • Shell 0.1%
  • GLSL 0.1%
  • Other 0.1%