Skip to content

Introduction

iOS & Android

Shiny for the client side has its own hosting model to allow it to work across the whole .NET client side ecosystem by providing a common platform with all the services you need out-of-the-box. Shiny is more of a framework with plugins built around it, than it is a “one off” plugin for a XF or MAUI application. It is recommended not recommended you take a dependency on Shiny for a single plugin.

The best way to get started with Shiny application is to use out templates

dotnet new install Shiny.Templates

However, if you have an existing application, please try our App Builder to help generate all of the pieces you need.

Shiny Modules currently include

  • Bluetooth LE Client & Host
  • Background Jobs
  • Local & Push Notifications
  • HTTP Transfers (background) with progress
  • GPS & Geofencing
  • and more…!

Mediator (.NET Client Apps & Server)

  • A Mediator for your .NET Apps (Client & Server)
  • Request/Response “Command” Handling
  • Event Publication
  • Request & event middleware with some great “out of the box” scenarios for your app
  • Think of “weak” message subscriptions without the fuss or mess to cleanup
  • Our MAUI & Blazor integrations allow your viewmodels or pages to implement an IEventHandler interface(s) without them having to participate in the dependency injection provider
  • We still have a “messagingcenter” type subscribe off IMediator for cases where you can’t have your current type implement an interface
  • Instead of Assembly Scanning, we have source generators to automatically wireup the necessary registrations for you! (WIP)
  • Lightweight, No external dependencies, tiny bit of reflection
  • Help remove service overrun and reduce your constructor fat
  • Easy to Unit Test
  • Direct Handler to ASP.NET Core endpoint
  • Epic Out-of-the-Box Middleware
  • Offline Caching
    • Caching
    • Resiliency
    • User Exception Handling notifications
    • Exception Handling logging
    • Performance Time Logging
    • Main Thread Dispatching
    • Replayable Streams
    • Refresh Timer Streams

Server

Our server libraries make it is easy to get started with

  • native push notifications
  • push notification registration management
  • email templating & sending

Sponsors

Speedy Dock SpeedyDock is an essential application for drystack marinas, boat clubs, and their clientele, streamlining the process of scheduling and monitoring boat launch requests, reservations, and additional services. It offers a user-friendly alternative to the frequent calls customers used to make, enabling electronic scheduling around the clock. Since its initial release in 2016, SpeedyDock has been accessible across iOS, Android, and web platforms, seamlessly integrating Xamarin and Shiny to manage native functionalities.

A core component of SpeedyDock’s efficiency is Shiny. It powers the app’s capability to work with permissions requests, local notifications, geofencing, and Firebase push, ensuring customers are consistently informed about their request statuses. For marina operators, these timely notifications are instrumental in enhancing service quality when customers set foot on the premises. Shiny has expertly bridged the gap between iOS and Android, offering a structured way to organize and share code, which, in the absence of such a tool, would be intricate due to variances across platforms and different OS versions. It has streamlined our development process for new features and minimized the edge case bugs typically associated with varying Android versions.

Shiny isn’t just a tool for SpeedyDock; it’s a cornerstone of our mobile app development. Its integration has empowered us to deliver a top-tier app with a native experience. Looking ahead, we’re eager to continue our journey with Shiny, leveraging its capabilities for upcoming projects and refining the SpeedyDock experience. It has undeniably been a key factor in our app’s success story.