All Projects → PrismLibrary → Prism

PrismLibrary / Prism

Licence: other
Prism is a framework for building loosely coupled, maintainable, and testable XAML applications in WPF, Xamarin Forms, and Uno / Win UI Applications..

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to Prism

Reactiveui
An advanced, composable, functional reactive model-view-viewmodel framework for all .NET platforms that is inspired by functional reactive programming. ReactiveUI allows you to abstract mutable state away from your user interfaces, express the idea around a feature in one readable place and improve the testability of your application.
Stars: ✭ 6,709 (+38.56%)
Mutual labels:  hacktoberfest, mvvm, wpf, xamarin-forms
Mvvmcross
The .NET MVVM framework for cross-platform solutions, including Xamarin.iOS, Xamarin.Android, Windows and Mac.
Stars: ✭ 3,594 (-25.77%)
Mutual labels:  visual-studio, mvvm, wpf, xamarin-forms
Camelotia
Cross-platform .NET sample GUI app for cloud file management. Built with ReactiveUI, AvaloniaUI, Universal Windows Platform, Xamarin Forms, and WPF, runs on Windows, Linux, Mac and Android.
Stars: ✭ 221 (-95.44%)
Mutual labels:  mvvm, wpf, xamarin-forms
Visualstudiorevittemplate
Visual Studio project template for Revit add-in development. (using WPF and MVVM)
Stars: ✭ 22 (-99.55%)
Mutual labels:  visual-studio, mvvm, wpf
Prism Documentation
Stars: ✭ 131 (-97.29%)
Mutual labels:  prism, wpf, xamarin-forms
Reactivemvvm
Cross-platform ReactiveUI sample app built for a talk at MSK .NET conf.
Stars: ✭ 94 (-98.06%)
Mutual labels:  mvvm, wpf, xamarin-forms
Caliburn.micro
A small, yet powerful framework, designed for building applications across all XAML platforms. Its strong support for MV* patterns will enable you to build your solution quickly, without the need to sacrifice code quality or testability.
Stars: ✭ 2,404 (-50.35%)
Mutual labels:  mvvm, wpf, xamarin-forms
Accelerider.windows
A shell that runs Accelerider applications on the Windows platform.
Stars: ✭ 1,350 (-72.12%)
Mutual labels:  prism, mvvm, wpf
Xaml Code Experiences
A collection of the experiences I have collected during days of Xamarin and Wpf, while following the MVVM design pattern.
Stars: ✭ 114 (-97.65%)
Mutual labels:  mvvm, wpf, xamarin-forms
HandyWinGet
GUI for installing apps through WinGet and Creating Yaml file
Stars: ✭ 305 (-93.7%)
Mutual labels:  prism, wpf, mvvm
Prism.plugin.popups
This provides extensibility for Prism.Forms INavigationService to handle Popup Views
Stars: ✭ 149 (-96.92%)
Mutual labels:  hacktoberfest, prism, xamarin-forms
Professionalcsharp7
Code samples for the book Professional C# 7 and .NET Core 2.0 (with updates for 2.1), Wrox Press
Stars: ✭ 403 (-91.68%)
Mutual labels:  visual-studio, mvvm, xamarin-forms
Mvvmlight
The main purpose of the toolkit is to accelerate the creation and development of MVVM applications in Xamarin.Android, Xamarin.iOS, Xamarin.Forms, Windows 10 UWP, Windows Presentation Foundation (WPF), Silverlight, Windows Phone.
Stars: ✭ 973 (-79.9%)
Mutual labels:  mvvm, wpf, xamarin-forms
OrdersManagementSystem
Project demonstrates usage of Prism composition library, Material design library, SQL Server, Entity Framework in WPF application
Stars: ✭ 29 (-99.4%)
Mutual labels:  prism, wpf, mvvm
MvvmScarletToolkit
MvvmScarletToolkit is a personal project and framework to speed up the development process of xaml based applications using the viewmodel first approach
Stars: ✭ 23 (-99.52%)
Mutual labels:  wpf, mvvm, xamarin-forms
Windowscommunitytoolkit
The Windows Community Toolkit is a collection of helpers, extensions, and custom controls. It simplifies and demonstrates common developer tasks building UWP and .NET apps for Windows 10. The toolkit is part of the .NET Foundation.
Stars: ✭ 4,654 (-3.88%)
Mutual labels:  visual-studio, mvvm, wpf
Awesome Jetpack Compose Learning Resources
👓 A continuously updated list of learning Jetpack Compose for Android apps.
Stars: ✭ 275 (-94.32%)
Mutual labels:  hacktoberfest, mvvm
Worlds Simplest Csharp Wpf Mvvm Example
The World's Simplest C# WPF MVVM Example
Stars: ✭ 279 (-94.24%)
Mutual labels:  mvvm, wpf
Ookii Dialogs Wpf
Common dialog classes for WPF applications
Stars: ✭ 276 (-94.3%)
Mutual labels:  hacktoberfest, wpf
Open Source Xamarin Apps
📱 Collaborative List of Open Source Xamarin Apps
Stars: ✭ 318 (-93.43%)
Mutual labels:  hacktoberfest, xamarin-forms

Prism

Prism is a framework for building loosely coupled, maintainable, and testable XAML applications in WPF, Xamarin Forms, Uno Platform and WinUI. Separate releases are available for each platform and those will be developed on independent timelines. Prism provides an implementation of a collection of design patterns that are helpful in writing well-structured and maintainable XAML applications, including MVVM, dependency injection, commands, EventAggregator, and others. Prism's core functionality is a shared code base supported in .NET Standard 2.0, .NET Framework 4.5 / 4.7. Those things that need to be platform specific are implemented in the respective libraries for the target platform. Prism also provides great integration of these patterns with the target platform. For example, Prism for Xamarin Forms allows you to use an abstraction for navigation that is unit testable, but that layers on top of the platform concepts and APIs for navigation so that you can fully leverage what the platform itself has to offer, but done in the MVVM way.

Help Support Prism

As most of you know, it takes a lot of time and effort for our small team to manage and maintain Prism in our spare time. Even though Prism is open source and hosted on GitHub, there are a number of costs associated with maintaining a project such as Prism. Please be sure to Star the Prism repo and help sponsor Dan and Brian on GitHub. As a bonus GitHub sponsors get access to Sponsor Connect where you can access exclusive training content, all Prism CI builds, and a Sponsor Only Discord with Brian and Dan!

Don't forget both Brian and Dan have content on YouTube and stream there from time to time. Be sure to subscribe to their channels and turn on notifications so you know when they do a Live Stream!

Sponsor Twitter YouTube
Brian Lagunas GitHub Twitter
Follow
YouTube
Subcribe & Ring the Bell
Dan Siegel GitHub Twitter
Follow
YouTube
Subscribe & Ring the Bell

Build Status

Status
Full Build Build Status
Prism.Core Build Status
Prism.Wpf Build Status
Prism.Forms Build Status
Prism.Uno Build Status

Support

Videos & Training

By watching our courses, not only do you help support the project financially, but you might also learn something along the way. We believe this is a win-win for everyone.

We appreciate your support.

NuGet Packages

Official Prism releases are available on NuGet. Prism packages are also available on the SponsorConnect feed which will be updated with each merged PR. If you want to take advantage of a new feature as soon as it's merged into the code base, or if there is a critical bug you need fixed we invite you to try the packages on this feed. The SponsorConnect package feed is available to Sponsors only.

Core Packages

These are the base packages for each platform, together with the Prism's Core assembly as a cross-platform PCL.

Platform Package NuGet SponsorConnect
Cross Platform Prism.Core CoreNuGetShield CoreSponsorConnectShield
WPF Prism.Wpf WpfNuGetShield WpfSponsorConnectShield
Xamarin.Forms Prism.Forms FormsNuGetShield FormsSponsorConnectShield
Uno Platform and WinUI Prism.Uno UnoNuGetShield UnoSponsorConnectShield

Container-specific packages

Each supported IoC container has its own package assisting in the setup and usage of that container together with Prism. The assembly is named using this convention: Prism.Container.Platform.dll, e.g. Prism.Unity.Wpf.dll. Starting with version 7.0, Prism is moving to separate packages for each platform. Be sure to install the package for the Container and the Platform of your choice.

WPF

Package NuGet SponsorConnect
Prism.DryIoc DryIocWpfNuGetShield DryIocWpfSponsorConnectShield
Prism.Unity UnityWpfNuGetShield UnityWpfSponsorConnectShield

Xamarin Forms

Package NuGet SponsorConnect
Prism.DryIoc.Forms DryIocFormsNuGetShield DryIocFormsSponsorConnectShield
Prism.Unity.Forms UnityFormsNuGetShield UnityFormsSponsorConnectShield
Prism.Forms.Regions PrismFormsRegionsNuGetShield PrismFormsRegionsSponsorConnectShield

Uno Platform

Package NuGet SponsorConnect
Prism.DryIoc.Uno DryIocUnoPlatformNuGetShield DryIocUnoPlatformSponsorConnectShield
Prism.Unity.Uno UnityUnoPlatformNuGetShield UnityUnoPlatformSponsorConnectShield

NuGet package tree

A detailed overview of each assembly per package is available here.

Prism Template Pack

Prism integrates with Visual Studio to enable a highly productive developer workflow for creating WPF, and native iOS and Android applications using Xamarin.Forms. Jump start your Prism apps with code snippets, item templates, and project templates for your IDE of choice.

NOTE

The Prism Templates are open source and available at

https://github.com/PrismLibrary/Prism.Templates

Visual Studio Gallery

The Prism Template Pack is available on the Visual Studio Gallery. To install, just go to Visual Studio -> Tools -> Extensions and Updates... then search for Prism in the online gallery:

Visual Studio Gallery

Plugins

There are certain things that cannot be added directly into Prism for various reasons. To handle these common tasks such as supporting PopupPage's in Xamarin Forms, there are Prism Plugins. You can find a number of Plugins available on NuGet from our maintainer @DanJSiegel.

  • Prism.Plugin.Popups (Forms Only)
  • Prism.Popups.XCT (Forms Only)
    • Adds support for native popups using Xamarin Community Toolkits Popup API
  • Prism.Plugin.Logging (Works on all Platforms)
    • Adds support for Syslog, Loggly, Graylog, Application Insights, & App Center
  • Prism.Container.Extensions
    • Adds advanced Container Registration abstractions
    • Adds DryIoc & Unity ContainerExtension with support for Microsoft.DependencyInjection.Extensions. Uses a singleton pattern to allow initialization from a native platform
    • Provides an extended PrismApplication with additional error handling and platform specifics support for Prism.Forms
  • Prism.Magician (Works with ALL Platforms)
    • The Magician works to reduce the amount of code you need to write with a collection of intelligent code generators that evaluate your codebase and references
    • It additionally provides a series of Roslyn Analyzers to help prevent you from making common mistakes
    • NOTE: This package is only available to Dan's GitHub Sponsors and Enterprise Support customers.

Samples

For stable samples be sure to check out the samples repo for the platform you are most interested in.

Contributing

We strongly encourage you to get involved and help us evolve the code base.

  • You can see what our expectations are for pull requests here.

.NET Foundation

This project is part of the .NET Foundation.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].