2

I'm interested in learning to develop for Windows Phone down the road a bit, and am mostly interested in developing Metro Apps for the Windows Phone. It seems like there is some basic info for Metro development now, but no guidance on what will be relevant when Windows Phone 8 releases. There seem to be two potential strategies:

1) Start coding for Mango/WP7.5 and then later attempt to convert the experience for use with WP8. I guess this would involve learning Silverlight for applications (as opposed to XNA for games)?

2) Write Windows 8 Metro apps now with the dev preview. This experience seems less likely to be deprecated but it also seems harder to test in a real world fashion.

I'd normally lean towards option 1, but there are a few downsides with that route imo. First, I'd read elsewhere that Silverlight 5 was the last Silverlight release. I'm not completely clear on how much Silverlight experience will be useful for future iterations on their phone OS. Also, one thing I find interesting is the improved async/await setup and my understanding is that WP7 still relies heavily on callbacks for async operations.

I'm pretty unfamiliar with Silverlight/WP7/etc so please be gentle if there are some flagrant misunderstandings on my part. Thanks!

Eric
  • 311

1 Answers1

2

If you want to write applications for Windows Phone then do so with what's in front of you now - if you structure your applications appropriately (use appropriate patterns i.e. MVVM) then you will be well placed to adapt to future changes - they're not going to cut current devs off at the knees (if anything MS have problem with not being nasty enough to legacy developers).

Taking a step back - there appears to be a lot of overlap between WP7 dev and Windows 8 Metro/WinRT development, the same sorts of rules and behaviours apply (notifications, isolated storage, etc, etc). And its XAML and C# and a set of .NET libraries (albeit a slightly different set for WinRT than for silverlight on and off the phone or for current WPF apps)

Everything has a finite lifespan - any development technology you learn now or any platform you target will, sooner or later, be substantially obsolete. That's why programming is about a range of skillsets not about coding in a given language on a given platform. You learn by doing and you never stop (you learn new things and adapt)

Murph
  • 7,843