rskibbe.UI.Screens – A base package for UI infrastructure

What is rskibbe.UI.Screens?

infoThe documentation is still a work in progress. Please understand that I do this for free and in my free time.

In my daily work as a freelance developer, I encounter a wide range of customer requirements, user stories, and technologies. When it comes to technologies—where we’ll dive deeper in a moment—I’m particularly referring to foundational concepts such as:

  • Windows (UI – not the Operating System)
  • Modal and non modal dialogs
  • Screens (stuff that gets displayed inside the Windows, etc.)
  • and more…

I was frustrated by having to repeat the same tasks over and over. It wasn’t the work itself that bothered me, but rather the repetitive, tedious tasks—the „monkey work.“ The kind of work that’s necessary, but always leaves you thinking, „There must be a faster, better way to do this.“

That’s exactly why I created my own little package: „…the UI stuff I always need.“ I decided to make it freely available for everyone, so others can benefit from it and save time on repetitive tasks too.

So, feel free to use it or one of the (soon to follow) sub packages for corresponding technologies like WPF , Winforms, etc.

The goal – A common ground for WPF, Winforms, Consoles & more

The goal of rskibbe.UI.Screens is to provide a unified infrastructure package that addresses the fundamental needs across various UI technologies like WPF, Windows Forms (WinForms), and even Console Apps. The aim is to consolidate „what’s commonly required“ into a single, versatile package.

Installation

Use the NuGet Package Manager of Visual Studio to install the base package (and corresponding sub-packages if wanted/needed). The easiest way to access the Manager, is by clicking the „Extra“ menu tool strip menu item, or by right-clicking your project inside the project explorer. Then click something like „Manage NuGet Packages“. There you should be easily able to search for „rskibbe.UI.Screens“ and see all possible packages.

Or you can use the following NuGet Package Manager Console command for the newest version:

Install-Package rskibbe.UI.Screens

Key takeaways

Here I will talk about the key takeaways of this package, explaining classes, important stuff, the thoughts behind and so on.

ICanBeShownModal Interface

Marks something as something, that can be shown modal.

ICanBeShownNonModal Interface

Marks something as something, that can be shown non modal (normal).

ICanHostScreen Interface

Marks something as something, that can host an IScreen (in itself / as part of itself).

IHostScreen Interface

Marks something as something, that is an IScreen and ICanHostScreen.

IHostScreenWindow Interface

An interface denoting something which is hosting an IScreen and is an IWindow.

IScreen Interface

Marks something as something, that is a typical „Screen“ inside of an app. Something like a „CurrentView“. But not a Window per se.

IWindow Interface

Denotes something as something, that hosts an IScreen.

Sub packages

Here, you’ll find the freely available sub-packages that complement the main package. These sub-packages are tailored to support specific technology stacks, such as WPF MVVM or Windows Forms (WinForms), helping to establish a solid foundation for developing your applications.

rskibbe.UI.Screens.Wpf

One of the sub packages which is responsible for providing the WPF MVVM related infrastructure is: „rskibbe.UI.Screens.Wpf„.

Future plans / Todos

Here are some future plans and potential tasks I hope to tackle in the near future. However, please keep in mind that this project is a passion project done in my free time, so I can’t guarantee if or when these updates will be completed.

  • More documentation
  • More sub packages

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert