As en enterprise and solution architect, I rarely participate hands-on in development. But I work closely with the developers in my clients’ projects, so I need to maintain my programming and technology skills to unify project managers, business experts, and developers. Therefore, I’m continually developing a few useful web apps:
- uml is a simple text-based UML editor based on the PlantUML rendering engine.
- mon is a monitoring app then demonstrates my recommended implementation of observability.
- sim is a Monte Carlo simulation app that helps everyone create really useful business cases easily.
My work adheres to the following design principles:
Low costs
To keep costs as low as possible, I use open-source cross-platform technologies that are widely used and continually improved are used. I have chosen the following technologies and tools:
- C#
This object-oriented programming language goes hand-in-hand with the .NET technology, and is supported by the free cross-platform development tools, Visual Studio Community and Visual Studio Code. However, I find both these tools difficult to use, so I’m subscribing to JetBrains Rider – luckily at a low cost. - JetBrains Rider
This is my preferred development tool for programming in C#. While Microsoft’s tools are free, I find Rider more intuitive and supportive. Rider is comparable to Visual Studio with the commercial JetBrains add-on ReSharper, which costs the same as Rider. - .NET
This technology includes ASP.NET Core, which in turn offers the Blazor framework for building interactive client-side web apps. - SQLite and MySQL
SQLite is a simple and fast relational database ideal for development and small-scale production. MySQL is great for larger-scale production. Both are supported by the EF Core framework in .NET. - MudBlazor
MudBlazor is the best open-source component library for enriching Blazor with Google Material inspired user interface components. - NuGet
NuGet is a library of reusable components that can be added to the web apps. There are plenty of free open-source NET Core compatible packages to add. SQLite and MySQL connectors, encryption logic, modules that read and write Excel files and so forth. - Simply
One prerequisite to building web apps that just doesn’t come free, is the server it runs on. There a several reasonably priced choices. Currently, I use my webhotel provider, Simply, which also host my website. In the past, I have used SmarterASP.NET, which is also reasonably priced. Technically, it’s the better choice, but I find it impractical to have to renew the subscription quarterly, and I’m not keen on committing to longer periods to lower the costs.