BETA
This is a BETA experience. You may opt-out by clicking here

More From Forbes

Edit Story

Microsoft Sharpens (And Bets On) .NET Core Tools

Following
This article is more than 7 years old.

Microsoft continues the open (as in open source, also as in public) development of its software base in 2017 with a series of developments focused very much in what we would calls the tools and tooling space. Before we look at a couple of specific examples, perhaps it is useful to question why this approach so far appears to be working somewhat successfully.

Internal dependencies

The developer teams at Redmond know that their creation of .NET and all its power came with a trade off. That trade off was monolithic size, weight and (some would argue) clunkiness in a software platform that is ultimately hampered by its own 'internal dependencies'. With the term 'dependencies' referring to objects of code that serve another piece of software... think of them as mechanical components like pistons or pipes i.e. not easy things to just yank out and use elsewhere in another vehicle or machine in their 'native' form. Indeed, the quest for native computing is a mission in and of itself, but that's a slightly wider story.

So think about breaking apart from a world of over-dependent dependencies. Instead think about a world where more modular blocks of computing power come together to form what is essentially a more flexible, broken apart (but still connected) and composable world of IT. If we look inside the products then we can see how it's done.

New in terms of product refinement is the Microsoft Delivery Plans tool — a piece of technology designed to help coordinate team members' work efforts.

Microsoft Visual Team Studio program manager, Derrick Fu explains that this software will bring together a view of work that is being carried out across different teams on different projects. 

"A Delivery Plan is a view of the work from multiple teams (and multiple projects) laid out on a calendar with each team’s iterations. Each row in the view represents the work from a team’s backlog, with each card corresponding to a work item — user story, feature, or epic. As you horizontally scroll through the calendar, work in future (or past) iterations comes into view,” wrote Fu, in an MSDN blog.

Testing platform

The firm has also this year has open sourced its Visual Studio Test Platform (known as VS Test), which is used by developers to run tests in multiple software languages and then collect the required diagnostic data on those tests.

As Microsoft's Brian Harry has noted, "VSTest is a very extensible unit test execution framework.  The base engine, discovers tests and runs them.  It can parallelize across cores, provides process isolation and can integrate with Visual Studio. It has extensibility for different test frameworks, code coverage, test impact analysis, data collection [and] test result reporting."

Harry is a Microsoft technical fellow working as the product unit manager for Team Foundation Server. He has detailed where VS Test sits in that it is integrated with Visual Studio and part of the .NET Core Tools. To clarify then, Microsoft .NET Core is a cross-platform fork of the very much Windows-only .NET framework… it allows Microsoft developers to start working outside of the Microsoft universe and (crucially) it also allows them to start working with non-Microsoft technologies in their Microsoft environment. 

No free lunch

As we have detailed before here on Forbes, Microsoft now takes a stance of 'open by default' and this is a position it has adopted to basically welcome a wider group of coders into its house. Once again, yes obviously the firm will still want to sell these software engineers licenses, chunks of Azure cloud and attendance fees to come to its various symposia. There is no such thing as a free lunch, but there are free adapters to VS Test on the Visual Studio Marketplace for various other testing frameworks.

Modularity... will it blend?

So can Redmond continue to do well in its open open sourcing?

Traditionally it's not always been plain sailing i.e. largely speaking, when you open up compatibility you slow down the ability for software to execute its runtime (software that governs the order in which things happen) and this is obviously not a good thing. Microsoft has for a couple of years now been working to build software that is more modular and so logically less monolithic, less clunky and less weighed down by internal dependencies... and this is what .NET Core represents today.

Will all this positively affect the software you use as a non-developer who takes an interest in the engineering inside the system that drives your device? Yes, it should do, in theory at least... and that theory should also hold for apps and services on other platforms. But we're not in software utopia yet, so take every day one download at a time.

 

Follow me on Twitter or LinkedIn