رضا قادریان
رضا قادریان
خواندن ۲ دقیقه·۲ سال پیش

برنامه نویسی اندروید و دسکتاپ با پایتون

kivy vs pyqt
kivy vs pyqt


پایتون یه زبان برنامه نویسی بسیار قدرتمنده که توانایی های بالایی برای پردازش داده، داره.

مفسری بودن این زبان این قدرت رو ایجاد کرده که با اون بشه برای پلتفرمهای مختلف مثل اندروید، ای او ای، لینوکس و ویندوز برناه نوشت و خروجی گرفت که به خاطر همین یک زبان برنامه نویسی مالتی پلتفرم شناخته میشه.

برای نوشتن برنامه برای سیستم عامل های مختلف ابزارهای مختلفی برای پایتون هست که مشهورترینشون Kivy , QT هست.

خب توی این پست نمیخام خیلی وارد جزئیات قضیه بشم، ولی به عنوان یه مختصر تجربیاتی که با این دو تا ابزار داشتم ، خواستم یه اطلاعات جزئی بدم.

خب QT یا بهتر بگم ابزار پایتونش به نام PyQT و Kivy یه سری مزایا و معایب دارن.

به نظر من اولاگه میخاید با پایتون برای اندروید برنامه نویسی کنید kivy میتونه بهتر باشه و بهتره توی از سیستم عامل لینوکس برنامه نویسی کنید.

ابزار kivy و kivyMD ( برای متریال دیزاین) رو به راحتی میتونید به یه جستجو ساده توی اینترنت نصب کنید. kivy برای طراحی اینترفیس از یه زبان kv استفاده میکنه که قابلیت های خوبی داره اما جای یک ابزار دیزاینر گرافیکی برای اون واقعا خالیه. هرچند الان یه پروژه برای این کار در حال انجام و خروجی دادنه ولی تا این لحظه فعلا رلیز رسمی نداده. در نبود چنین ابزاری باید دستی کار طراحی باهاش رو انجام بدین که یه مقدار کارو سخت میکنه. البته توی VS code میتونید یه پلاگین برای این کار نصب کنید ولی بازم جای ضعف داره. بنابراین فعلا باید در نبود یه code highliter و ابزار مناسب به صورت کاملا بصری و با روش اجرا و تصحیح کار طراحیتونو انجام بدین.

کیوی هر چند مالتی پلتفرمه ولی خروجیایی که میده و ابزارایی که داره معلومه که نگاه طراحاش بیشتر روی اندروید بوده و خروجی دلچسب دسکتاپ نمیده.

برای ایجاد فایل apk هم باشد از ابزار Builozer استفاده کنید که فعلا روی ویندوز اجرا نمیشه. برای همین بهتره از لینوکس استفاده کنید یا توی ویندوز کد بزنید و برای گرفتن خروجی مناسب اندروید برید سراغ لینوکس.

اما اگه هدفتون نوشتن برنامه مناسب ویندوزه پیشنهاد من QT هست. برخلاف کیوی، کیوت به ابزار دیزاینر داره به صورت گرافیکی میتونید طراحیتونو انجام بدین و بعد با یه دستور ساده خروجی مناسب پایتونشو ایجاد کنید. البته ابزار QT نسخه های دیگه هم داره که بعضا پولی هستند و مانند اون چیزی که توی دمو های دیدم میشه طراحی های بسیار شکیلی باهاش انجام داد که مناسب هر سیستم عاملی میتونه باشه.

البته یکی از تجربه های من با QT ، نحوه فایر کردن event ها یه Signal , slot ها توی اونه که باید خیلی دقت کنید اونم به خاطر اینه که اگه حواستون نباشه و تغییر توی دیزاین بدین و خروجی بگیرید اگه چیزی به صورت دستی توی فایل قبلیتون نوشته باشید، مثلا یه فانکشن، پاک میشه.

پایتونkivyqtkivymdpyqt
از بس که خراب تو شدم، آبادم.
شاید از این پست‌ها خوشتان بیاید