Matthew Matthew - 29 days ago 22
C# Question

Is MonoGame just XNA?

So I want to learn C# and XNA but after some research is came to my attention that XNA is apparently dead, and there is an alternate library called MonoGame which uses XNA framework.

So, can I use XNA lessons/ tutorials for MonoGame or are the major differences in the way programming is done depending on what you use making XNA tutorials completely useless for MonoGame?

Answer

Almost.

MonoGame doesn't use the XNA framework, it is a re-implementation of the XNA framework. The difference is that all of the code inside MonoGame has been re-written to behave identically to the XNA framework.

You're probably wondering why someone would want to re-implement something that already exists. Well, you're correct in saying that XNA is "dead" so to speak. You can in fact still use the XNA framework if you want but it's no longer supported by Microsoft on Windows 8 or above.

However, that's not really the primary reason MonoGame came about. The real reason is that XNA only works on Microsoft platforms (e.g. Windows, XBox, Windows Phone). MonoGame's purpose is to allow existing XNA code to be easily ported to other plaforms (e.g. iOS, Android, Mac OS X, Linux, Windows 8, Windows Phone 8, PlayStation Mobile and the OUYA console)

Yes, you can use XNA lessons / tutorials for MonoGame most of the time. MonoGame's code and behaviour is intended to work exactly like the XNA framework. I say intended, because it's not perfect but it does work very well and there are plenty of games already using MonoGame to prove it.