BACKGROUND IMAGE: iSTOCK/GETTY IMAGES
Launched on Feb. 13, 2002, just four months after the October 2001 debut of Windows XP, .NET and its Visual Studio application development environment were designed in and for the era of desktop and web-based applications. The cloud, smart mobile devices, wearables, and app stores were still years away.
Microsoft is not about to let cloud and mobile computing render its venerable .NET platform obsolete. The company has been busy -- through internal development and acquisition -- advancing .NET for the cloud and mobile age, a place where the dominance of Windows is diminished. In this second of two parts, Omar Khan, Microsoft's general manager of developer platforms, explores new features and technologies of specific products, including Xamarin, TypeScript, and SQL Server. In part one of this interview, Khan discussed the overall Microsoft .NET framework tools ecosystem and the company's philosophy about how the open-source development framework fits into the modern world of cloud, mobile, iOS and Android.
What is happening on the library side of the Microsoft .NET framework tools environment?
Omar Khan: We're moving toward a common library called the .NET Standard, which will allow the large ecosystem of library authors to write once and have their libraries run anywhere. This will keep .NET growing because it will be easy for the developer community to bring their existing libraries to more platforms.
In February 2016, Microsoft announced its intent to acquire Xamarin, which uses a C# codebase that allows developers to write native Android, iOS, and Windows apps with native user interfaces. Is this now part of Visual Studio? (Xamarin arose from the ashes of the Mono project, an initiative intended to make .NET apps cross-platform.)
Khan: In addition to .NET Core and .NET Framework, the acquisition of Xamarin earlier this year expanded our portfolio to mobile development. C# developers can use their skills to build native apps for iOS, Android, and Windows -- all within the same solution with maximum code reuse. This is now included at no additional cost in Visual Studio as well as the free Xamarin Studio Community for the Mac.
What is the practical impact on test and deploy?
Khan: We're making it simple to build, test, monitor and deploy .NET applications with our suite of DevOps tools and services like Visual Studio Team Services and Xamarin Test Cloud. And we're always innovating and improving the .NET developer experience in Visual Studio. For instance, we're starting to see Visual Studio's world-class debugging experiences come to containers and across platforms. For developers who prefer to develop on non-Windows desktops, we have Visual Studio Code, a cross-platform editor that supports full IntelliSense and debugging of .NET applications.
Omar Khangeneral manager of developer platforms, Microsoft
With the expansion in tools and capabilities throughout the Microsoft .NET framework tools ecosystem, where do developers go get educated?
Khan: We have an explosion of free tools for .NET and a growing open source ecosystem under the .NET Foundation. We've created a site to help people get started and continue to build out more documentation and real world examples. We're also planning another three-day, live-streamed, online dotnetConf conference in the spring of 2017 and will be adding more content for people just learning .NET as well as more deep-dive sessions for seasoned developers and architects.
Let's take a look at what's new in these products, starting with the Microsoft .NET Framework.
Khan: .NET Framework 4.6.2 includes base class library and CLR (common language runtime) improvements, as well as better ASP.NET caching performance and per-monitor DPI (dot-per-inch) support for WPF (Windows Presentation Foundation) desktop apps. You can also use the Desktop Bridge to take your Windows Forms, WPF, any Win32 desktop application, and distribute them to the Windows Store as well as take advantage of Windows 10 APIs like Touch, Ink and Cortana.
What's the latest with .NET Core?
Khan: In .NET Core 1.1 you can look forward to more than 1,300 new APIs, support for more operating system distributions (now up to 12), Entity Framework Core support for SQL Server memory-optimized tables, improved LINQ translation and connection resiliency, as well as new features for ASP.NET Core including URL rewriting and caching and compression middleware.
Xamarin might be where the most excitement is. What's new there?
Khan: Xamarin SDKs are all open source and the tools are now included at no additional cost for Visual Studio users. This includes recently-added productivity tools such as Workbooks, for live, interactive education, real-time previewing of Xamarin.Forms apps within Visual Studio; and iOS Simulator remoting, which allows developers to view iOS apps without leaving their Windows PC. Xamarin for Visual Studio brings fully-native cross-platform mobile development to all .NET developers.
Khan: TypeScript is an important part of the .NET story as well. Building ASP.NET web applications also means picking a front-end web technology and TypeScript's support for strong typing is a popular choice for many C# developers. TypeScript 2.0 was released in September (2016) and has several new features, including non-nullable, tagged union, and control flow analyzed types as well as simplified declaration file acquisition.
Finally, let's look at SQL Server, which has a long history, going back to the original Ashton-Tate/Microsoft SQL Server product from 1989. What is the latest?
Khan: For .NET developers, SQL Server has typically been the database of choice particularly for business applications and has a great data access framework with Entity Framework (data access technology). With the latest improvements in Entity Framework Core and SQL Server 2016, .NET developers can take advantage of memory-optimized tables, always-on encryption, and connection resiliency just to name a few. Additionally, with SQL Server on Linux coming, this will bring the powerful database engine to more platforms than just Windows.
Developers today have to write for desktop Windows, macOS, iOS, watchOS, and Android. They must simultaneously create for phones, tablets, wearables, and numerous screen sizes and resolutions. How do Microsoft development tools help?
Khan: Xamarin is the .NET solution for this. I'll also add that Xamarin.Forms is a UI (user interface) technology where a developer can create screens once and Xamarin technology handles compiling for multiple devices. This way you can get between 80% and 100% code reuse across the device platforms depending on your UI strategy.
How does the Microsoft .NET framework tools environment, and other Microsoft tools, fit into the cloudscape, ruled largely by Amazon Web Services, Microsoft Azure, and Google Cloud Platform? What specific benefits does one get by running on Azure?
Khan: .NET Core is a great platform to build cloud-scale apps and services on any cloud. But if you're targeting Azure, we make this experience even better. .NET has first-class support in Azure in Web Apps, WebJobs, Cloud Services and VMs, as well as the new Azure Functions, which allows you to process events with serverless code architecture. And the Azure SDK for .NET provides well-integrated tools for Visual Studio for simplified development, debugging and deployment.
Xamarin and Oracle Mobile Cloud Services buddy up
Microsoft .NET goes open source -- at last
Open source SQL Server on Linux is coming in mid-2017