بازی های جالب آندروید

لایبرری سبک پایتون برای توسعهٔ GUI

۲۴ دی ۱۳۹۶

اندروید بحثش فرق می کنه چون اندروید به ماشین مجازی جاوا وابسته هست برنامه نویس مجبوره از جاوا یا زبانهای که با JVM سازگار هستن استفاده کنه پس نه تنها پایتون بلکه تقریبا هیچ زبانی (منهای C و C++ اونهم نه برای اپ بیشتر برای ایجاد کتابخانه اندروید)‌ برای اندروید مناسب نیست. اگه یک برنامه hello با کیوی بسازید و بعد از کلی رنج تبدیل به apk کنیم میشه ۵۰ مگ به خاطر اینکه کیوی کل مفسر پایتون رو میچپونه داخل اپ شما پس طبیعی که اپ شما سنگین بشه. کلا اگه ما به روش های غیر نیتیو اپ بسازیم هزینه اش نداشتن شکل و زیبایی اپ های نیتیو اشغال رم زیاد و بالا رفتن حجم برنامه نهایی خواهد بود

اما پایتون و دسکتاپ. پایتون یکی از بهترین زبانهای تولید اپ های کرس پلتفرم دسکتاپ هست. به این خاطر که لایبری های که برای پایتون وجود داره اکثرا نیتیو هستن که نمونه اش همین tkinter هست و بسته به سیستم عامل شکل و شمایل native به خودش میگیره. من یک اپ حدود ۱۰۰۰ خط با tkinter نوشتم و به راحتی ازش exe گرفتم و الان بعد از اجرا وقتی به رم سیستمم نگاه می کنم فقط ۸.۸ مگ فضا اشغال کرده. فراموش نکنیم که اپ دسکتاپ بیت تورنت با پایتون نوشته شده.
بحث مولتی تردینگ هم ربطی به لایبرری که ما با استفاده از اون اپ دسکتاپ می سازیم نداره مولتی تردینگ ویژگی هست که باید زبان برنامه نویسی ازش پشتیبانی کنه نه لایبری. به خاطر اینکه پایتون در نهایت به سی تبدیل میشه و از اون جایی که سی یک زبان مدرن نیست و در سال ۱۹۷۰ سی پی یو های چند هسته ای وجود نداشتن به طبع مولتی تردینگی هم وجود نداشت در پایتون میشه مولتی تردینگ کار کرد اما نه به خوبی زبانهای مدرنی مثل Rust و یا Go که دقیقا یکی از دلایل ایجادشون به همین مورد بر میگرده.

الان ادیتور اتم رو در نظر بگیرید که وقتی اجرا می کنیم فقط اجرا شدش ۵۰۰ مگ فضا اشغال میکنه چرا؟ چون شما عملا یک کرومیوم رو اجرا کردی که فقط آدرس بار برای جستجو نداره با این حال خیلی از دولوپرها دارن از اتم یا وی اس کد یا براکت که همگی برنامه های دسکتاپی هستن که با تکنولوژی های وب ساخته شدن استفاده می کنن چرا ؟‌ چون رم مهم نیست در بدترین حالت الان هر سیستم یا حتی هر گوشیی ۲ گیگ رم داره.

اگه دوستان می اومدن می گفتن پایتون برای GUI مناسب نیست چون ابزارهای ویژوالی خوب مثل مایکروسافت ویژوال استودیو نداره باز یه چیزی ولی ایرادهای عجیب غریب گرفتن اصلا حرفه ای و خوب نیست.

اگه پایتون برای توسعه برنامه های دسکتاپ مناسب نبود این همه لایبری GUI هر روز براش ساخته نمیشد ملت تشنه ای این هستن که هر کاری رو با پایتون انجام بدن و هزینه اش هم اصلا مهم نیست و پایتون هر کاری انجام میده و هر روز این هزینه ها رو داره میاره پایین

به نظر من پایتون برای ساخت اپ های دسکتاپ کرس پلتفرم نه تنها خوبه بلکه فوق العاده است.

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