آموزش Kivy

معرفی Kivy

Kivy یک کتابخانه متن باز پایتون برای توسعه سریع اپلیکیشن ها است که از رابط کاربری نوآورانه مانند اپلیکیشن های multi-touch استفاده می کند.

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

ویژگی های Kivy

  • چندسکویی - Kivy در لینوکس، ویندوز، OS X، Android، iOS و Raspberry Pi اجرا می شود. شما می توانید همان کد را در تمام پلتفرم های پشتیبانی شده اجرا کنید. همچنین  می تواند به طور بومی از بیشترین ورودی ها، پروتکل ها و دستگاه ها از جمله WM_Touch، WM_Pen، Trackpad و سیستم عامل Mac OS X و Magic Mouse، Mtdev، Linux Kernel HID و TUIO استفاده کند. شبیه ساز ماوس multi-touch نیز گنجانده شده است.
  • کسب و کار پسند - Kivy 100٪ برای استفاده، تحت مجوز MIT (از 1.7.2) و LGPL 3 برای نسخه های قبلی رایگان است. این ابزار به طور حرفه ای توسعه یافته، حمایت می شود و مورد استفاده قرار می گیرد. شما می توانید آن را در یک محصول تجاری استفاده کنید. این فریمورک پایدار است و دارای یک API مستند شده و همچنین یک راهنمای برنامه نویسی برای کمک به شما در شروع کار است.
  • تسریع با GPU - موتور گرافیکی بر روی OpenGL ES 2 با استفاده از یک خط لوله مدرن و سریع ساخته شده است. ین ابزار با بیش از 20 ویدجت همراه است، همه موارد بسیار قابل گسترش است. بسیاری از قطعات در C با استفاده از Cython نوشته شده و با تست های رگرسیون آزمایش شده اند.
  • دوربین - در آداپتورهای ساخته شده برای دوربین های گوشی های هوشمند ساخته شده است. اگرچه در برخی تئوری ها برخی از ورودی های HTML5 برای دوربین ها وجود دارد، اما پوشش آن برای این در مرورگرها بهترین است.
  • ویدئو - Kivy شامل ماژول هایی برای خواندن و پخش فیلم ها می باشد. درست است که این را می توان از طریق یک برنامه وب انجام داد، اما گاهی اوقات این تجربه می تواند نگران کننده باشد. تلفن های قدیمی تر ممکن است سعی کنند ویدیو را بدون استفاده از کل صفحه پخش کنند یا استفاده از فضای حافظه ممکن است بیشتر از آن باشد.
  • Multitouch و gestures - کیوی دارای یک ماژول قوی برای ورودی است که امکان Multitouch و gestures را فراهم می کند.
  • جلوه های بصری و OpenGL - از آنجا که کیوی دسترسی به OpenGL دارد، می تواند یک آرایه عظیمی از جلوه های بصری را انجام دهد و مقدار زیادی از رندر را انجام دهد. Kivy همچنین از PyGame استفاده می کند، بنابراین ایجاد بازی ها بسیار ساده تر می شود (اگر چه شما باید کد PyGame موجود را برای Kivy بازنویسی کنید). PyGame همراه با ماژول هایی برای طراحی اشکال، رندر کردن، برخورد با رنگ ها و پخش موسیقی به کار می رود.
  • درخواست های شبکه غیرهمزمان - یکی از ویژگی های مهم هر برنامه بومی، حداقل برای افرادی که در داخل و خارج از شبکه هستند، توانایی تکمیل درخواست ها زمانی که شبکه در دسترس است می باشد.
  • ویژگی های UI - کیوی همراه با تعدادی از ویجت ها و کنترل هایی که به زیبایی طراحی شده اند مورد استفاده قرار می گیرد. اگر می خواهید نمونه اولیه را سریع بسازید و به طراح دسترسی ندارید، می تواند برای پروزه شما مفید باشد.

پیش نیازهای توسعه موفق اپلیکیشن با Kivy

شما باید در مورد پایتون درک خوبی داشته باشید. یادگیری پایتون در حالی که برای یادگیری کیوی تلاش می کنید ممکن است در نهایت گیج کننده باشد. شما لازم نیست به یک متخصص برنامه نویس پایتون تبدیل شوید، اما شما باید درباره فایل های docs و API ها اطلاعات داشته باشید. شما همچنین باید با الگوهای MVC آشنا باشید. شما می توانید یک برنامه Kivy را بدون آنها بنویسید، اما این ممکن است شما را به آرامی در حالی که برنامه رشد می کند دیوانه کند. در نهایت، در حالی که شما به دانستن نحوه برنامه نویسی بر روی اندروید یا iOS  نیاز دارید، باید برخی از مفاهیم سطح بالا مانند رایج ترین دستگاه ها با هر سیستم عامل و نحوه اجرای شبیه سازها را بدانید. شما همچنین باید برخی از API را که Kivy پوشش نمی دهد، مانند GPS یا نوتیفیکیشن ها را فرا بگیرید.