News

Microsoft Takes Cross-Platform Development to Another Level

Release Candidate 2 of Visual Studio 2013 also announced.

The concept of "write once, run anywhere" has long been a dream of developers. Supporting an application across multiple platforms and devices, without having to rewrite and maintain it, is something of a Holy Grail for the developer community.

That dream came a lot closer to reality today, at least on the Windows platform. During the Day 1 Build keynote in San Francisco, Microsoft announced "universal Windows apps," which uses the Windows Runtime to build apps that will run on Windows Phone 8.1, Windows 8.1 and even Xbox One.

If there was one overarching theme to the Build keynote, it was Windows interoperability. Universal Windows apps will not only work on Windows Phone and Windows tablets like the Microsoft Surface, but updating older apps to the universal paradigm will be easier with new improvements to Visual Studio 2013.

Speaking of Visual Studio 2013, Microsoft's Kevin Gallo announced that the Release Candidate (RC) of Update 2 of Visual Studio 2013 is now available for download. Update 2 includes new functionality to streamline the development of universal Windows apps. Among the updates is a Universal App Template, for building those apps from scratch.

"Universal projects allow developers to use approximately 90 percent of the same code, a single packaging system, and a common user interface to target apps for phones, tablets and PCs," Microsoft said in a press release.

In addition to the Update 2 RC, two other major products were made available for developers: Windows 8.1 Update and Windows Phone 8.1. The big upgrade for Windows Phone 8.1 was Cortana, a "Siri"-like digital assistant powered by Microsoft's Bing technology. On the tablet side, much of the Windows 8.1 Update functionality demonstrated during the keynote revolved around new capabilities for using a mouse and keyboard. Both Cortana and the Windows 8.1 Update give developers more options for integrating core Windows features into their apps.

The ability of Visual Studio 2013 Update 2 to quickly port older apps to universal Windows apps was shown during a demo in which Gallo took an existing Windows Phone app for fantasy sports and upgraded it in just minutes. He opened the app in Visual Studio, right-clicked it in the Solution menu and selected the option to target Windows Phone 8.1.

The demo included the new "shared node," which allows developers to mark the code they want to share. Since the original app was built via the Windows Runtime, he could take the entire project, including the code, images and XAML, and move it into a shared project. His app also had a Json.NET third-party library, and he shared that as well, showing that the updating ability isn't limited strictly to the .NET Framework.

The updated toolset in Visual Studio 2013 Update 2 includes support for most popular languages, including C#, C++, XAML, DirectX, HTML and JavaScript.

Another interoperability milestone was announced by David Treadwell, a Corporate Vice-President of the Operating System Group, who said that Windows Library for JavaScript (WinJS) was made cross-platform and open source. Available under an Apache 2.0 license, it's available on GitHub. WinJS is most often used to build Web apps across browsers and devices, including Android, iOS, Chrome and Firefox. It was made available via Microsoft Open Technologies, the company's specialized subsidiary that focuses on open sourcing .NET technologies.

Microsoft took pains to show that older Windows apps, whether developed for Windows Phone, Windows 8 or the Windows desktop, will work as universal Windows apps. Treadwell called it a "technology continuum for Windows 8.1 Update, to help you reuse more of your code... [creating a] bridge from your code investment today into the future."

Harry Pierson, from the operating systems group, demonstrated how even an ancient, line-of-business form application using "old-school ADO.NET" can be updated. Corporations, he said, have a significant investment in custom applications. "This code works. It's been written, debugged, and running in production for years," he said. Updating the app for Windows 8 required, among other things, a modern version of the data access layer. Using Visual Studio 2013 Update 2, much of the porting work, including a rebuilt user interface, was done in minutes.

No timetables were given for the final releases of Windows 8.1 Update, Windows Phone 8.1 or Visual Studio 2013 Update 2, but it's likely that all will hit general availability before summer.

About the Author

Keith Ward is the editor in chief of Virtualization & Cloud Review. Follow him on Twitter @VirtReviewKeith.

comments powered by Disqus

Featured

  • VS Code 1.125 Adds Copilot Spend Meter After Billing Shock

    VS Code 1.125 adds in-editor visibility into additional Copilot budget usage as GitHub's AI-credit billing model continues to draw developer scrutiny.

  • TypeScript 7.0 RC Moves Microsoft's Go Rewrite Into the Mainline Compiler

    Microsoft's Go-based TypeScript rewrite has reached Release Candidate status, moving from a separate native-preview package into the regular TypeScript npm package while leaving some ecosystem-facing API work for TypeScript 7.1 or later.

  • Microsoft Highlights Visual Studio Live! Event Lineup and Longtime Developer Community Role

    A Microsoft MVP Blog post on Visual Studio Live!'s longevity arrives as the 2026 conference series continues with upcoming stops at Microsoft HQ, San Diego and Orlando.

  • Using Local AI to Cut Copilot Usage-Based Billing Shock

    After being gobsmacked by the new billing plan using almost all my monthly credits in one or two days, I tried pushing some Copilot-style coding work onto local models in VS Code. What I found was less "free AI" and more "pick your pain": cloud charges on one side, heavy local resource use and long waits on the other.

Subscribe on YouTube