Convert Figma logo to code with AI

jsuarezruiz logoawesome-xamarin-forms

A curated list of awesome Xamarin.Forms libraries and resources

1,245
214
1,245
2

Top Related Projects

Sample apps built using the Xamarin.Forms framework

Cross-platform Native API Access from Shared Code!

Xamarin.Forms goodlooking UI samples

Xamarin Forms popup plugin

Quick Overview

Awesome Xamarin Forms is a curated list of awesome Xamarin.Forms libraries, resources, and tools. It serves as a comprehensive collection of resources for developers working with Xamarin.Forms, providing links to various libraries, UI controls, frameworks, and other helpful tools to enhance Xamarin.Forms development.

Pros

  • Extensive collection of resources covering various aspects of Xamarin.Forms development
  • Regularly updated with new libraries and tools
  • Well-organized into categories for easy navigation
  • Community-driven, allowing contributions from developers worldwide

Cons

  • May include outdated or deprecated libraries if not regularly maintained
  • Quality of listed resources can vary, requiring additional research by users
  • Overwhelming for beginners due to the large number of resources
  • Lacks detailed descriptions or comparisons of listed items

Getting Started

To use the Awesome Xamarin Forms repository:

  1. Visit the GitHub repository: jsuarezruiz/awesome-xamarin-forms
  2. Browse through the categories to find resources you need
  3. Click on the links to access the specific libraries or tools
  4. Star the repository to keep track of updates
  5. Consider contributing by submitting a pull request with new resources or improvements

Note: This is not a code library, so there are no code examples or installation instructions. The repository serves as a reference and collection of resources for Xamarin.Forms developers.

Competitor Comparisons

Sample apps built using the Xamarin.Forms framework

Pros of xamarin-forms-samples

  • Official repository maintained by the Xamarin team, ensuring up-to-date and reliable samples
  • Comprehensive collection of code samples covering various Xamarin.Forms features and functionalities
  • Well-organized structure with separate folders for different categories of samples

Cons of xamarin-forms-samples

  • Focuses primarily on code samples rather than providing a curated list of resources
  • May not include third-party libraries or community-contributed resources
  • Limited to Xamarin.Forms-specific examples, potentially missing broader Xamarin ecosystem resources

Code Comparison

xamarin-forms-samples:

public class App : Application
{
    public App()
    {
        MainPage = new ContentPage
        {
            Content = new Label { Text = "Hello, Xamarin.Forms!" }
        };
    }
}

awesome-xamarin-forms:

## UI
- [Xamarin.Forms.PancakeView](https://github.com/sthewissen/Xamarin.Forms.PancakeView) - An extended ContentView for Xamarin.Forms with rounded corners, borders, shadows and more!
- [Xamarin.Forms.StateSquid](https://github.com/sthewissen/Xamarin.Forms.StateSquid) - A collection of attached properties that let you specify state views for any of your existing Xamarin.Forms controls.

The xamarin-forms-samples repository provides actual code examples, while awesome-xamarin-forms offers a curated list of resources and libraries for Xamarin.Forms development.

Cross-platform Native API Access from Shared Code!

Pros of Xamarin.Plugins

  • Provides ready-to-use plugins for common functionalities
  • Maintained by a Xamarin/Microsoft employee, ensuring quality and compatibility
  • Offers cross-platform implementations for various features

Cons of Xamarin.Plugins

  • Limited to specific plugins and functionalities
  • May not cover all aspects of Xamarin.Forms development
  • Less frequently updated compared to awesome-xamarin-forms

Code Comparison

Xamarin.Plugins (using the Connectivity plugin):

CrossConnectivity.Current.IsConnected

awesome-xamarin-forms (using a linked library):

using Xamarin.Essentials;

Connectivity.NetworkAccess == NetworkAccess.Internet

Summary

Xamarin.Plugins focuses on providing specific, ready-to-use plugins for common functionalities in Xamarin.Forms development. It's maintained by a Xamarin/Microsoft employee, ensuring quality and compatibility. However, it's limited to specific plugins and may not cover all aspects of Xamarin.Forms development.

awesome-xamarin-forms, on the other hand, is a curated list of libraries, tools, and resources for Xamarin.Forms. It offers a broader range of options and is more frequently updated, but requires more effort to integrate individual libraries.

The code comparison shows that Xamarin.Plugins often provides simpler, plugin-specific APIs, while awesome-xamarin-forms links to libraries that may offer more comprehensive solutions, sometimes integrated into the Xamarin ecosystem (like Xamarin.Essentials).

Xamarin.Forms goodlooking UI samples

Pros of xamarin-forms-goodlooking-UI

  • Focuses specifically on UI design and aesthetics
  • Provides ready-to-use, visually appealing UI examples
  • Easier to implement attractive interfaces quickly

Cons of xamarin-forms-goodlooking-UI

  • More limited in scope compared to the comprehensive awesome-xamarin-forms
  • May not cover as wide a range of Xamarin.Forms topics and resources
  • Less frequently updated than awesome-xamarin-forms

Code Comparison

xamarin-forms-goodlooking-UI:

<ContentPage.Content>
    <ScrollView>
        <StackLayout Padding="20">
            <Frame CornerRadius="10" HasShadow="True">
                <!-- UI elements -->
            </Frame>
        </StackLayout>
    </ScrollView>
</ContentPage.Content>

awesome-xamarin-forms:

public class CustomRenderer : ViewRenderer<CustomControl, NativeControl>
{
    protected override void OnElementChanged(ElementChangedEventArgs<CustomControl> e)
    {
        base.OnElementChanged(e);
        // Custom rendering logic
    }
}

The code snippets highlight the different focus areas of the repositories. xamarin-forms-goodlooking-UI emphasizes UI structure and design, while awesome-xamarin-forms includes more diverse examples, such as custom renderers for advanced functionality.

Xamarin Forms popup plugin

Pros of Rg.Plugins.Popup

  • Focused specifically on popup functionality for Xamarin.Forms
  • Provides a ready-to-use solution for implementing popups
  • Regularly updated and maintained

Cons of Rg.Plugins.Popup

  • Limited in scope compared to the broader Awesome Xamarin.Forms collection
  • May require additional plugins for comprehensive app development
  • Less flexibility in choosing alternative popup implementations

Code Comparison

Rg.Plugins.Popup:

await Navigation.PushPopupAsync(new MyPopupPage());

Awesome Xamarin.Forms (using Rg.Plugins.Popup):

// Same code as above, but with more options for other UI elements
await Navigation.PushPopupAsync(new MyPopupPage());

Summary

Rg.Plugins.Popup is a specialized plugin for handling popups in Xamarin.Forms applications. It offers a straightforward solution for implementing popup functionality but is limited in scope. On the other hand, Awesome Xamarin.Forms is a curated list of various Xamarin.Forms libraries, tools, and resources, including Rg.Plugins.Popup. While Awesome Xamarin.Forms provides a broader range of options and resources for Xamarin.Forms development, it doesn't offer a specific implementation like Rg.Plugins.Popup does. Developers should choose based on their project needs: Rg.Plugins.Popup for quick popup implementation or Awesome Xamarin.Forms for a comprehensive collection of resources.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Awesome Xamarin.Forms PRs Welcome

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

Stars Forks Entries

Contributions are always welcome!.

You can find other awesome lists related to Xamarin below:

Animations

Backends (Other platforms)

Behaviors

Books

Cloud

Community Toolkit

  • XamarinCommunityToolkit ★1148: The Xamarin Community Toolkit is a collection of common elements for mobile development with Xamarin.Forms that people tend to replicate across multiple apps. It simplifies and demonstrates common developer tasks when building apps with Xamarin.Forms.

Converters

Crumbs

Data

  • Apizr ★85 - Refit based web api client management, but resilient (retry, connectivity, cache, auth, log, priority, etc...).
  • Postman: Tool for test web services requests and responses.
  • Polly: Automatic retry policies.

Database

  • Akavache ★2234: 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 ★120: Offline sync-enabled Xamarin apps that connect to Azure Mobile App.
  • CosmosDB ★537: Azure Cosmos DB is a globally distributed, multi-model database service.
  • Entity Framework Core ★11230: Is a lightweight and extensible version of the popular Entity Framework data access technology.
  • LiteDB ★6418: A .NET NoSQL Document Store in a single data file.
  • Realm: Alternative to SQLite, simple and fast.
  • SQLite-net ★3299: It is an open source, minimal library to allow .NET and Mono applications to store data in SQLite 3 databases.
  • NETCoreSync ★53: Database-agnostic synchronization framework based on .NET Standard 2.0 to synchronize data between multiple clients and a single server.

Design

Effects

Images and 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

Elmish

Frameworks

  • AppHosting ★2: a closest ASP.NET Core Hosting implementation for Xamarin.Forms built to deliver better architecture for your application. Sample project and detailed wiki included.
  • Clarity ★25: Is an application framework for XAML based platforms.
  • XamFluentUI ★27: Fluent UI API for Xamarin Forms.

Performance

Plugins

Project Templates

Samples

Serialization

  • JSON.NET ★9250: Is a popular high-performance JSON framework for .NET
  • Utf8Json ★2239: 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.
  • AssetBuilder ★8: Tool to automate the process of creating Xamarin.Forms icons and splash screens from SVGs.
  • Assetxport ★15: Resize UWP, Xamarin.Android and Xamarin.iOS assets automatically.
  • Beholder: Beholder is a hot reloading support tool for programs using Tizen.NET's NUI.
  • Charles: Is an HTTP proxy / HTTP monitor / Reverse Proxy that enables viewing of all the HTTP and SSL / HTTPS traffic between the machine and the Internet.
  • clean-compress ★4: A macOS utility that cleans (and optionally compresses/zips) Xamarin solutions.
  • Codexcite.Reloader ★6: Lightweight library for "live reloading" XAML pages in Xamarin.Forms on Android, UWP and iOS.
  • dpilove: Easily find the DPI of any screen.
  • Evans.XamlTemplates ★2: This is a templating system that will allow you to create templates in Xamarin.Forms.
  • Gorilla Player: Instant XAML Preview for Xamarin Forms.
  • HotReload ★410: 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 ★27: 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.).
  • RealXaml ★37: Is a live viewer for Xamarin Forms. Edit your xaml and see your changes in realtime (live reload). It allows also to compile and deploy your app core assembly in real time (hot reload).
  • scrcpy ★64517: 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.
  • SkiaSharpFiddle ★118: A SkiaSharp playground - just like https://fiddle.skia.org, but for your own machine!
  • UI Sleuth: Xamarin.Forms debugging tool.
  • VSTouchbarTools ★2: A simple extension that installs a XML definition for Parallels v13 to offer basic Touchbar support.
  • vsmacdeepclean ★35: 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 ★201: 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 ★5096: 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 ★134: 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 ★10: 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.
  • xamarin-forms-android-linux-project-templates ★1: Xamarin.Forms Android templates for Linux-based build.
  • XFDesigner ★19: Live XAML designing tool for Xamarin.Forms.
  • vs-material-icons-generator ★48: Add Google's material icons easily with different sizes and colors.
  • XDtoXF ★142: Adobe XD Plugin to export assets to Xamarin.Forms XAML Styles and Resources.
  • XF.Material.Themer: A Xamarin.Forms utility to help visualize a custom Android material theme.
  • XamarinForms.VisualDebugger ★22: A library and client app to view the visual heirarchy of your Xamarin app pages as an interactive tree diagram.

TV

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

UI

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.
  • Xamarin.UITest.POP ★68: This project demonstrates the page object pattern (POP) that they use internally at Xamarin.
  • Xamarin UITest SpecFlow ★11: This project demonstrates how to use SpecFlow with Xamarin.UITest (including the Page Object Pattern). SpecFlow is a pragmatic BDD solution for .NET. It uses the Gherkin specification language and integrates to Visual Studio.

Wearables

  • Tizen.CircularUI ★82: 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.