SFML

De Wikipedia, la enciclopedia libre
Simple and Fast Multimedia Library
Información general
Tipo de programa interfaz de programación de aplicaciones
Autor Laurent Gomila y otros
Desarrollador SFML Team
Modelo de desarrollo Repositorio de software
Lanzamiento inicial 9 de agosto de 2007
Licencia Licencia Zlib
Estado actual En desarrollo
Información técnica
Programado en C++
Versiones
Última versión estable 2.6.0 ( 20 de junio de 2023)
Enlaces

Simple and Fast Multimedia Library (SFML) es una librería de desarrollo de software multiplataforma diseñada para proveer una simple interfaz de programación para diversos elementos multimedia en computadoras. Está escrita en C++, con versiones homólogas disponibles en Ada, C, Crystal, D, Euphoria, Go, Java, Julia, .NET, Nim, OCalm, Python, Ruby y Rust.[3]​ Se han desarrollado versiones experimentales para Android y iOS con el lanzamiento de SFML 2.2.[4]

SFML maneja la creación e interacción con ventanas y contextos de OpenGL. También provee un módulo de gráficos que proporciona aceleración por hardware básica de gráficos en 2D, incluyendo renderizado de texto con FreeType; así como un módulo de audio que utiliza OpenAL y un módulo de red para comunicación básica con protocolos TCP y UDP.

SFML es software libre y de código abierto, provisto bajo los términos de la licencia zlib/png. Está disponible para Linux, MacOS, Windows y FreeBSD.[5][6]​ La primera versión v1.0 fue lanzada el 9 de agosto de 2007 y la última versión v2.6.0 fue lanzada el 20 de junio de 2023.[7]

Arquitectura del software[editar]

Módulos[editar]

SFML está compuesta por varios módulos:

Si bien el módulo de gráficos es una de las principales características de SFML, se puede programar directamente en un entorno OpenGL utilizando el módulo Window por sí solo sin la necesidad del módulo de gráficos. Asimismo, los demás módulos pueden ser utilizados de forma independiente, con la excepción del módulo System, del cual dependen todos los módulos.[8]

Versiones homólogas[editar]

SFML está escrito en C++ y provee una interfaz a C++ (así como una interfaz oficial a C a través de CSFML). Existen muchas otras interfaces que permiten el uso de SFML en otros lenguajes de programación.[4]

En la tabla a continuación se muestran las interfaces disponibles para SFML en 2023.

Lenguaje Nombre Versión de SFML
Ada ASFML 2.4 / 2.5
Beef BeefSFML 2.5
C CSFML ¹ 2.5
.Net (C#, VB.Net...) SFML.Net ¹ 2.5
Crystal CrSFML 2.3 - 2.6
D bindbc-sfml 2.0 - 2.5
D DSFML 2.1
Euphoria EuSFML2 2.4
FPC csfml-fpc 2.5
Go go-sfml 2.5.1
Haskell SFML-haskell 2.3
Java JSFML 2.2
Julia SFML.jl 2.2
mruby mruby-sfml 2.4
Nim nim-csfml 2.3
Node.js sfml.js 2.5.1
OCaml ocaml-sfml 2.5.1
Pascal PasSFML 2.4
Plutonium pltSFML 2.5
Nelua csfml-nelua 2.5.1
Python pySFML 2.3.2
Ruby rbSFML 2.3.2
Rust RSFML 2.5.1
Zig zig-sfml-wrapper 2.5.1

¹ interfaces oficiales

Extensiones no oficiales[editar]

SFML proporciona funciones básicas por las cuales software de más alto nivel puede ser desarrollado. Existen librerías no oficiales que proveen soporte para interfaces gráficas de usuario,[9][10]iluminación 2D,[11]sistemas de partículas y animación,[12]​ reproducción de video[13]​ y teselaje.[14]

Recepción y adopción[editar]

SFML es utilizada principalmente por desarrolladores de videojuegos aficionados, pequeños desarrolladores de videojuegos independientes y empresas emergentes que consistan de pocos desarrolladores. Como SFML no requiere escribir grandes cantidades de código, ha sido utilizada por muchos participantes de la Ludum Dare.[15]​ La comunidad de SFMl es relativamente pequeña comparada con librerías más antiguas como Simple DirectMedia Layer (SDL) y Allegro, aunque mantiene un crecimiento sostenido. Al día 12 de agosto de 2023, su repositorio de GitHub ha sido marcado con una estrella por más de 8900 usuarios.[16]

SFML ha sido utilizada como recurso educativo en universidades y en proyectos científicos.[17][18][19][20][21]

Véase también[editar]

Referencias[editar]

  1. «License». 
  2. https://github.com/SFML/SFML/blob/master/license.txt
  3. «Bindings (SFML / Download)». www.sfml-dev.org. Consultado el 12 de agosto de 2023. 
  4. a b «Changelog (SFML / Development)». www.sfml-dev.org. Consultado el 12 de agosto de 2023. 
  5. «SFML 2.1 (SFML / Download)». www.sfml-dev.org. Consultado el 12 de agosto de 2023. 
  6. «SFML/cmake/Config.cmake at f24ca9a84012531cf886f72354c1f88341dd7ac7 · SFML/SFML». GitHub (en inglés). Consultado el 12 de agosto de 2023. 
  7. «Release SFML 2.6.0 · SFML/SFML». GitHub (en inglés). Consultado el 12 de agosto de 2023. 
  8. «Frequently Asked Questions (SFML / Learn)». www.sfml-dev.org. Consultado el 12 de agosto de 2023. 
  9. «SFGUI». Archivado desde el original el 17 de febrero de 2020. Consultado el 13 de noviembre de 2014. 
  10. «TGUI: Texus' Graphical User Interface». tgui.eu. Consultado el 12 de agosto de 2023. 
  11. Hovatter, Zack (21 de diciembre de 2022), Let There Be Light, consultado el 12 de agosto de 2023 .
  12. «Bromeon :: Thor». bromeon.ch. Consultado el 12 de agosto de 2023. 
  13. «sfeMovie». sfemovie.yalir.org. Consultado el 12 de agosto de 2023. 
  14. «Tiled SFML Map Loader». SourceForge (en inglés). 13 de junio de 2016. Consultado el 12 de agosto de 2023. 
  15. «sfml | Ludum Dare». web.archive.org. 3 de noviembre de 2017. Archivado desde el original el 3 de noviembre de 2017. Consultado el 12 de agosto de 2023. 
  16. SFML — Simple and Fast Multimedia Library, Simple and Fast Multimedia Library, 12 de agosto de 2023, consultado el 12 de agosto de 2023 .
  17. «SFML Setup». web.archive.org. 25 de marzo de 2018. Archivado desde el original el 25 de marzo de 2018. Consultado el 12 de agosto de 2023. 
  18. «CSCI 261/HW05». web.archive.org. 18 de mayo de 2016. Archivado desde el original el 18 de mayo de 2016. Consultado el 12 de agosto de 2023. 
  19. «COMPSCI 464: Computer Graphics». web.archive.org. 13 de abril de 2022. Archivado desde el original el 13 de noviembre de 2014. Consultado el 12 de agosto de 2023. 
  20. «Engaging Computing Group | Comp4spr14 / PS5b». www.cs.uml.edu. Consultado el 12 de agosto de 2023. 
  21. «Tianyu Cheng's Homepage». web.archive.org. 11 de abril de 2015. Archivado desde el original el 11 de abril de 2015. Consultado el 12 de agosto de 2023. 

Enlaces externos[editar]