توسعه رابط گرافیکی در پایتون (GUI) نقش اساسی در بهبود تعامل و تجربه کاربر ایفا میکنند. پایتون، که به سادگی و انعطافپذیریاش معروف است، به گزینهای مناسب برای ساخت برنامههای GUI تبدیل شده است. با ورود پایتون ۳ توسعهدهندگان به ابزارها و کتابخانههای متعددی برای ایجاد رابط گرافیکی در پایتون، دست یافتهاند. در این مقاله از سری مقاله های مجله پی استور، قابلیتها، ابزارها و کتابخانههای محبوب پایتون را مورد بررسی قرار خواهیم داد.
مقدمه
رابط گرافیکی در پایتون (GUI) ابزاری است که به برنامهنویسان اجازه میدهد تا برنامههایی با واسط کاربری بصری ایجاد کنند که کاربر بتواند از طریق آن با نرمافزار تعامل کند. این رابطها شامل عناصری مانند پنجرهها «Windows»، دکمهها «Buttons»، فیلدهای متنی «Text fields»، منوها «Menus» و برچسبها هستند که تجربه کاربری را بهبود میبخشند. در پایتون، چندین کتابخانه مانند Tkinter، PyQt، Kivy و wxPython و غیره برای ساخت رابط گرافیکی در پایتون وجود دارند که هرکدام ویژگیها و قابلیتهای خاص خود را دارند و بسته به نوع پروژه و نیازهای خاص، انتخاب مناسبی برای پیادهسازی رابط کاربری خواهند بود.
در ادامه، لیستی از کتابخانهها و بستههای GUI پایتون را به همراه ویژگیهای کلیدی، مزایا و معایب بررسی می کنیم:
۱- کتابخانه Tkinter در پایتون
Tkinter یک ابزارک GUI استاندارد و متنباز برای پایتون است. این ابزارک یک لایه رابط برای کتابخانه گرافیکی Tcl/Tk محسوب میشود. محبوبیت Tkinter به دلیل سادگی آن و داشتن یک جامعه قدیمی و فعال است. همچنین این کتابخانه بهطور پیشفرض در اکثر نسخههای باینری پایتون گنجانده شده است. Tkinter بهطور کامل با پلتفرمهای مک، ویندوز و لینوکس سازگار است. این ابزارک برای شروع یادگیری مناسب است، زیرا معمولاً برای برنامههای GUI کوچکتر ترجیح داده میشود.
چرا و چه زمانی از Tkinter استفاده کنیم؟
Tkinter زمانی بهترین انتخاب است که بخواهیم برنامههایی با دکمهها، جعبههای متنی، منوها و دیگر عناصر تعاملی بسازیم. این ابزار معمولا برای ساخت برنامههای دسکتاپ، از ابزارهای ساده گرفته تا نرمافزارهای پیچیدهتر، استفاده میشود. بهویژه در پروژههایی که وجود یک رابط کاربری ساده و کاربرپسند ضروری است، کاربرد زیادی دارد. چه در حال ساخت یک ماشینحساب، یک بازی، یا یک ابزار مصورسازی داده باشید، Tkinter راهی ساده و مؤثر برای طراحی و پیادهسازی رابطهای گرافیکی در پایتون ارائه میدهد.
ویژگی های Tkinter
- سبکوزن: Tkinter در کتابخانه استاندارد پایتون گنجانده شده است، بنابراین سبک و بهراحتی در دسترس است.
- یادگیری آسان: دارای یک نحو ساده است که آن را برای مبتدیان مناسب میکند تا بهسرعت اصول را یاد بگیرند و ساخت برنامههای GUI را آغاز کنند.
- نمونهسازی سریع: به دلیل سادگی و سهولت استفاده، برای توسعه سریع برنامهها ایدهآل است.
- مناسب برای GUIهای پایه: برای ایجاد رابطهای گرافیکی ساده در پروژههای کوچک تا متوسط بسیار مناسب است.
معایب Tkinter | مزایای Tkinter |
ردپای حافظه بزرگتر | مستندات عالی |
ویجت های داخلی محدود | سبک و همراه با پایتون |
ظاهر کمتر مدرن | سادگی در توسعه پایه رابط کاربری گرافیکی |
۲- کتابخانه Kivy در پایتون
Kivy یک فریمورک مبتنی بر OpenGL است که در بین توسعهدهندگان برای ساخت برنامههای GUI بسیار محبوب است. Kivy یک کتابخانه متنباز پایتون است که میتوان از آن برای توسعه رابطهای کاربری طبیعی (NUI) نیز استفاده کرد. با Kivy میتوان برنامههای موبایل و دیگر نرمافزارهای چندلمسی را توسعه داد. برنامههایی که با Kivy ساخته میشوند، روی اندروید، iOS، لینوکس و ویندوز قابل اجرا هستند. توسعه برنامه با استفاده از Kivy تجربهای جذاب است.
چرا و چه زمانی از Kivy استفاده کنیم؟
Kivy زمانی مناسب است که بخواهید برنامههای چندپلتفرمی بسازید که روی دستگاههای مختلف مانند گوشیهای هوشمند، تبلتها، دسکتاپها و حتی Raspberry Pi اجرا شوند. مزیت اصلی Kivy در ارائه تجربه کاربری یکسان در پلتفرمهای مختلف است. این ابزار از ویژگیهای نوآورانهای مانند حرکات چندلمسی پشتیبانی میکند. چه در حال ساخت یک بازی موبایل، یک ابزار کاربردی یا یک برنامه آموزشی باشید، Kivy یک راهحل همهکاره برای توسعه رابطهای کاربری مدرن و واکنشگرا ارائه میدهد.
ویژگی های Kivy
- چندپلتفرمی: Kivy امکان ساخت برنامههایی را فراهم میکند که روی پلتفرمهای مختلف مانند ویندوز، macOS، لینوکس، iOS و اندروید اجرا میشوند.
- پشتیبانی از چندلمسی: دارای پشتیبانی داخلی برای رابطهای چندلمسی است که آن را برای دستگاههای دارای صفحهنمایش لمسی مناسب میسازد.
- متنباز و رایگان: Kivy متنباز و رایگان است که آن را برای توسعهدهندگان در تمامی سطوح در دسترس قرار میدهد.
- انعطافپذیر: مجموعه گستردهای از ابزارکها و ابزارها را برای ایجاد رابطهای کاربری تعاملی و قابل تنظیم ارائه میدهد.
معایب Kivy | مزایای Kivy |
فقدان ظاهر و احساس بومی | یادگیری آسان و مناسب برای برنامه های کوچک |
منحنی یادگیری تندتر برای برنامه های پیچیده | کراس پلتفرم (پشتیبانی از Android و iOS) |
عملکرد ممکن است در برنامه های پیچیده آسیب ببیند. | منبع باز و دارای مجوز MIT |
۳- کتابخانه Streamlit در پایتون
Streamlit ابزاری است که به افراد کمک میکند تا بهراحتی وبسایتهای تعاملی بسازند. این ابزار مانند مجموعهای ویژه از ابزارها برای برنامهنویسانی است که از پایتون استفاده میکنند. با استفاده از Streamlit، برنامهنویسان میتوانند برنامههای دادهای خود را به اپلیکیشنهایی تبدیل کنند که دیگران نیز بتوانند از آنها استفاده کنند. این ابزار برای نمایش دادهها و حتی ساخت برنامههای یادگیری ماشین بسیار مناسب است. Streamlit به دلیل سادگی و سرعت، برای دانشمندان و توسعهدهندگان انتخاب خوبی است.
چرا و چه زمانی از Streamlit استفاده کنیم؟
Streamlit زمانی مفید است که بخواهیم برنامهها یا داشبوردهای مبتنی بر داده بسازیم که به کاربران امکان دهد دادهها را بهطور آنی مشاهده و تجزیه و تحلیل کنند. Streamlit فرآیند ساخت اپلیکیشنهای وب را ساده کرده و این امکان را فراهم میآورد که مستقیماً از کد پایتون، وباپلیکیشن ایجاد کنیم. این ابزار برای تحلیلگران داده و توسعهدهندگانی که میخواهند مدلهای یادگیری ماشین یا مصورسازیهای داده را با دیگران به اشتراک بگذارند، ایدهآل است. با استفاده از Streamlit میتوان بهسرعت روی ایدهها کار کرد و آنها را بهعنوان اپلیکیشنهای وب بدون نیاز به برخورد با چارچوبهای پیچیده توسعه وب، منتشر کرد.
ویژگی های Streamlit
- رابط ساده: ایجاد اپلیکیشنهای وب با پایتون بهراحتی، بدون نیاز به HTML یا JavaScript.
- بهروزرسانی آنی: تغییرات کد بهطور فوری در اپلیکیشن نمایش داده میشود بدون نیاز به بارگذاری مجدد.
- مولفههای مختلف: مجموعهای از عناصر مانند اسلایدرها و نمودارها برای شخصیسازی اپلیکیشن.
- اشتراکگذاری آسان: بهراحتی میتوان اپلیکیشنها را با ارسال لینک به اشتراک گذاشت، بدون نیاز به فرایند پیچیده استقرار.
معایب Streamlit | مزایای Streamlit |
گزینه های سفارشی سازی محدود | رابط کاربری ساده و شهودی. |
چالش های مقیاس پذیری برای استقرارهای بزرگ | توسعه سریع با تکرار بلادرنگ. |
عدم وجود اجزای UI پیشرفته | حمایت فعال جامعه برای کمک و منابع. |
۴- کتابخانه PyQt در پایتون
کتابخانه toolkit PyQt یک لایه رابط برای فریمورک QT است. PyQt یکی از محبوبترین کتابخانههای پایتون برای ایجاد رابطهای گرافیکی است که از طریق ++C فریمورک QT را پیادهسازی میکند. PyQt برای ساخت برنامههای GUI پیچیده و گسترده مناسب است، زیرا توسعه رابط کاربری زمان زیادی نمیبرد. میتوان پنجرهها را بهسادگی با استفاده از QT Designer طراحی کرده و سپس آن را به کد (پایتون) تبدیل کرد. پس از آن، منطق برنامه را میتوان به هر ویجت مرتبط کرد. با این حال، در مرحله ابتدایی یادگیری PyQt، بهتر است که کد را بهصورت دستی نوشت تا فرآیند یادگیری بهتری داشته باشید.
چرا و چه زمانی از PyQt استفاده کنیم؟
PyQt زمانی مفید است که بخواهید برنامههای دسکتاپ قوی و با ویژگیهای زیاد بسازید که بهطور یکپارچه بر روی سیستمعاملهای مختلف مانند ویندوز، macOS و لینوکس اجرا شوند. PyQt پشتیبانی جامعی برای ساخت GUIهای پیچیده، از جمله ویجتها، چیدمانها و مدیریت رویدادها فراهم میکند. این کتابخانه برای ساخت برنامههای مختلف، از نرمافزارهای ساده تا پیچیده با ویژگیهای پیشرفته، مناسب است. چه در حال ساخت یک ویرایشگر متن یا یک پخشکننده موسیقی باشید، PyQt انعطافپذیری و قدرت لازم برای ساخت برنامههای دسکتاپ حرفهای را بهراحتی فراهم میکند.
ویژگی های PyQt
- بالغ و پایدار: PyQt5 مدتهاست که در دسترس است و بهطور گسترده استفاده میشود، که این امر باعث ثبات و قابلیت اطمینان میشود.
- مستندات جامع: این کتابخانه دارای مستندات کامل و جامعه بزرگی است که پیدا کردن کمک و منابع را آسان میکند.
- پشتیبانی از طراحی مدرن: امکان ایجاد رابطهای کاربری مدرن و جذاب با ویژگیهایی مانند استایلدهی CSS و انیمیشنها را فراهم میکند.
معایب PyQT | مزایای PyQT |
منحنی یادگیری تندتر | جعبه ابزار رابط کاربری گرافیکی قوی و غنی |
محدودیت های مجوز (GPL) | پذیرش گسترده در صنعت |
۵- کتابخانه PyGUI در پایتون
PyGUI یک کتابخانه پایتون برای ایجاد رابطهای گرافیکی کاربر (GUI) است که سادگی و انعطافپذیری را ارائه میدهد. این کتابخانه رابط کاربری سادهای برای طراحی و سفارشیسازی عناصر GUI فراهم میکند که آن را هم برای مبتدیان و هم برای توسعهدهندگان باتجربه مناسب میسازد. PyGUI امکان توسعه سریع برنامههای چندپلتفرمی را با پشتیبانی از سیستمعاملها و ویجتهای مختلف فراهم میکند.
چرا و چه زمانی از PyGUI استفاده کنیم؟
ساخت یک رابط کاربری کاربرپسند که بهخوبی روی سیستمهای مختلف کار کند میتواند چالشبرانگیز باشد. اما این کار نباید دشوار باشد. با استفاده از پایتون و ماژول PyGUI، میتوانید رابطهای کاربری جذاب و شهودی طراحی کنید که هم شما و هم کاربران شما از استفاده آن لذت خواهید برد. PyGUI ممکن است بهترین انتخاب برای برنامههای پیچیدهای که به ویژگیهای خاص پلتفرم نیاز دارند نباشد. بهطور کلی، PyGUI برای مبتدیان یا برای نمونهسازی سریع GUIها در پایتون ایدهآل است.
ویژگی های PyGUI
- نحو ساده: PyGUI نحو سادهای ارائه میدهد که ایجاد برنامههای GUI را سریع و آسان میکند.
- سبکوزن: این کتابخانه برای پروژههای ساده و نمونهسازی سریع طراحی شده است.
- سازگاری چندپلتفرمی: برنامههای PyGUI میتوانند روی سیستمعاملهای مختلف از جمله ویندوز، macOS و لینوکس استقرار یابند.
- عملکرد پایهای: برای برنامههای GUI ساده که به ویژگیها یا طراحیهای پیچیده نیاز ندارند، بسیار مناسب است.
معایب PyGUI | مزایای PyGUI |
اسناد ممکن است کم باشد | مجموعه ای غنی از ویجت ها و ابزار |
امکان محدود در مقایسه با سایرین | سبک و آسان برای یادگیری |
حمایت جامعه کمتر | مناسب برای برنامه های ساده رابط کاربری |
۶- کتابخانه wxPython در پایتون
wxPython یک کتابخانه پایتون است که امکان ایجاد برنامههای دسکتاپ چندپلتفرمی با رابطهای گرافیکی کاربر (GUI) را فراهم میکند. این کتابخانه مجموعهای از ویجتها و ابزارهای قابل سفارشیسازی برای ساخت برنامههای تعاملی ارائه میدهد. با نحو ساده و مستندات گسترده، wxPython برای مبتدیان و توسعهدهندگان باتجربه مناسب است. این کتابخانه از پلتفرمهای مختلف مانند ویندوز، macOS و لینوکس پشتیبانی میکند و برای توسعه برنامهها بسیار مناسب است.
چرا و چه زمانی از wxPython استفاده کنیم؟
wxPython زمانی مفید است که بخواهید برنامههای دسکتاپ چندپلتفرمی با مجموعهای غنی از کامپوننتهای GUI و ویژگیهای پیشرفته بسازید. wxPython مجموعه وسیعی از ویجتها از جمله دکمهها، کنترلهای متنی، جداول و غیره ارائه میدهد که آن را برای ساخت برنامههای پیچیده و حرفهای مناسب میسازد. wxPython بهویژه زمانی مفید است که به سطح بالایی از سفارشیسازی و انعطافپذیری در رابط کاربری خود نیاز داشته باشید، چرا که wxPython امکان استایلدهی و تمگذاری گستردهای را فراهم میکند.
ویژگی های wxPython
- نحو ساده: wxPython نحو سادهای دارد که ایجاد برنامههای GUI را سریع و آسان میکند.
- سبکوزن: این کتابخانه برای پروژههای ساده و نمونهسازی سریع طراحی شده است.
- سازگاری چندپلتفرمی: برنامههای wxPython میتوانند روی سیستمعاملهای مختلف از جمله ویندوز، macOS و لینوکس استقرار یابند.
- ویژگیهای پیشرفته: wxPython دارای مجموعهای از ویجتهای پیچیده و امکان سفارشیسازی گسترده برای ساخت رابطهای کاربری حرفهای است.
معایب wxPython | مزایای wxPython |
پایگاه کاربر کوچیک تر در مقایسه با دیگران | جعبه ابزار GUI بالغ و پایدار |
به طور فعال نگهداری نمی شود | API آشنا برای کسانی که رابط کاربری گرافیکی ویندوز دارند |
پایگاه کاربر کوچک تر در مقایسه با دیگران | نحو و طراحی پایتونیک |
۷- کتابخانه PySimpleGUI پایتون
PySimpleGUI رویکرد سادهای برای ساخت GUIها دنبال میکند که آن را برای توسعهدهندگان با هر سطح مهارتی قابل دسترس میسازد. این کتابخانه مجموعهای از اجزای از پیش ساخته شده یا همان “ویجتها” را ارائه میدهد که بهراحتی میتوانید آنها را در رابط کاربری خود استفاده کنید. برخی از ویجتهای موجود شامل دکمهها، فیلدهای ورودی، اسلایدرها، چکباکسها و غیره هستند.
چرا و چه زمانی از PySimpleGUI استفاده کنیم؟
PySimpleGUI زمانی مفید است که بخواهید بهسرعت برنامههای GUI را بدون درگیر شدن با پیچیدگیهای فریمورکهای GUI سنتی بسازید. PySimpleGUI یک رابط سطح بالا ارائه میدهد که فرآیند ساخت GUI را ساده میکند. این کتابخانه مجموعه وسیعی از ویجتهای از پیش ساخته شده و گزینههای چیدمان را فراهم میکند. PySimpleGUI برای ایجاد برنامههای کوچک یا ابزارهایی که سادگی و سهولت استفاده مهمتر از ویژگیها یا گزینههای سفارشیسازی پیشرفته هستند، مفید است.
ویژگی های PySimpleGUI
- نحو سادهشده: PySimpleGUI نحوی آسان برای درک ارائه میدهد که به توسعهدهندگان این امکان را میدهد تا با حداقل کد، GUI بسازند.
- توسعه سریع: امکان توسعه سریع برنامههای GUI را فراهم میآورد که آن را برای نمونهسازی و پروژههای کوچک مناسب میکند.
- پشتیبانی گسترده از جامعه: PySimpleGUI دارای جامعهای فعال و مستندات جامع است که کمک و منابع زیادی برای توسعهدهندگان فراهم میکند.
- چیدمانهای قابل سفارشیسازی: امکان سفارشیسازی چیدمانها و طراحیها برای ایجاد رابطهای کاربری جذاب و بصری وجود دارد.
معایب PySimpleGUI | مزایای PySimpleGUI |
سازگاری کمتر بین پلتفرمی | ادغام آسان با پایتون موجود |
گزینه های سفارشی سازی محدود | یادگیری و استفاده بسیار آسان |
برای کاربردهای پیچیده مناسب نیست | نمونه سازی سریع |
۸- کتابخانه Libavg در پایتون
Libavg یک پلتفرم توسعه سطح بالا برای ساخت برنامههای رسانهای با استفاده از پایتون است. این کتابخانه ابزارهایی برای ایجاد تجربیات تعاملی چندرسانهای مانند انیمیشنها، ارائهها و رابطهای مبتنی بر لمس ارائه میدهد. فریمورک Libavg ادغام انواع مختلف رسانهها را ساده میکند و به توسعهدهندگان این امکان را میدهد که به جای انجام وظایف کدنویسی سطح پایین، روی محتوای خلاقانه تمرکز کنند.
چرا و چه زمانی از Libavg استفاده کنیم؟
Libavg برای ساخت ارائههای تعاملی، نرمافزارهای آموزشی، نصبهای چندرسانهای و موارد دیگر مفید است. این کتابخانه از طیف وسیعی از فرمتهای چندرسانهای پشتیبانی میکند و امکان ادغام صدا، ویدئو و گرافیک را فراهم میآورد. Libavg زمانی بهویژه مفید است که نیاز به کنترل دقیق بر روی عناصر چندرسانهای داشته باشید و بخواهید تجربیات کاربری غوطهور (immersive) ایجاد کنید. بهطور کلی، Libavg انتخاب عالی برای توسعهدهندگانی است که به دنبال ساخت برنامههای پیچیده چندرسانهای با تمرکز بر تعامل و جذابیت بصری هستند.
ویژگی های Libavg
- پشتیبانی از چندرسانهای: Libavg از عناصر چندرسانهای مانند صدا، ویدئو و انیمیشنها پشتیبانی داخلی ارائه میدهد.
- گرافیک با شتاب سختافزاری: از شتاب سختافزاری برای رندر کردن روان گرافیکها و انیمیشنها استفاده میکند.
- گرافیک برداری مقیاسپذیر: از گرافیک برداری مقیاسپذیر (SVG) برای ایجاد تصاویری با کیفیت بالا و مستقل از وضوح پشتیبانی میکند.
- برنامهنویسی رویدادمحور: از مدل برنامهنویسی رویدادمحور استفاده میکند که به توسعهدهندگان این امکان را میدهد تا برنامههای تعاملی را بهراحتی بسازند.
معایب Libvag | مزایای Libvag |
اسناد و جامعه محدود | پشتیبانی از چندین رابط کاربری گرافیکی |
اسناد و جامعه محدود | گرافیک با کارایی بالا |
پایگاه کاربر کوچک تر | پشتیبانی از چندرسانه ای و انیمیشن |
۹- کتابخانه PyForms در پایتون
PyForms یک فریمورک پایتون است که برای توسعه برنامههای GUI بهسادگی طراحی شده است. این کتابخانه یک سازنده رابط کشیدن و رها کردن همراه با مجموعهای از ویجتهای از پیش ساخته شده ارائه میدهد که آن را برای نمونهسازی سریع و توسعه مناسب میسازد. PyForms از برنامههای دسکتاپ و وب پشتیبانی میکند و به توسعهدهندگان این امکان را میدهد که راهحلهای چندپلتفرمی را بهطور مؤثر ایجاد کنند. با نحو ساده و مستندات گسترده، PyForms انتخاب عالی برای توسعهدهندگانی است که به دنبال ایجاد رابطهای کاربری ساده و کاربرپسند در پایتون هستند.
چرا و چه زمانی از PyForms استفاده کنیم؟
PyForms زمانی مفید است که بخواهید برنامههای دسکتاپ پیچیده با اجزای GUI پیشرفته و ویژگیهای مختلف توسعه دهید. این کتابخانه رابط سطح بالا برای ساخت فرمها و برنامههای پیچیده فراهم میآورد که آن را برای پروژههایی که نیاز به تجسم دادهها، وارد کردن دادهها یا تعاملات مبتنی بر فرم دارند، مناسب میسازد. PyForms انتخاب عالی برای زمانی است که نیاز به توسعه مؤثر برنامههای مبتنی بر GUI داشته باشید، بهویژه برای پروژههایی که شامل تجزیه و تحلیل دادهها، تعاملات مبتنی بر فرم یا پردازش دادههای پیچیده هستند.
ویژگی های PyForms
- رویکرد مبتنی بر فرم: PyForms توسعه GUI را با تمرکز بر رابطهای مبتنی بر فرم ساده میکند که برای وارد کردن و دستکاری دادهها مناسب است.
- ویجتهای قابل سفارشیسازی: مجموعهای از ویجتهای قابل سفارشیسازی برای ایجاد رابطهای کاربری منطبق با نیازهای خاص فراهم میکند.
- ادغام با کتابخانههای دیگر: امکان ادغام با سایر کتابخانههای پایتون را فراهم میآورد که قابلیتها و امکانات آن را گسترش میدهد.
- طراح بصری: ابزاری برای طراحی بصری چیدمانهای GUI ارائه میدهد که روند توسعه را برای طراحان و توسعهدهندگان تسریع میکند.
معایب PyForms | مزایای PyForms |
منحنی یادگیری ممکن است شیب دار باشد | برای برنامه های چند رسانه ای مناسب است |
جامعه و منابع محدود | با Qt Designer ادغام می شود |
انعطاف پذیری کمتر در مقایسه با PyQt خالص | یک طراح فرم بصری را ارائه می دهد |
نتیجه گیری
در نهایت میتوان گفت که رابط گرافیکی در پایتون مجموعهای گسترده از کتابخانههای GUI را ارائه میدهد که هرکدام با ویژگیها و معایب خاص خود شناخته میشوند. PyQT5 و Kivy به دلیل استحکام و پشتیبانی چندپلتفرمی خود برجسته هستند، در حالی که Tkinter به دلیل سادگی و آسانی در یادگیری همچنان محبوب است. توسعهدهندگانی که به دنبال گزینههای سبکتر هستند ممکن است PyGUI یا PySimpleGUI را ترجیح دهند، در حالی که توسعهدهندگانی که به ساخت برنامههای چندرسانهای علاقه دارند، ممکن است از Libavg استفاده کنند. wxPython برای پروژههای متمرکز بر ویندوز مناسب است، هرچند ممکن است از نظر پشتیبانی جامعه به اندازه سایر کتابخانهها قوی نباشد.