VSLive! Keynote: James Montemagno on .NET 'Everywhere for Everyone'
- By John K. Waters
Microsoft's .NET has come a long way from its origins as a closed-source software framework for Windows to become what James Montemagno describes as "a vast, open, constantly growing, and ever-evolving ecosystem" that millions of modern developers are leveraging to build applications for virtually any platform.
Montemagno might be forgiven for indulging in a bit of keynote hyperbole during his presentation at this year's Boston edition of the Visual Studio Live! Conference (June 14-18), but as he guided his audience on a rich and detailed tour of the current state of the .NET universe, it quickly became clear that he was not exaggerating.
"It's true that I love .NET," he said, "because the things that .NET provides you as a developer are absolutely delightful." It's also true, he added that "this is the best time to be a .NET developer."
The conference attendees were in good hands on their ".NET journey." Montemagno, who serves as Principal Program Manager in Microsoft's Mobile Developer Tools group, knows his subject well. He's a sought after speaker and conference presenter, he co-hosts two podcasts (the Xamarin Podcast, with Pierce Boggan, and Merge Conflict, with Frank Krueger) and he's a frequent face on The Xamarin Show on Microsoft's Channel 9.
Montemagno started his presentation with some telling statistics. The user communities of both .NET and the C# language are growing exponentially, thanks in no small part to Microsoft's decision to open source the technology in 2014. On a slide with the headline "We didn't build it alone," he offered a graphical representation of "every single commit, pull request, or issue from developers around the globe on GitHub" in 2017. The .NET community appeared to well on its way to covering the globe.
"Since we open sourced .NET a few years ago, the contributions have been spectacular," he said. "So, we're not building .NET by ourselves, but with all of you, in the open. In fact, we're evolving all our languages in the open, too. Part of the Roslyn team (our compiler) is building C# and all the language features together with you."
He also noted a growing roster of companies embracing .NET and .NET Core (the general-purpose version of the development platform maintained by Microsoft and the .NET community on GitHub). Samsung's Tizen devices, for example, run on .NET Core and Xamarin Forms. "They run 50 million toasters, refrigerators, and all kinds of gizmos using the platform," he said. "It's awesome to see, not only the community contributions, but also from tons of companies outside of Microsoft. We are truly building it with you."
Open source .NET has benefited from an estimated 19,000+ community contributions from 3,700+ companies outside Microsoft, he said.
The growth of the .NET ecosystem led to the establishment of the .NET Foundation, an independent organization that aims to foster open development and collaboration around the .NET ecosystem. The organization serves as a forum for community and commercial developers, Montemagno explained, and promotes openness and community participation. The group seeks to protect licenses, copyrights, and trademarks: encourages best practices and mentorships; coordinates community feedback; it sponsors media branding events; and provides a range of support services and resources. He shared a list of dozens of projects currently moving forward under the auspices of the Foundation.
NuGet, the free, open-source package manager for .NET, also appears to be growing at warp speed. Introduced in 2010, NuGet has evolved into a larger ecosystem of tools and services distributed as a Visual Studio extension. When he looked yesterday, Montemagno said, there had been 8 billion NuGet downloads: when he looked before his keynote, that number had risen to 9 billion.
"We continually add value and give you as a developer access to all this .NET greatness that's out there today"
James Montemagno, Principal Program Manager, Mobile Developer Tools, Microsoft
"We continually add value and give you as a developer access to all this .NET greatness that's out there today," he said.
Of course, you can't nurture a growing ecosystem without new developers, he added, which is why Microsoft invests in easily accessible educational resources. "It has never been easier to get started with .NET and C# or any of the other languages," Montemagno said. "When I think about the next generation of developers, they're not developers who are willing to install 25 gigs on Visual Studio and then wait until the next day to get started. No, they just want to sit down and get started learning."
He pointed attendees to Microsoft's .NET Web site and the "Learn" and then "Languages" dropdown menus for examples of the current range of "interactive online learning experiences" available for free to anyone interested. "Those are the types of experiences that are going to enable the next generation of developers," he said, "right there in the browser, ready to go."
Given all this evolution, it should come as no surprise that the popularity of Microsoft's venerable Visual Studio IDE hit a recent popularity high, according to the trend watchers at Stack Overflow. In a recent survey, VS was ranked most popular among developers for the first time.
"Developers love our IDE," Montemagno said. "Visual Studio and Visual Studio for Mac are world class tools. That's why Visual Studio and .NET are growing at exponential rates."
Montemagno shared some inside-the-company statistics to support that claim: The number of monthly active .NET developers in Visual Studio grew by 1 million between 2015 and 2017.
He also spent some time on .NET Core, Microsoft's cross-platform runtime created to run everything from server workloads to Web sites, IoT apps to AI solutions, on any platform in any cloud.
"When you write a .NET Core application," he explained, "you're writing an application that can run on Windows, Mac, or Linux. It can run inside a Docker container on a Linux machine or a PC in any cloud anywhere in the world. This is great for developers. It means you don't have to test everything. You can spin it up inside a Linux Docker container, if you want, and boom you're good to go."
Microsoft just announced .NET Core 2.1, and Montemagno covered many of the improvements, including the new GDPR compliance and security enhancements.
"But my favorite thing is, it's faster," he said. "Who doesn't love faster?" He offered comparisons of the processing speeds of .NET Core 2 backend (1.71 million requests per second) versus Java Servlet (0.96 million requests per second), and Node.js (0.43 million requests per second). For those .NET Core users wondering why they should upgrade, he compared runtime performance handling requests per second of plain text, JSON, and data access between 2.0 and 2.1: 2.9 million requests per second for 2.1, up from 2.6 million requests per second; 662,000, up from 599,000; and 216,000, up from 97, 000 -- 123 percent faster.
Montemagno also highlighted new features in ASP.NET Core, including out-of-the-box HTTPS support, Razor UI as a library, and ASP.NET Core SignalR. During a demo, he took an ASP.NET Core Web site, created a Docker image, published it to the Docker container registry, immediately saw it running, and then put it into a DevOps pipeline. He noted several EF Core improvements, such as lazy loading, value conversions, query types, and data seeding.
During his discussion of the Xamarin tools, which are free with the Visual Studio Community Edition, he waxed poetic (not surprising, given his background as developer evangelist at Xamarin, the company, before the Microsoft acquisition).
"Xamarin is our tool for you as a .NET developer to build beautiful, native applications across iOS, Android, Windows, Mac, and Linux," he said. "What's great here is that you have access to every single API in those systems, all in C# and .NET, with C# features."
He also pointed to the Xamarin Live Player.NE, a kind of getting started sandbox for developers learning to build mobile apps for Android or iOS devices. He also announced the new Xamarin.Essentials library, which abstracts more than 30 native APIs into a single, NuGet package. "You can access it from any Android, iOS, Windows, or Xamarin.Forms application," he said, "so you have one API to learn to do geolocation, key store access, sensor support, phone dialer, or device display information-one API that can be shared natively. That's the future of where we are going."
Montemagno offered another look into the future with an experimental project called .NET Embedding, which automatically turns any .NET library into a native language library in which a developer might already have code, "so you can reuse .NET greatness." To try out the capability, he took the open source Kickstarter, which was written in Swift, and added some shared Xaml UI, and ran it via Xamarin inside.
He also demo'd Blazor, an experimental Web UI framework using C#/Razor and HTML, running in the browser via WebAssembly, which is a binary instruction format for a stack- based virtual machine Montemagno said is transforming the Web. "Now I can write client applications 100 percent in C#, with cf.html, deploy them in any browser or mobile device, anywhere in the entire world, with no server in between, running natively inside the browser," he said. "It's like Silverlight, but done right.... So not Silverlight at all. It's amazing."
The bottom line of Montemagno's keynote: "We want you and any developer to be super productive and develop anywhere, on any machine, and in any operating system."
The Visual Studio Live! conference will be at Microsoft Headquarters in Redmond, August 13-17.
John K. Waters is the editor in chief of a number of Converge360.com sites, with a focus on high-end development, AI and future tech. He's been writing about cutting-edge technologies and culture of Silicon Valley for more than two decades, and he's written more than a dozen books. He also co-scripted the documentary film Silicon Valley: A 100 Year Renaissance, which aired on PBS. He can be reached at [email protected].