مقدمهای بر kivy و آموزش نصب آن
Kivy چیست؟
kivy یک رابط کاربر گرافیکی کتابخانه پایتون منبع باز است که به شما امکان میدهد برنامههای چند پلتفرمی را در Windows، macOS، Android، iOS، Linux و Raspberry-Pi توسعه دهید. علاوه بر ورودیهای معمولی موس و صفحهکلید، از رویدادهای چند لمسی نیز پشتیبانی میکند.
برنامههای کاربردی ساختهشده با استفاده از Kivy در همه سیستمعاملها مشابه هستند، اما این بدان معناست که برنامهها به شیوههای مختلف نمایش داده میشود و یا ظاهر آنها بسته به سیستمعاملی که در آن اجرا میشود فرق میکند.
مقدمهای بر kivy در پایتون
Kivy یک ماژول پایتون است که امکان ایجاد برنامههای سازگار با استفاده از پایتون را فراهم میکند. استفاده مجدد از کد مشابه در IOS، Andorid، Mac، Windows، Linux و تقریباً تمام سیستمعاملهای دیگر با این ماژول بسیار آسان است. ایجاد برنامه با kivy بسیار عالی است زیرا کد شما بر روی هر نوع دستگاه کار میکند.
Kivy ازنظر نحوه توسعه برنامهها شبیه TKinter است. این به شما امکان میدهد با استفاده از ابزارها و طرحبندی، GUI ایجاد کنید.. بهترین ویژگی در مورد kivy این است که عملکرد آن بهتر از جایگزینهای چند پلتفرمی HTML5 است.
این چارچوب آسان برای استفاده شامل همه عناصر برای ایجاد یک برنامه مانند:
- پشتیبانی گسترده ورودی برای دستگاههای ورودی مانند ماوس، صفحهکلید، TUIO و رویدادهای چند لمسی مخصوص سیستمعامل
- یک کتابخانه گرافیکی که فقط از OpenGL ES 2 استفاده میکند
- طیف گستردهای از ابزارها با پشتیبانی چند لمسی
- یکزبان متوسط Kv، برای طراحی آسان ابزارهای سفارشی
بنابراین آیا این بدان معناست که شما باید kivy را یاد بگیرید؟
بیایید فهرستی از مزایا و معایب آن را بررسی کنیم و ببینیم kivy چهکاری میتواند انجام دهد و چهکاری نمیتواند انجام دهد و سپس میتوانید خودتان تصمیم بگیرید که آیا ارزش وقت گذاشتن را دارد یا نه.
مزایای kivy
- بر اساس پایتون است، که با توجه به طبیعت غنی از کتابخانه بسیار قدرتمند است.
- یکبار کد بنویسید و از آن در همه دستگاهها استفاده کنید.
- استفاده آسان از ویجت هایی که با پشتیبانی چند لمسی ساختهشدهاند.
- عملکرد بهتری نسبت به جایگزینهای متقابل HTML5 دارد.
معایب kivy
- رابط کاربری غیربومی
- اندازه بسته بزرگتر (زیرا مترجم پایتون باید در آن گنجانده شود).
- عدم پشتیبانی جامعه آنلاین به صورت وسیع (Kivy Community چندان زیاد نیست).
- فقدان نمونهها و مستندات خوب.
- جایگزینهای بهتر و بیشتری از جامعه در دسترس هستند اگر فقط بر روی دستگاههای چند پلتفرم Mobile تمرکز کنید یعنی React Native از آن بهتر عملک میکند.
آموزش نصب kivy:
در این بخش آموزش نصب کیوی در ویندوز ارائه شده است.
نصب kivy در ویندوز:
توجه داشته باشید که برای استفاده از کتابخانه لازم است پایتون ۳ روی دستگاه خود داشته باشید.
مرحله ۱:
بهروزرسانی ابزارها و پیپ پایتون برای نصب kivy با واردکردن این دستور در cmd ویندوز
python -m pip install –upgrade pip wheel setuptools
مرحله ۲:
وابستگیها را نصب کنید
python -m pip install docutils pygments pypiwin32 kivy.deps.sdl2 kivy.deps.glewpython -m pip install kivy.deps.gstreamerpython -m pip install kivy.deps.angle
مرحله ۳:
kivy را نصب کنید.
python -m pip install kivy
نتیجهای شبیه به تصویر زیر خواهید داشت:
نصب در لینوکس:
مرحله ۱:
با واردکردن این دستور در ترمینال، PPA را اضافه کنید
sudo add-apt-repository ppa:kivy-team/kivy
مرحله ۲:
لیست بستههای خود را بهروز کنید
sudo apt-get update
مرحله ۳:
Kivy را نصب کنید
sudo apt-get install python3-kivy
ساخت برنامه با استفاده از kivy
سه مرحله برای ایجاد برنامه با kivy وجود دارد:
- وراثت برنامه کلاس Kivy را که پنجرهای را برای ابزارهای ما نشان میدهد
- یک متد build () که محتوای ویجت ها را نشان میدهد.
- و در آخر فراخوانی متد run ().
مثال :
این کد python3 برای ایجاد یک برنامه ساده است که متن موردنظر را روی صفحه سیستم نشان میدهد:
import kivy
kivy.require(‘1.10.0’)
from kivy.app import App
from kivy.uix.button import Label
class HelloKivy(App):
def build(self):
return Label(text =”Hello makthabkhooneh”)
helloKivy = HelloKivy()
helloKivy.run()
برای اجرای این کد cmd (ترمینال در لینوکس) را بازکرده و از طریق پوشهای که کد در آن ذخیرهشده است بروید و این دستور را تایپ کنید-
python file_name.py
خروجی به شکل زیر خواهد بود:
ساخت یک برنامه ساده دیگر با استفاده از Python Kivy
این مثال ایجاد و استفاده از یک انیمیشن چند قسمتی روی ویجت دکمه را نشان می دهد. شما باید یک دکمه با برچسب ‘ makhtabkhooneh ‘ را مشاهده کنید که وقتی روی آن کلیک می کنید با یک حرکت متحرک حرکت می کند.
import kivy
kivy.require(‘1.0.7′)
from kivy.animation import Animation
from kivy.app import App
from kivy.uix.button import Button
class TestApp(App):
def animate(self, instance)
animation = Animation(pos=(100, 100), t=’out_bounce’)
animation += Animation(pos=(200, 100), t=’out_bounce’)
animation &= Animation(size=(500, 500))
animation += Animation(size=(100, 50))
animation.start(instance)
def build(self):
button = Button(size_hint=(None, None), text=’makhtabkhooneh’,
on_press=self.animate)
return button
if __name__ == ‘__main__’:
TestApp().run()
خروجی این برنامه ساده به شکل زیر خواهد بود:
ساخت اپلیکیشن موبایل با kivy
Kivy یک چارچوب GUI واقعاً جالبی است که میتوانید از آن برای ایجاد رابط کاربری دسکتاپ و برنامههای تلفن همراه در iOS و Android استفاده کنید. برنامههای کاربردی Kivy در هیچ پلتفرمی شبیه برنامههای اصلی نیستند. اگر میخواهید برنامه شما متفاوت از رقبا به نظر برسد، این میتواند یک مزیت باشد!
برنامههای پایتون ساختهشده با Kivy را نمیتوان مستقیماً به تلفنهای اندرویدی منتقل کرد زیرا این دستگاهها فقط از APK (بسته برنامه کاربردی Android) پشتیبانی میکنند و ما باید آنها را بهدرستی بستهبندی کنیم.
نتیجه گیری
حال که فهمیدیم kivy چیست و چگونه کار میکند وقت آن است که تصمیم بگیریم که آموزش kivy را شروع کنیم. kivy چهارچوب جامع و کاملی برای ساخت برنامههای مختلف در سیستمعاملهای مختلف است که کار با آن بسیار آسان است.
همچنین یادگیریkivy نیز آسان است و بهراحتی میتوانید با آن کارکنید. تنها عیب بزرگkivy نبود یک جامعه پشتیبانی کامل است که رفتهرفته با استفاده گسترده از آن این مشکل نیز حل خواهد شد.