مكتبة وسائط متعددة بسيطة وسريعة
هذه مقالة غير مراجعة.(فبراير 2023) |
مكتبة الوسائط المتعددة البسيطة والسريعة ( SFML ) هي مكتبة لتطوير البرامج عبر الأنظمة الأساسية مصممة لتوفير واجهة برمجة تطبيقات بسيطة (API) لمكونات الوسائط المتعددة في أجهزة الكمبيوتر. تمت كتابته بلغة C ++ مع روابط متاحة لـ Ada وC وCrystal وD و Euphoria و Go وJava وJulia و. NET وNim وOCaml وPython وRuby وRust .[3] تم توفير منافذ الأجهزة المحمولة التجريبية لنظامي التشغيل Android وiOS مع إصدار SFML 2.2.[4]
Simple and Fast Multimedia Library
|
يتعامل SFML مع إنشاء النوافذ وإدخالها ، وإنشاء سياقات OpenGL وإدارتها. كما يوفر أيضًا وحدة رسومات لتسريع الأجهزة البسيطة لرسومات الكمبيوتر ثنائية الأبعاد والتي تتضمن عرض النص باستخدام FreeType ، وهي وحدة صوتية تستخدم OpenAL ووحدة شبكة لاتصالات بروتوكول التحكم في الإرسال الأساسي (TCP) وبروتوكول مخطط بيانات المستخدم (UDP).
SFML هو برنامج مجاني ومفتوح المصدر يتم توفيره بموجب شروط ترخيص zlib / png . وهي متوفرة على Linux وmacOS وWindows وFreeBSD .[5][6] تم إصدار الإصدار الأول v1.0 في 9 أغسطس 2007 ، وتم إصدار أحدث إصدار v2.5.1 في 15 أكتوبر 2018.
هيكلة البرمجيات
الوحدات
يتكون SFML من وحدات مختلفة:
- النظام - فئات سلسلة المتجهات وUnicode ، ومرافق التشعب المحمولة والمؤقت
- النافذة - إدارة النافذة وجهاز الإدخال بما في ذلك دعم أجهزة التحكم وإدارة سياق OpenGL
- الرسومات - تسريع الأجهزة للرسومات ثنائية الأبعاد بما في ذلك النقوش المتحركة والمضلعات وعرض النص
- الصوت - تشغيل وتسجيل الصوت المكاني المسرع بالأجهزة
- الشبكة - مآخذ شبكة TCP و UDP ، ومرافق تغليف البيانات ، وفئات HTTP وFTP
في حين أن وحدة الرسومات هي إحدى الميزات الرئيسية لـ SFML ، فإن المطورين المهتمين فقط بإنشاء بيئة للبرمجة مباشرة في OpenGL يمكنهم القيام بذلك باستخدام وحدة Window بمفردها بدون وحدة الرسومات. وبالمثل ، يمكن أيضًا استخدام الوحدات النمطية الأخرى بشكل مستقل عن بعضها البعض ، باستثناء وحدة النظام التي تستخدمها جميع الوحدات.
ارتباطات اللغة
تمت كتابة SFML بلغة C ++ وتوفر واجهة C ++ (كما أنها توفر واجهة C من خلال ربط CSFML الرسمي). توجد العديد من روابط اللغة التي تتيح استخدام SFML في لغات البرمجة الأخرى.[7]
يسرد هذا الجدول الارتباطات المدعومة لـ SFML اعتبارًا من 2017[تحديث] .
الوظائف الإضافية غير الرسمية
يوفر SFML الوظائف الأساسية التي يمكن بناء البرامج عالية المستوى عليها. توجد مكتبات إضافية توفر دعمًا إضافيًا لواجهات المستخدم الرسومية (GUI) ، [8][9] الإضاءة ثنائية الأبعاد ، [10] أنظمة الجسيمات والرسوم المتحركة ، [11] تشغيل الفيديو [12] والخرائط .[13]
الاستقبال والتبني
يتم استخدام SFML بشكل أساسي من قبل مطوري ألعاب بقصد الترفيه، ومطوري ألعاب الفيديو المستقلين في الشركات الصغيرة ، والشركات الناشئة التي لاتتكون من العديد من المطورين. نظرًا لأن SFML لا تتطلب كتابة كميات كبيرة من التعليمات البرمجية ، فقد تم اعتمادها أيضًا من قبل العديد من المشاركين في Ludum Dare .[14] مقارنةً بالمكتبات القديمة مثل Simple DirectMedia Layer (SDL) و Allegro ، فإن قاعدة مستخدمي SFML صغيرة نسبيًا ولكنها تنمو. اعتبارًا من 8 فبراير 2021[تحديث] ، تم تمييز مستودع برامج GitHub الخاص به بواسطة 6549 مستخدمًا.[15]
تم استخدام SFML في التدريس في الجامعات وفي المشاريع العلمية.[16][17][18][19][20][21]
مراجع
- ^ "License". مؤرشف من الأصل في 2023-03-17.
- ^ "GitHub - SFML/SFML: Simple and Fast Multimedia Library". غيت هاب. 14 ديسمبر 2021. مؤرشف من الأصل في 2023-02-20.
- ^ "Bindings (SFML / Download)". SFML. مؤرشف من الأصل في 2023-02-17. اطلع عليه بتاريخ 2014-11-13.
- ^ "Changelog (SFML / Development)". مؤرشف من الأصل في 2023-02-20. اطلع عليه بتاريخ 2014-12-18.
- ^ Gomila، Laurent. "SFML 2.1 (SFML / Download)". SFML. مؤرشف من الأصل في 2023-02-20. اطلع عليه بتاريخ 2014-08-09.
- ^ "SFML/Config.cmake at f24ca9a84012531cf886f72354c1f88341dd7ac7 · SFML/SFML". غيت هاب. مؤرشف من الأصل في 2023-02-17. اطلع عليه بتاريخ 2014-11-13.
- ^ "Bindings (SFML / Download)". SFML. مؤرشف من الأصل في 2023-02-17. اطلع عليه بتاريخ 2014-11-13."Bindings (SFML / Download)".
- ^ "SFGUI". SFGUI. مؤرشف من الأصل في 2020-02-17. اطلع عليه بتاريخ 2014-11-13.
- ^ "TGUI". TGUI. مؤرشف من الأصل في 2023-02-20. اطلع عليه بتاريخ 2014-11-13.
- ^ "hovatterz/light". غيت هاب. مؤرشف من الأصل في 2023-02-20. اطلع عليه بتاريخ 2014-11-13.
- ^ "Bromeon :: Thor". Jan Haller. مؤرشف من الأصل في 2022-12-06. اطلع عليه بتاريخ 2014-11-13.
- ^ "sfeMovie". sfeMovie. مؤرشف من الأصل في 2023-02-17. اطلع عليه بتاريخ 2014-11-13.
- ^ "Tiled SFML Map Loader | SourceForge.net". سورس فورج. مؤرشف من الأصل في 2023-02-17. اطلع عليه بتاريخ 2014-11-13.
- ^ "sfml | Ludum Dare". Ludum Dare. مؤرشف من الأصل في 2023-02-20. اطلع عليه بتاريخ 2014-11-13.
- ^ "SFML/SFML". غيت هاب. 10 مايو 2018. مؤرشف من الأصل في 2023-02-20. اطلع عليه بتاريخ 2018-05-10.
- ^ "SFML Setup". University of Mary Washington. مؤرشف من الأصل في 2018-03-25. اطلع عليه بتاريخ 2014-11-13.
- ^ "Rensselaer Center for Open Source Software". معهد رينسيلار للعلوم التطبيقية. مؤرشف من الأصل في 2014-11-13. اطلع عليه بتاريخ 2014-11-13.
- ^ "CSCI 261 - Programming Concepts". جامعة كولورادو للمناجم. مؤرشف من الأصل في 2016-05-18. اطلع عليه بتاريخ 2014-11-13.
- ^ "COMPSCI 464: Computer Graphics". Boise State University. مؤرشف من الأصل في 2021-06-19. اطلع عليه بتاريخ 2014-11-13.
- ^ "Engaging Computing Group | Comp4spr14 / PS5b". جامعة ماساتشوستس في لويل. مؤرشف من الأصل في 2023-02-17. اطلع عليه بتاريخ 2014-11-13.
- ^ "Tianyu Cheng's Homepage". جامعة تكساس في أوستن. مؤرشف من الأصل في 2016-03-04. اطلع عليه بتاريخ 2014-11-13.