I first wrote this back in 2012 as a set of commonly useful abstractions for building applications on the cloud. It’s evolved over time but an awful lot of things have changed and grown in the last 5 years and although many of the core patterns and abstractions are still useful it’s become hindered by it’s own weight when put into a more recent context. When I wrote it all sorts of things that are effectively “off the shelf” now just didn’t exist. And of course, I hope, I’ve learned and grown as a developer and architect since then.
I’m also increasingly wanting to take advantage of new developments in the .NET space such as .NET Standard and ASP.Net Core and the AccidentalFish.ApplicationSupport framework is very much a .NET 4.x rooted framework.
All that being the case, and being mindful that a reasonable number of people are using this framework in production software, my intention is to place the current version (6.0.0) of the framework into maintenance mode and start afresh with a simplified framework aimed squarely at support .NET Standard and taking advantage of recent developments. That leaves the way open for future updates to the existing framework but lets me move forward with some major changes.
My goals for this major reworking include:
- .NET Standard support to enable use in as full a range as possible of .NET runtimes (Core, Framework, Xamarin etc.)
- Increased modularity of packages so you can use just what you need
- A removal of the configuration framework and replacement by an abstracted bridge to external configuration sources
- A removal of the logging abstraction framework and adoption of the abstraction layer provided by Microsoft in the Microsoft.Extensions.Logging.Abstractions package.
- A pulling apart of the dependency injection abstraction framework.
Before I release it I’ll be reworking a significantly sized product of my own (Simple Status Page) over to it which should mean it hits the open source world in reasonable shape.
The code will be on GitHub just as soon as I can figure out what to call it!
If you want to discuss this then the best thing to do is to get on touch with me on Twitter at @azuretrenches.