SEATTLE -- Expansions and introductions in Microsoft's core development tools demonstrate that the company firmly has its mojo back with developers.
Major introductions at the Microsoft Build 2019 annual developer conference here last week came from the company's core tools group, what old-timers still refer to as the "Microsoft Developer Division." A web-based integrated development environment (IDE) for Visual Studio and .NET 5 -- billed as the future of .NET -- aim to help the company's core base of Visual Studio IDE users and aficionados of the .NET Framework work in a better, faster and simpler manner. Additionally, the company has strengthened the Windows Subsystem for Linux and Windows Terminal command-line capabilities.
"I think Microsoft has not only gotten its mojo back, it's building on it," said Ted Neward, an independent consultant in Redwood, Wash., who specializes in both .NET and Java development.
Visual Studio Online plugs remote development support
The web-based IDE, Visual Studio Online, is now in private preview and is a companion to Visual Studio Remote, for which Microsoft also provided an early look.
The remote development extensions enable developers to build against remote machines and work on a different operating system than an app's deployment target to tap into higher-end hardware or utilize multimachine portability, said John Montgomery, corporate vice president of program management for Microsoft's $1.5 billion developer tools business. Initial targets will be C# and C++ applications before Microsoft moves to support other languages .NET supports.
"We're continuing with the 'any developer, any app, any platform' strategy that we've been onto for years now," Montgomery said. Microsoft's .NET strategy for the past several years has been to support any developer that builds apps on any platform by taking .NET cross-platform, he added.
Visual Studio Online also opens up the IDE to a large web-based experience. Based on the familiar Visual Studio Code lightweight development environment, the IDE enables developers to work from any device to perform programming tasks in the browser without requiring a full version of the IDE on the device.
"We're using the cloud a lot more for developing, especially the scale of the cloud," Montgomery said. "We treat the web IDE as more of a companion to review a pull request."
Visual Studio Online enables users to do quick edits, debugs or other tasks. For example, if a developer needs help coding on a project, but only has a phone handy, the developers can link up via Live Share, Microsoft's code-sharing app, and see the work on the phone.
"The compute is taking place in the cloud. It expands the reach of tools," Montgomery said.
For professional developers, a tool such as Visual Studio Online is an element of convenience, but it could be huge for the education community, said Jeffrey Palermo, chief architect and CEO of Clear Measure, an Austin, Texas-based consultancy that specializes in DevOps and Azure. Palermo volunteers at a local high school to help teach students to program, and licensing issues preclude students from loading commercial software on their machines.
"This is just breaking down a barrier where now students can just go to a website and pull up their dev environment. That hit me right there," he said. Palermo also is the author of .NET DevOps for Azure, a book on DevOps in the .NET world.
Ideas like this web-based IDE and the company's focus on open source, open standards and innovation not only attract new customers, but bring others back that had strayed.
"Microsoft underwent a few of what I'll call 'dark years,' while the rest of the world was much more serious about adopting open source technology and tools," said Raj Nath, founder and CEO of NathCorp, an IT consulting firm in Irvine, Calif.
Nath worked at Microsoft for more than 14 years and was a member of the famed Windows NT development team, but moved away from exclusive dependence on Microsoft's tooling, he said. Now, he is back and credits the company's focus on openness and innovation.
Real Linux coming to Windows 10
Another mojo moment at Microsoft Build 2019 was the introduction of Windows Subsystem for Linux 2 (WSL 2), as well as the new Windows Terminal app for command-line users.
WSL is subsystem to run Linux binary executables natively on Windows. The latest iteration, WSL 2, is based on a Microsoft-built Linux 4.19 kernel, and initial builds will be available through the Windows Insider program by the end of June. Not only will Microsoft ship a functioning version of Linux with Windows, but it will provide native Docker support, Montgomery said.
Raj NathCEO, NathCorp
The improvements to WSL and the terminal/command-prompt make Windows machines more reasonable for "Unix-ish development," which is how a lot of experimental developer tools are built, independent .NET and Java consultant Neward said.
"It's no longer a mark of shame to carry around a Windows laptop at a conference," he said. "At a time when people are getting frustrated with Apple's really terrible hardware evolution, Microsoft is making Windows a substantially reasonable developer experience."
Microsoft and Docker also are working closely improve the user experience of Docker Desktop for Windows, said Jenny Fong, director of product marketing at Docker, based in San Francisco. WSL 2 improves performance around boot time and dynamic CPU and memory allocation, and it provides access to the Windows file system from the Linux environment -- and vice versa -- for file sharing.
.NET 5 coming in 2020
Meanwhile, Microsoft shed light on its direction for .NET. The next version of the framework will be .NET 5, as the company unifies its .NET strategy into a common-based class library for developers to build apps for mobile, desktop, microservices, games and more. Developers can use .NET 5 to target Windows, Linux, macOS, iOS, Android, tvOS, watchOS and WebAssembly, Montgomery said.
The current version of .NET is .NET Core 3.0 Preview 5. Microsoft will ship a generally available version of .NET Core 3.0 in September, followed by .NET Core 3.1, a long-term support release in November and then .NET 5.0 in November of 2020.
The apparent leapfrog in .NET roadmap versions from 3.0 to 5.0 is to avoid confusion for developers, according to Microsoft. A version of .NET known as 4.8, based on older naming conventions, will be frozen while the company innovates around .NET Core and then .NET 5.0. The company said it will continue to provide security and performance patches for users who don't want to move from 4.8, but they expect most will move up to gain additional features and functionality.