Windows® Phone 7 supports development of applications using both the Silverlight® and XNA® frameworks. You can also interact with XNA from a Silverlight application to perform tasks that are not supported in Silverlight if you choose it as the primary development framework for your application.
The following sections and the table that follows them indicate the basic differences between Silverlight and XNA.
The execution model for Silverlight is event-driven and applicationfocused. Interactive controls and components expose events that you can handle to perform processing based on user input, environmental effects, and more. XNA uses a gaming loop and is focused on the content displayed on the screen.
XNA is optimized for performance and GPU usage in order to support a fully immersive gaming experience. Unlike Silverlight, XNA supports three-dimensional (3-D) graphics. You cannot interop with the graphics mechanism from Silverlight.
XNA supports more advanced options for playing sounds, including multi-channel audio. You can only record sounds by using XNA. If you are developing using Silverlight, you can use interop with the XNA framework to record sounds using the built-in microphone on the device.
XNA uses the full screen all the time, and you must generate all the content for display within your code. There are no controls available. Silverlight provides a comprehensive range of controls, and it can interact with the built-in launchers and choosers within the Windows Phone 7 operating system to provide a wide range of capabilities for interactive applications.
Summary of the Basic Differences
For more information about Silverlight, see the Silverlight website (http://www.silverlight.net/). For more information about XNA, see the App Hub website (http://www.xna.com/).