I was watching some video tutorial for developing Windows Phone 7 apps (& hoping to develop Windows 8 apps on that basis ;) The guy in the video tutorial was using Visual Studio 2010 and I have Visual Studio 2012. He created a new project using the option "New -> Project -> Silverlight for Windows Phone". Although I don't have such an option I do have an option called "New -> Project -> Windows Phone". This got me wondering whether there is a difference between those two. Could anybody explain the difference between them, if there is any?
Visual Studio 2010 can only make applications for Windows Phone 7. And Silverlight is the only API available to third-party developers on WP7 (even XNA is based on Silverlight).
With Windows Phone 8 (supported by Visual Studio 2012), new kind of applications were added: native (C++ based), HTML5... That's why calling the category "Silverlight for Windows Phone" didn't make sense anymore, and it was renamed simply "Windows Phone".
It's just a name, it makes no difference to you. When creating a new "Windows Phone app" project, Visual Studio will ask you which version you want to target. If you pick "Windows Phone 7.1", you'll get the exact same API that you had in Visual Studio 2010.
Microsoft only trying to reduce the terminology and popularize certain ways. Windows phone app is the same as Silverlight for windows phone. the only difference is that Silverlight project in visual studio 2010 targets at the developer choice windows phone 7.0 or Mango (Mango is numbered by the SDK as Windows Phone OS 7.1, while users call it Windows Phone 7.5) or 7.8 according to updates installed. But if you use the windows phone project in visual studio you will target either Windows phone Mango or 7.8 or 8. please note that optional updates may be needed to target some platforms as Windows phone 7.8. windows phone 7.8 is basically a windows phone 7 with some feature backported to it from windows phone 8 as multi size live tiles and some features not backported to it as arabic support.
Silverlight and XNA were completely separate ways to make apps in Windows Phone 7.0. No code silverlight code could be used in a XNA project, nor XNA code could be shared in silverlight project in WP7.0 . Programmers of Windows Phone 7.0 had to know the meaning of each and when to use before choosing. The learn paths of silverlight and xna were too separate that you could learn one and totally ignore the other; in fact most programmers learnt only one of the two. You had to choose your path between the two before implementing a big app, as there is no way back :i.e, no way passing code between the two.
However, starting of Windows Phone Mango, Microsoft introduced Silverlight/XNA. Silverlight/XNA is a new application model for Windows phone Mango. It allows XNA inside Silvelight App. Migrating an XNA game to Silverlight/XNA is not an easy task, but would be rewardable.
Silverlight have UI controls as Textblock and Drop list and have layouts as Grid and stackpanel; so it is easy to make an app in silvelight that look like a form, while XNA is geared toward games , as it is a state based programming . it is very hard to implement a drop list in XNA for most developers.
Silverlight app was renamed to windows phone app to popularize it as a starting point, without having to do a deep thinking in a choice.
Silverlight is a stripped down version of Windows presentation foundation, removing the ability to define your own controls.And Silverlight for windows phone is an even more stripped down version , removing all controls that do not fit on mobile , and removing most of cryptography libraries.
This is the same way microsoft renamed metro-style apps to be windows 8 app, and windows apps to windows forms apps; and then windows forms and WPF were renamed later to Windows desktop apps.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With