I was deciding between SFML 2.0 and SDL 1.2 or 2.0 but the platforms supported in SDL is much bigger, and I felt it outweighed the difference between the two.
Unless someone is actually planning on targeting AmigaOS, then what does it matter? A feature you aren't actually going to use isn't a feature you should care about.
Here's the breakdown:
SDL 1.2 claims: Linux, Windows, Windows CE, BeOS, MacOS, Mac OS X, FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, IRIX, and QNX
SDL 2.0 claims: Windows XP, Windows Vista, Windows 7, Mac OS X 10.4+, Linux 2.6+, iOS 3.1.3+, Android 2.3.3+
SFML claims: Windows, Linux, Mac OS X and soon Android & iOS.
Basically, SFML claims the exact same platform support that SDL 2.0 claims (Windows, Linux, Mac). SDL 1.2 claims more than either (Only IRIX, QNX, and BeOS). Whether they actually function smoothly on those platforms are another matter... but that's what their websites claim, anyways.
Also, since a lot of indie and commercial game companies are using SDL, it seemed to be a better API to learn.
Most of those groups probably chose SDL over SFML because SFML didn't exist at the time, not because they weighed the pros and cons between the two.
SFML is very recent (2007), SDL is very old (1998), and alot of the well-known open source games that use SDL were created before SFML existed (or before SFML sufficiently matured).
I'm not saying that newer is better, I'm just saying that older doesn't (in itself) mean better. If you prefer older libraries, Allegro (<1995) predates SDL by at least three years, and maybe more.
I'm not suggesting SFML over SDL. I'm suggesting you figure out what it is your current project needs, and then deciding which solution (SDL 1.2, SDL 2.0, SFML 1.x, SFML 2.0, Allegro, HGE, etc...) best fits those needs.
Your needs, as far as I understand, are:
- Stepping stone towards OpenGL
- Cross platform for the following platforms: ???
- Good documentation
- Decent tutorials
- Active community
- Stable code
Which APIs do and don't meet those requirements?