Skip navigation
Windows Phone 8.1 Preview: Universal Apps

Windows Phone 8.1 Preview: Universal Apps

Universal apps are a lie

One of the more intriguing aspects of the recent Windows Phone 8.1 leak is that this platform might support the creation of so-called Universal apps, similar to those in iOS, that run across both tablets (Windows RT 8.1 in this case) and smart phone (Windows Phone 8.1). With due deference to the game "Portal," however, I can report that Universal apps are a lie. At least from what I can tell.

To understand what I mean, you need to understand a bit about Visual Studio, Microsoft's awesome software development environment. In Visual Studio parlance, each project you create represents a single application (or similar unit), like a Windows Phone app, a Windows desktop application, or whatever. But Visual Studio is also a team-capable and professional developer suite. So each project you create is also contained in something called a solution. And you can have multiple projects within a solution. For example, you might create a complex application that includes a project for the application itself plus separate projects for a service library, class library, or whatever. And each could be written in different languages, and by different developers.

So what's this Universal app stuff?

You may recall that the possibility of Universal apps was first raised when a developer leaked information about Windows Phone 8.1 recently. I wrote about this in Windows Phone 8.1 Feature Set Possibly Leaked, noting that he described "the leaker claims that developers will be able to create so-called Universal apps with HTML and JavaScript that can run on both Windows 8.x and Windows Phone 8.1." The HTML/JavaScript bit is indeed new to Windows Phone 8.1. But Universal apps? No.

With previous versions of Windows 8.x/RT and Windows Phone, Microsoft advised developers who wanted to duplicate an app across each platform that they could create Visual Studio solutions with separate projects for Windows 8.x/RT and Windows Phone apps. There could then be a third project that contained shared code, since there is some crossover between the APIs used by the different platforms (WinRT for PCs and tablets and WinPRT for Phone).

With the SDK that will accompany Windows Phone 8.1, Visual Studio picks up what appears to be a set of new project types for something called Universal apps. There are separate projects for a blank app, a hub app, a portable (i.e. cross-platform) class library, and a portable Windows Runtime component. But all this really is is a formalization of Microsoft's previous advice. What you get, as before, is a single solution with separate projects for the Windows 8.x/RT app, Windows Phone app, and shared code.

In other words, nothing has really changed. Here's how such a solution—with two separate apps and a shared code module—looks in Visual Studio.

The ability to code Windows Phone 8.1 apps in JavaScript (really HTML/JavaScript/CSS) is new to Windows Phone 8.1 and mirrors how this works in Windows 8.x. To me, that is the real story here, that developers can create native Windows Phone apps now with a very familiar set of technologies. That said, in the leaked SDK, the Windows Phone bits run in the Windows 8.x emulator for some reason. So there's apparently still work to be done.

Will the Windows 8.x and Phone APIs, SDKs and platforms merge even more going forward? Of course. But I wish Microsoft had held on to the name Universal apps for the time when such a thing was truly possible. That name suggests something far more than what is possible today, or in this coming release.

P.S. If you not familiar with my "Portal" reference, please refer to this Know Your Meme entry. And then go play some Portal. Great game.

P.P.S. If you're a developer and know more about this stuff than I do, let me know if I missed anything. I'd love to think this system is more sophisticated than I understand.

Hide comments

Comments

  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
Publish