Microsoft Updates Visual Studio With Support For Universal Projects, TypeScript 1.0 And .NET Native Code Compilation

At its Build developers conference today, Microsoft announced the launch of the first release candidate of Visual Studio 2013 Update 2. While this may sound like a minor update, it’s actually a big step forward for Visual Studio and Microsoft itself calls it one of the most significant updates it has done for Visual Studio yet.

Microsoft also today announced that Visual Studio 2013 has sold over 3.7 million copies since its release less than five months ago. That makes it the fastest-selling release of Visual Studio to date.

Unsurprisingly, this update includes support for all of the new capabilities in both Windows Phone 8.1 and the Windows 8.1 Update 2 for the desktop. Existing Windows Phone 8 apps will also run on Windows 8.1, but Microsoft notes that upgrading apps to 8.1 to take advantage of the new features there should be very easy. The company also stressed that developers can now use the Windows Runtime to create phone apps. The API surface for Phone 8.1, Microsoft says, is about 90 percent aligned with Windows 8.1, so porting apps should be quite easy.

Thanks to the launch of Cortana, Windows Phone developers can now also integrate their apps with Microsoft’s new personal assistant.

windows_phone_81_app_visual_studio-1

The update also includes some new diagnostic tools for Windows Phone developers. Specifically, developers can now more easily track memory usage and the combined UI responsiveness, energy consumption and CPU utilization.

phone_81_diagnosticsMore importantly, though, this latest update makes good on Microsoft’s overall theme at Build this year, which includes a unification across all Windows Devices. Because Windows 8.1 and Windows Phone 8.1 share the same Windows Runtime, Visual Studio now allows developers to create universal Windows projects that enable developers to build apps that support all Windows devices from a single Visual Studio project and share most of their code.

David Treadwell, Microsoft’s corporate vice president of its Operating Systems Group, also noted during today’s keynote how Google and Apple have a different approach to their apps, given that they want you to write separate platforms for the desktop and the phone. With universal apps, the user interface will be automatically adapted to different screen sizes. Developers can write their apps in C#, Visual Basic, C/C++ or HTML/JavaScript.

For users, this also means that apps they buy for the phone will be usable on the PC (and the other way round) because the apps share the same identity.

Going forward, Microsoft today announced, these universal apps will all be available on the Xbox platform.

IMG_20140402_094326

As Soma Somasegar, Microsoft’s corporate vice president of the Developer Division, told me last week, “in the past, we made a commitment that we would unify the platform so that you can build one application and let you target all the devices in the Windows ecosystem.” With this update to Visual Studio, developers can now just open a new project, write their code once and then compile it for Windows Phone 8.1 or as a desktop or tablet app. This, Somasegar argues, delivers on Microsoft’s promise to give developers a single set of tools that spans devices and the cloud.

universal_app_visual_studio

Also new is support for.NET native code compilation for Windows and Windows Phone. Somasegar told me that developers told Microsoft that .NET was always a very productive language to program in, but it didn’t always deliver the performance they were looking for. “We’ve been working on a lot of innovation to show developers that .NET is still a very viable platform for developers who want to build apps in this modern world,” he said. With the .NET native ahead-of-time compiler, developers will see faster startup times, lower memory usage and overall better performance, Microsoft promises. This new feature is currently in preview and allows developers to target both the X64 and ARM platforms.

As expected, this update also includes the release of TypeScript 1.0, Microsoft’s JavaScript superset with support for static typing, which recently became a fully supported language in Visual Studio. Maybe even more importantly, Microsoft says TypeScript will now take open-source contributions from outside developers.

While Microsoft already offered the language under an open-source license and TypeScript already enjoyed quite a bit of support from developers, the actual development of the language and its tools happened in a relatively closed environment and Microsoft wasn’t taking any outside contributions. Visual Studio 2012 users who haven’t upgraded to the latest version will be able to download an add-in to enable TypeScript support in their IDE.

To align the rest of its tools with this update, Microsoft also today launched the final release of Team Foundation Server 2013 Update 2, which includes support for Git and tags in Visual Studio, as well as lightweight charting.

Other new features include the ability to automatically create Azure resources for testing and deploying ASP.NET apps, a couple of new features for ASP.NET and its web tools, new diagnostics tools and new testing tools, including new Coded UI Testing support for Windows Phone apps.

In addition to its Visual Studio updates, Microsoft also today open-sourced its WinJS.

The first day of Microsoft Build is traditionally geared more toward consumer products. Tomorrow’s keynote will likely feature even more developer-oriented news, and rumor has it that we will hear quite a bit more about the future of .NET tomorrow, as well.