Workspace Setup
02/07/2022 by Sojournercntl
Workspace
The illustration above showcases the default application setup. The core of each application is the application logic. The other libraries define generic methods or procedures for providing the corresponding functionality.
Crash Reporting
Orion.Reporting is a library for defining crash reporting and log analysis services. It also gives developers the ability receive user stats and system metrics.
Updating
Orion.Updater is a library and framework for provind an applicaion with self-updating features. To provide the update features a static hosted json file or an API can be used.
Anti Tamper
Serenity provides the applications anti-tamper and anti-debug features. Many properties can be defined, to configure how aggresive the application responds to debug/tamper requests.
User Interface/Experience
The use interface for modern desktop/wpf applications with .NET6 upwards is provided by Experience.UI and Experience.UI.Prototype.
Licesing
Licensing functionality can either be implemented using Firefly (enterprise) or Espenlaub (offline).
Single file APIs
This describes a concept, where the API Client layer is represented via a single .cs file, that includes all functionality to consume an api. This concept is also present within the AntiTamper and AntiDebug functions.
Registry and Protocol
Orion.Protocol is a small executable, that can be shipped with an application, to register a custom protocol and custom extensions.
Configuration and Localization
Orion.Core - Formats (JSON, INI, TOML, YAML), Serializers/Deserializers, Attributes/Decorators
Orion.Language - Base language functionality (.NET Core, CLI, ASP.NET)
Orion.Localization - .NET WPF Language features (custom attributes)
Orion.Configuration - Config files (MPConfig alike), Observable configs (Watch file changes)
Rapid Prototyping
Parallel computing and prototyping via Gravity