“Write once, de-bug everywhere?”
Responding to changing business needs has been a client and software challenge for many decades. But accelerating business change, digital transformation and software complexity makes solving this challenge an imperative.
There have been attempts before, most notably with Java and Java virtual machines back in the ’90s. Unfortunately, that particular initiative led to the wry joke, ‘Write once, debug everywhere!‘
This challenge has been compounded by the growing range of programming languages, editors, OSs and devices. And more recently, the cloud. It’s a challenge Microsoft has embraced with its .NET initiative and in its .Net 6 looks like its vision to ‘write once and run anywhere‘ may become the reality.
.NET 6 from Microsoft: a modern developer platform
The .NET framework dates back to the 1990s. .NET Core is a fully open-source version of .NET under the independent .NET Foundation. It was created by Microsoft in 2014 to extend the appeal and use of .NET to other platforms and it now has a thriving developer community. This makes it very attractive as it embraces all major operating systems. And it has a vast library of tools, common APIs and supports a range of editors.
Over time, .NET and .NET Core diverged. With .Net 5, Microsoft started a process to unify its own and .NET Core offerings and .Net 6 (due November 2021) is the culmination of that process.
Learn by doing: our .NET 6 ‘Proof-of-Value’ prototype
Recognising the potential of .NET 6 to transform how we build client applications we decided to create a ‘proof-of-value’ (PoV) prototype. We based this on an existing system so we could assess the opportunities and challenges presented. This also helps us prepare for similar work with potential clients looking to upgrade their systems.
And it provides us with a practical example to upskill our developers and assess the impact on our development processes and tools.
See our C-BIA Agile Delivery Model 2021 for more on our approach to software development…
A Smart Marking System (SMS) built on .Net 6
The system we chose as a ‘test bed’ for .NET 6 is SMS, a rules-based engine for the collection and sharing of student assessments and examination marks for universities. It’s an area we know well.
With joint degrees, external providers, online learning and Covid-19 this has become an increasingly complex and fluid area for examination teams in a university.
And there are more rules, exemptions and exceptions needed to ensure consistent treatment of students. It is an area ripe for more intelligent systems and a modern user experience. to ensure efficiency and effectiveness.
What Next? Towards a Minimum Viable Product
The project started last year and is led by our senior developer, Chris Worledge. After several iterations, we now have a Minimum Viable Product (MVP) and we have started socialising it with our clients and partners. Although some way from being a final product both the business and technical value of .Net 6 is clear to us so we are keen to share our work with others.