مكتبة وسائط متعددة بسيطة وسريعة

مكتبة الوسائط المتعددة البسيطة والسريعة ( SFML ) هي مكتبة لتطوير البرامج عبر الأنظمة الأساسية مصممة لتوفير واجهة برمجة تطبيقات بسيطة (API) لمكونات الوسائط المتعددة في أجهزة الكمبيوتر. تمت كتابته بلغة C ++ مع روابط متاحة لـ Ada وC وCrystal وD و Euphoria و Go وJava وJulia و. NET وNim وOCaml وPython وRuby وRust .[7] تم توفير منافذ الأجهزة المحمولة التجريبية لنظامي التشغيل Android وiOS مع إصدار SFML 2.2.[8]

يتعامل SFML مع إنشاء النوافذ وإدخالها ، وإنشاء سياقات OpenGL وإدارتها. كما يوفر أيضًا وحدة رسومات لتسريع الأجهزة البسيطة لرسومات الكمبيوتر ثنائية الأبعاد والتي تتضمن عرض النص باستخدام FreeType ، وهي وحدة صوتية تستخدم OpenAL ووحدة شبكة لاتصالات بروتوكول التحكم في الإرسال الأساسي (TCP) وبروتوكول مخطط بيانات المستخدم (UDP).

SFML هو برنامج حر ومفتوح المصدر يتم توفيره بموجب شروط ترخيص zlib / png . وهي متوفرة على Linux وmacOS وWindows وFreeBSD .[9][10] تم إصدار الإصدار الأول v1.0 في 9 أغسطس 2007 ، وتم إصدار أحدث إصدار v2.5.1 في 15 أكتوبر 2018.

هيكلة البرمجيات

[عدل]

الوحدات

[عدل]

يتكون SFML من وحدات مختلفة:

في حين أن وحدة الرسومات هي إحدى الميزات الرئيسية لـ SFML ، فإن المطورين المهتمين فقط بإنشاء بيئة للبرمجة مباشرة في OpenGL يمكنهم القيام بذلك باستخدام وحدة Window بمفردها بدون وحدة الرسومات. وبالمثل ، يمكن أيضًا استخدام الوحدات النمطية الأخرى بشكل مستقل عن بعضها البعض ، باستثناء وحدة النظام التي تستخدمها جميع الوحدات.

ارتباطات اللغة

[عدل]

تمت كتابة SFML بلغة C ++ وتوفر واجهة C ++ (كما أنها توفر واجهة C من خلال ربط CSFML الرسمي). توجد العديد من روابط اللغة التي تتيح استخدام SFML في لغات البرمجة الأخرى.[11]

يسرد هذا الجدول الارتباطات المدعومة لـ SFML اعتبارًا من 2017 .

الوظائف الإضافية غير الرسمية

[عدل]

يوفر SFML الوظائف الأساسية التي يمكن بناء البرامج عالية المستوى عليها. توجد مكتبات إضافية توفر دعمًا إضافيًا لواجهات المستخدم الرسومية (GUI) ، [12][13] الإضاءة ثنائية الأبعاد ، [14] أنظمة الجسيمات والرسوم المتحركة ، [15] تشغيل الفيديو [16] والخرائط .[17]

الاستقبال والتبني

[عدل]

يتم استخدام SFML بشكل أساسي من قبل مطوري ألعاب بقصد الترفيه، ومطوري ألعاب الفيديو المستقلين في الشركات الصغيرة ، والشركات الناشئة التي لاتتكون من العديد من المطورين. نظرًا لأن SFML لا تتطلب كتابة كميات كبيرة من التعليمات البرمجية ، فقد تم اعتمادها أيضًا من قبل العديد من المشاركين في Ludum Dare .[18] مقارنةً بالمكتبات القديمة مثل Simple DirectMedia Layer (SDL) و Allegro ، فإن قاعدة مستخدمي SFML صغيرة نسبيًا ولكنها تنمو. اعتبارًا من 8 فبراير 2021 (2021-02-08) ، تم تمييز مستودع برامج GitHub الخاص به بواسطة 6549 مستخدمًا.[19]

تم استخدام SFML في التدريس في الجامعات وفي المشاريع العلمية.[20][21][22][23][24][25]

مراجع

[عدل]
  1. ^ وصلة مرجع: https://www.sfml-dev.org/download/sfml/2.6.0/.
  2. ^ وصلة مرجع: https://api.github.com/repos/SFML/SFML. الوصول: 30 يوليو 2018.
  3. ^ "The sfml Open Source Project on Open Hub: Languages Page". أهلوه. اطلع عليه بتاريخ 2018-07-18.
  4. ^ ا ب "Release 2.6.1". 4 نوفمبر 2023. اطلع عليه بتاريخ 2023-11-19.
  5. ^ الوصول: 7 أكتوبر 2016.
  6. ^ "The sfml Open Source Project on Open Hub: Licenses Page". أهلوه. اطلع عليه بتاريخ 2018-07-19.
  7. ^ "Bindings (SFML / Download)". SFML. مؤرشف من الأصل في 2023-02-17. اطلع عليه بتاريخ 2014-11-13.
  8. ^ "Changelog (SFML / Development)". مؤرشف من الأصل في 2023-02-20. اطلع عليه بتاريخ 2014-12-18.
  9. ^ Gomila، Laurent. "SFML 2.1 (SFML / Download)". SFML. مؤرشف من الأصل في 2023-02-20. اطلع عليه بتاريخ 2014-08-09.
  10. ^ "SFML/Config.cmake at f24ca9a84012531cf886f72354c1f88341dd7ac7 · SFML/SFML". غيت هاب. مؤرشف من الأصل في 2023-02-17. اطلع عليه بتاريخ 2014-11-13.
  11. ^ "Bindings (SFML / Download)". SFML. مؤرشف من الأصل في 2023-02-17. اطلع عليه بتاريخ 2014-11-13."Bindings (SFML / Download)".
  12. ^ "SFGUI". SFGUI. مؤرشف من الأصل في 2020-02-17. اطلع عليه بتاريخ 2014-11-13.
  13. ^ "TGUI". TGUI. مؤرشف من الأصل في 2023-02-20. اطلع عليه بتاريخ 2014-11-13.
  14. ^ "hovatterz/light". غيت هاب. مؤرشف من الأصل في 2023-02-20. اطلع عليه بتاريخ 2014-11-13.
  15. ^ "Bromeon :: Thor". Jan Haller. مؤرشف من الأصل في 2022-12-06. اطلع عليه بتاريخ 2014-11-13.
  16. ^ "sfeMovie". sfeMovie. مؤرشف من الأصل في 2023-02-17. اطلع عليه بتاريخ 2014-11-13.
  17. ^ "Tiled SFML Map Loader | SourceForge.net". سورس فورج. مؤرشف من الأصل في 2023-02-17. اطلع عليه بتاريخ 2014-11-13.
  18. ^ "sfml | Ludum Dare". Ludum Dare. مؤرشف من الأصل في 2023-02-20. اطلع عليه بتاريخ 2014-11-13.
  19. ^ "SFML/SFML". غيت هاب. 10 مايو 2018. مؤرشف من الأصل في 2023-02-20. اطلع عليه بتاريخ 2018-05-10.
  20. ^ "SFML Setup". University of Mary Washington. مؤرشف من الأصل في 2018-03-25. اطلع عليه بتاريخ 2014-11-13.
  21. ^ "Rensselaer Center for Open Source Software". معهد رينسيلار للعلوم التطبيقية. مؤرشف من الأصل في 2014-11-13. اطلع عليه بتاريخ 2014-11-13.
  22. ^ "CSCI 261 - Programming Concepts". جامعة كولورادو للمناجم. مؤرشف من الأصل في 2016-05-18. اطلع عليه بتاريخ 2014-11-13.
  23. ^ "COMPSCI 464: Computer Graphics". جامعة بويسي الولائية  [لغات أخرى]‏. مؤرشف من الأصل في 2021-06-19. اطلع عليه بتاريخ 2014-11-13.{{استشهاد ويب}}: صيانة الاستشهاد: علامات ترقيم زائدة (link)
  24. ^ "Engaging Computing Group | Comp4spr14 / PS5b". جامعة ماساتشوستس في لويل. مؤرشف من الأصل في 2023-02-17. اطلع عليه بتاريخ 2014-11-13.
  25. ^ "Tianyu Cheng's Homepage". جامعة تكساس في أوستن. مؤرشف من الأصل في 2016-03-04. اطلع عليه بتاريخ 2014-11-13.