The target audience as a whole is a community of hobby developers, but there are many things that professional developers can use for XNA (including the fact that this is one of the easiest ways to get a game on XBox LIVE, although in a category other than LIVE Arcade)
XNA is a managed library, which is essentially a wrapper such as Managed DirectX (which was the first managed library through DirectX). It is tied to DirectX 9.0c because it is cross-platform compatible with the XBox 360, which is obviously stuck in this version because it has static hardware that will never change (until, of course, a new console is released Xbox)
Microsoft currently sells XNA very heavily for the development of XBox, but they also allow you to create commercial PC games, although there are no simple automatic distribution and payment models such as XBox LIVE Arcade on the PC platform, as well.
XNA is a great learning tool to get started in the professional development of the game, as it allows you to access the entire “professional” game engine or toolbox, including Shaders, Networking, Audio hardware, Gamepad devices, etc. It is also a really good tool for a quick prototype of the game if you need to present an idea to someone for financing or just see how your ideas look on the screen.
In general, XNA will be a good place to start developing DirectX games, since most concepts are transferred directly from one to another. If you do not want to depend on DirectX 9.0c support, I suggest you take a look at SlimDX ( http://www.slimdx.org ), which is a similar concept for XNA, but matches both DirectX 9 and 10.
mikeschuld
source share