What is SDL and SDL2?
SDL is the abbreviation of Simple DirectMedia Layer.
Originally when refering to SDL, SDL 1.2 was meant. It is the predecessor of modern SDL 2.0 (sometimes SDL2). Nowadays, when refering to SDL, it depends on context if you really mean the old SDL 1.2 or the modern SDL 2.0.
The obsolete SDL 1.2 and the modern SDL 2.0 are a set of units which provide a free, easy and platform-independent access to features needed for developing high performance games and applications. This includes easy access to graphic, sound and input handling (keyboard, mouse, joystick) for Free Pascal and other Pascal dialects.
What is SFML?
SFML is perfect for writing 2d games of any size or complexity at all. If you want to learn game coding and your favourite device is your PC, Mac or Linux; SFML is the best choice providing the above limitations are not an issue for you. If you dream of publishing 2d games for any of the desktop platforms, perhaps you want to get your cool idea onto Steam? If this describes you then SFML is for you.
SFML stands for simple fast media library and for once the acronym is entirely accurate. Let’s deal with the simple bit first.
What is the difference between SDL and SFML?
|Point of comparison||SDL||SFML|
|Difficulty||not beginner friendly||More beginner friendly|
|Language||Uses C so it can be easily used in other languages that make bindings for it||C++ objects which manage their lifetimes so you don’t need to worry about memory management that much|
|Images||Only has BMP image loading built in, you need to install another SDL library (SDL_image) or use stb_image (which isn’t beginner friendly).||Support bmp, dds, jpg, png, tga, psd|
|Audio||Built in audio is not user friendly and many people use another SDL library (SDL_mixer) to handle it for them.||Has everything you need to make a simple 2D game. I mean everything, 2D rendering, audio, it has it all.|
|Popularity||Large community And used widely in the industry, has big organisations behind it like Valve||Not Popular and Only used by Small industry and organisations like Blendo Games Which im sure You never heard of|
If you are good with C and you can deal With other libraries i highly Recommend Using SDL
I recommend SFML if you don’t want to deal with other libraries and just want to get straight into making something.