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

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube