equadrat.Framework.Core.UI.Maui.AppBuilder
6.0.7
Prefix Reserved
See the version list below for details.
dotnet add package equadrat.Framework.Core.UI.Maui.AppBuilder --version 6.0.7
NuGet\Install-Package equadrat.Framework.Core.UI.Maui.AppBuilder -Version 6.0.7
<PackageReference Include="equadrat.Framework.Core.UI.Maui.AppBuilder" Version="6.0.7" />
paket add equadrat.Framework.Core.UI.Maui.AppBuilder --version 6.0.7
#r "nuget: equadrat.Framework.Core.UI.Maui.AppBuilder, 6.0.7"
// Install equadrat.Framework.Core.UI.Maui.AppBuilder as a Cake Addin
#addin nuget:?package=equadrat.Framework.Core.UI.Maui.AppBuilder&version=6.0.7
// Install equadrat.Framework.Core.UI.Maui.AppBuilder as a Cake Tool
#tool nuget:?package=equadrat.Framework.Core.UI.Maui.AppBuilder&version=6.0.7
equadrat Framework Core
The idea of the equadrat Framework is to provide APIs to build applications with an architecture of highly decoupled components. Every single component, aspect or pattern is represented by interfaces. The framework provides a standard implementation for these but each type can be replaced by a custom implementation.
The framework is not about reimplementing components, but making them available using common interfaces.
Getting started
You can use most of the components by simply instantiating them. This is maybe the easiest way to evaluate the framework.
If you're using an IOC/DI container such as Microsoft Extensions DependencyInjection or if you want to use the built-in IOC framework, you can use the bootstrapper and bootstrapper modules to register the framework to the IOC.
Usage
Have a look at the example applications on my website: www.equadrat.net
Interesting components
This is a list of some (not all) components of the framework which might be interesting for you.
Architecture
- ICoreCommandFactory
- ICoreEventFactory
- ICoreEventHandlerInterruptRegistry
- ICoreInstancePoolFactory
- ICoreOwnerTokenFactory
- ICorePropertyObserverFactory
- ICoreSequenceDependencyTrackerFactory
- ICoreSuspendableRelayFactory
- ICoreSystemTimeProvider
Collections & Data
- ICoreBinaryOperationsHelper
- ICoreCollectionHelper
- ICoreCollectionFactory
- ICoreArrayList
- ICoreBinaryHeap
- ICoreList
- ICoreListSegment
- ICoreObservableCollection
- ICorePrioritizedQueue
- ICorePrioritizedStack
- ICorePolymorphList
- ICoreQueue
- ICoreReadOnlyList
- ICoreReadOnlyListSegment
- ICoreReadOnlyListWithExclusion
- ICoreReadOnlyObservableCollection
- ICoreStack
- ICoreCollectionObserverFactory
- ICoreCollectionMerger
- ICoreCollectionObserver
- ICoreCollectionSorter
- ICoreCollectionSplitter
- ICoreEmbeddedResourceAccessor
- ICoreHashProcessor
- ICoreHashProcessorProvider
- ICoreRandomDataProvider
- ICoreStringPatternPredicateFactory
- ICoreValueConverterFactory
IOC
- ICoreBootstrapper
- ICoreBootstrapperModule
- ICoreIOCFactory
- ICoreIOCInstanceFactory
- ICoreIOCInstanceProvider
- ICoreIOCRegistry
- CoreIOCRegistry
- CoreServiceCollectionWrapper & CoreServiceProviderWrapper
Reflection
- ICoreExpressionHelper
- ICoreReflectionHelper
Logging
- ICoreLoggingContext
- ICoreLoggingEvent
- ICoreLoggingProduct
- ICoreLoggingTarget
- CoreAppInsightsLoggingTarget
- CoreLoggingConsoleLogTarget
- CoreLoggingTextFileTarget
- CoreLoggingTraceLogTarget
- CoreNLogTarget
- CoreSerilogTarget
Serialization
- ICoreSerializer
- ICoreSerializerFormat
- CoreBsonNewtonsoftFormat
- CoreJsonDataContractFormat
- CoreJsonNewtonsoftFormat
- CoreProtobufFormat
- CoreXmlClassicFormat
- CoreXmlDataContractFormat
- ICoreSerializerProvider
Threading
- ICoreDispatcher
- CoreAvaloniaDispatcher
- CoreMauiDispatcher
- CoreThreadDispatcher
- CoreWpfDispatcher
- CoreXamarinFormsDispatcher
- ICoreLockFactory
- ICoreTaskFactory
- ICoreTaskQueue
- ICoreTaskScheduler
- ICoreThreadFactory
- ICoreThreadPool
Licensing
- ICoreLicenseFactory
- ICoreLicenseOperator
- ICoreLicenseValidator
Native code & marshalling
- ICoreNativeLibraryLoader
Compatibility
The plan is to keep the equadrat Framework compatible to these .net versions as long as possible.
.net version | min | max |
---|---|---|
Core | 3.1 | ≥ 7.x |
Standard | 2.0 | ≥ 2.1 |
Framework | 4.6.2 | ≥ 4.8.x |
Version scheme and breaking changes
Version change | Scope |
---|---|
Major | Overhaul of the project |
Minor | Some types have changed |
Revision | Fully backward compatible |
Build | Set in preview versions only |
Additional documentation
You can find some guides regarding specific features on my website: www.equadrat.net
Feedback
You can contact me on my website: www.equadrat.net
License
Please respect the license and check equadrat.Framework.Core.License.md before using the package.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-android31.0 is compatible. net6.0-ios was computed. net6.0-ios16.1 is compatible. net6.0-maccatalyst was computed. net6.0-maccatalyst16.1 is compatible. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net6.0-windows10.0.19041 is compatible. net7.0 is compatible. net7.0-android was computed. net7.0-android33.0 is compatible. net7.0-ios was computed. net7.0-ios16.1 is compatible. net7.0-maccatalyst was computed. net7.0-maccatalyst16.1 is compatible. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net7.0-windows10.0.19041 is compatible. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net6.0
- equadrat.Framework.Core (>= 6.0.7)
- equadrat.Framework.Core.Interfaces (>= 6.0.7)
- equadrat.Framework.Core.UI.Maui (>= 6.0.7)
- Microsoft.Extensions.Configuration.Abstractions (>= 7.0.0)
-
net6.0-android31.0
- equadrat.Framework.Core (>= 6.0.7)
- equadrat.Framework.Core.Interfaces (>= 6.0.7)
- equadrat.Framework.Core.UI.Maui (>= 6.0.7)
- Microsoft.Extensions.Configuration.Abstractions (>= 7.0.0)
-
net6.0-ios16.1
- equadrat.Framework.Core (>= 6.0.7)
- equadrat.Framework.Core.Interfaces (>= 6.0.7)
- equadrat.Framework.Core.UI.Maui (>= 6.0.7)
- Microsoft.Extensions.Configuration.Abstractions (>= 7.0.0)
- System.Runtime.InteropServices.NFloat.Internal (>= 6.0.1)
-
net6.0-maccatalyst16.1
- equadrat.Framework.Core (>= 6.0.7)
- equadrat.Framework.Core.Interfaces (>= 6.0.7)
- equadrat.Framework.Core.UI.Maui (>= 6.0.7)
- Microsoft.Extensions.Configuration.Abstractions (>= 7.0.0)
- System.Runtime.InteropServices.NFloat.Internal (>= 6.0.1)
-
net6.0-windows10.0.19041
- equadrat.Framework.Core (>= 6.0.7)
- equadrat.Framework.Core.Interfaces (>= 6.0.7)
- equadrat.Framework.Core.UI.Maui (>= 6.0.7)
- Microsoft.Extensions.Configuration.Abstractions (>= 7.0.0)
-
net7.0
- equadrat.Framework.Core (>= 6.0.7)
- equadrat.Framework.Core.Interfaces (>= 6.0.7)
- equadrat.Framework.Core.UI.Maui (>= 6.0.7)
- Microsoft.Extensions.Configuration.Abstractions (>= 7.0.0)
-
net7.0-android33.0
- equadrat.Framework.Core (>= 6.0.7)
- equadrat.Framework.Core.Interfaces (>= 6.0.7)
- equadrat.Framework.Core.UI.Maui (>= 6.0.7)
- Microsoft.Extensions.Configuration.Abstractions (>= 7.0.0)
-
net7.0-ios16.1
- equadrat.Framework.Core (>= 6.0.7)
- equadrat.Framework.Core.Interfaces (>= 6.0.7)
- equadrat.Framework.Core.UI.Maui (>= 6.0.7)
- Microsoft.Extensions.Configuration.Abstractions (>= 7.0.0)
-
net7.0-maccatalyst16.1
- equadrat.Framework.Core (>= 6.0.7)
- equadrat.Framework.Core.Interfaces (>= 6.0.7)
- equadrat.Framework.Core.UI.Maui (>= 6.0.7)
- Microsoft.Extensions.Configuration.Abstractions (>= 7.0.0)
-
net7.0-windows10.0.19041
- equadrat.Framework.Core (>= 6.0.7)
- equadrat.Framework.Core.Interfaces (>= 6.0.7)
- equadrat.Framework.Core.UI.Maui (>= 6.0.7)
- Microsoft.Extensions.Configuration.Abstractions (>= 7.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
7.1.0 | 90 | 4/20/2024 |
7.0.1 | 82 | 4/6/2024 |
7.0.0 | 96 | 4/1/2024 |
6.4.4 | 91 | 3/16/2024 |
6.4.3 | 98 | 3/9/2024 |
6.4.2 | 87 | 3/3/2024 |
6.4.1 | 94 | 2/10/2024 |
6.4.0 | 163 | 12/30/2023 |
6.3.5 | 115 | 12/25/2023 |
6.3.4 | 168 | 12/5/2023 |
6.3.3 | 136 | 11/15/2023 |
6.3.2 | 129 | 10/21/2023 |
6.3.1 | 114 | 10/7/2023 |
6.3.0 | 117 | 10/1/2023 |
6.2.0 | 122 | 8/19/2023 |
6.1.2 | 123 | 8/15/2023 |
6.1.1 | 137 | 8/13/2023 |
6.1.0 | 142 | 8/12/2023 |
6.0.9 | 149 | 8/4/2023 |
6.0.8 | 138 | 7/22/2023 |
6.0.7 | 126 | 6/25/2023 |
====
v6.0.7
====
- Enabled IL trimming.
- Added README.md file to the NuGet package.
====
v6.0.6
====
- Added overload of ICoreLoggingEvent.WithProperty(IEnumerable<ValueTuple>).
- Refactored ambiguous constructors of CoreLicense[...] classes by adding static factory methods instead.
====
v6.0.5
====
- Added overloads to register logging products and events using a single options parameter.
- Added support to specify custom properties for logging events on register or when logging.
- Added workaround for ambiguous reference when using CoreEnumerableExtensions.AsReadOnly with IDictionary and .net 7+.
====
v6.0.4
====
- Added base class for loggers.
====
v6.0.3
====
- Fixed bug in the Microsoft.Extensions.DependencyInjection wrappers when registering (singleton/scope) routes.
- Fixed bug in the Microsoft.Extensions.DependencyInjection wrappers when using an instance provider.
====
v6.0.2
====
- Fixed bug in the bootstrapper module initialization logic.
====
v6.0.1
====
- Added wrappers for Microsoft.Extensions.DependencyInjection to let IServiceCollection work as ICoreIOCRegistry and to let IServiceProvider work as ICoreIOCFactory.
- Added parameterless overload of ICoreBootstrapper.Startup to access a two-step fluent API to support DI-containers which use the builder pattern (i.e. Microsoft.Extensions.DependencyInjection).
- Renamed CoreFrameworkBootstrapperModulesSelector to CoreFrameworkBootstrapperModuleSelector.
- Added SessionId to ICoreLoggingContext and ICoreLoggingEntry to provide a unique identifier for the current (source) session of a logging entry.
- Added ICoreLoggingSessionIdProvider to generate session identifiers.
- Extended logging targets for Application Insights, NLog and Serilog to passthrough ICoreLoggingEntry.SessionId.
- The Application Insights logging target will use trace telemetry for logging entries without exception.
====
v6.0.0
====
- Initial Release