A double feature – two related posts in the same day!
The Essential Question
Following on from my earlier article on setting up a development environment for Windows Phone 7 development, the next obvious question to answer is: “what to build?”.
Never has there been a more appropriate time to ask this pivotal question, given the recent announcement of the Windows Phone 8, scheduled to be released around the time that Windows 8 (the Operating System) is due to launch.
Some Background
There’s a well documented gripe amongst the community at the perception that Microsoft has abandoned Silverlight; this seems to somewhat hold true.
Conventional directions appear to send people away from Silverlight if they wish to adopt the Metro style interface. [ http://msdn.microsoft.com/en-us/library/windows/apps/hh465136.aspx ]
Yet, from the forums [ http://forums.create.msdn.com/forums/t/106054.aspx ] comes this quote from Mark Chamberlain [Microsoft]
All Windows Phone 7.x applications will run on Windows Phone 8, and the new Windows Phone 8 developer tools will support building applications for Windows Phone 7.x. This includes both Silverlight and XNA applications. Thus, application developers who wish to target both 7.x and 8.0 phones can build for 7.x.
I’ve attempted to find some concrete answers on what way to best design and build a Windows Phone application which will embrace the new phone and benefits which come with it. Wisdom states that Silverlight is probably not the horse to back at this stage.
What To Target?
Here’s some details about what to expect in Windows Phone 8:
Windows Phone 8 programming technologies include:
- Windows 8 Metro UX (WinRT API) technology (if you are familiar with WP7 Silverlight app development, it is an easy transition to learn this).
- DirectX/C++ native code development, for apps or games. You can port across pre-existing DirectX applications.
- Standards-based HTML5 programming which can be surfaced in the app via the Web Browser control or as a web page using IE10
The key statement on the forum is this one:
An app built for 8.0 will not run in Windows Phone 7.x, but an app built for 7.x will run in Windows Phone 7 or 8.
Which means that you will be forced to decide whether you want to take advantage of the new functionality in Windows Phone 8 (thus abandoning Windows Phone 7) or to develop two different code bases (targeting WP7 and WP8 respectively).
Developers building applications using XAML/.NET will be able to reuse substantial amounts of their business logic code across Windows and Windows Phone
If you were to build for both WP7 and WP8, then it might be time to look at the Visual Studio 2012 Release Candidate.
Should you decide to target Windows Phone 8, it might be a good idea to wait for the Windows Phone 8 SDK which is rumoured to be released in late July 2012 (i.e. not too far away). It seems inevitable than if you wish to build a Windows Phone application, you’ll want to upgrade to the latest development tools.
Visual Studio 2012 Release Candidate
Based on the above, I’m going to start looking at options to target Windows Phone 8 (in isolation) as well as options for a Windows Phone 7 and 8 dual target build. The latter is probably going to be the most feasible in the short term, while we wait to hear about the next Windows Phone SDK.
A Look at the Release Candidate
Without the Windows Phone 8 SDK, it’s a little hard to know what to do right now, but the logical place to start is to have a look at the Visual Studio 2012 Release Candidate. It’s a sure bet you’ll need it to any traction with the Windows Phone 8 SDK when it is launched.
I’ve previously done a quick review of the Release Candidate here. Despite my better judgement, I’ve decided to install the RC on my primary laptop. I’ve been previously burned by issues in upgrading to RTM editions from pre-release, so this is a calculated gamble.
July RC Update
While we’re at it – don’t forget the July patch which has been recently released. [ http://www.microsoft.com/en-au/download/details.aspx?id=30178 ]
Product Comparison
Windows Phone development appears to be supported in all versions of Visual Studio 2012:
[ http://www.microsoft.com/visualstudio/11/en-us/products/compare ]
However, as of this writing, there’s no native support for Windows Phone applications in the current crop of Visual Studio 2012 RC editions. It’s likely we’ll have to wait a month for the SDK to come out. Check back in late July for more details.
Obligatory Rant
Here’s the kicker – yet again, Windows Phone development is the poor cousin in the developer tool community. It is, again, a separate installation (via the SDK).
It’s actually very poor form from Microsoft to continually ostracise the Phone developer community by not including Windows Phone as a component of the Visual Studio 2012 product proper.
As if Windows Phone developers haven’t felt enough pain in recent years, with the continual dropping of support for legacy projects (yes, I’m talking about Windows Mobile editions that were dropped from Visual Studio 2010).
Conclusion
So the short answer is.. stay tuned.
References
Migrate/port a Windows Phone 7 app to a Metro style app
[ http://msdn.microsoft.com/en-us/library/windows/apps/hh465136.aspx ]
Recapping Windows Phone 8 developer news
[ http://windowsteamblog.com/windows_phone/b/wpdev/archive/2012/06/29/recapping-windows-phone-8-developer-news.aspx ]
Status update: Windows Phone 8 Developer Tools (2012.06.21)
[ http://forums.create.msdn.com/forums/t/106054.aspx ]
Visual Studio 2012 Release Candidate
[ http://www.microsoft.com/visualstudio/11/en-us ]
Visual Studio 2012 Release Candidate July 2012 Patch
[ http://www.microsoft.com/en-au/download/details.aspx?id=30178 ]
Visual Studio 2012 Product Comparisons
[ http://www.microsoft.com/en-au/download/details.aspx?id=30178 ]