Kivy چیست؟
بعد از اینکه مقاله برنامه نویسی اندروید با پایتون را در سایت منتشر کردیم حالا میخواهیم به صورت کامل در مورد Kivy صحبت کنیم و ببینیم اصلا Kivy چیست؟ و چه ویژگی هایی دارد و اصلا به چه دردی می خورد. اگر برنامه نویسی اندروید با پایتون را مطالعه کرده باشید حتما میدونید که کیوی یک کتابخانه برای برنامه نویسی پایتون می باشد که به ما این امکان رو میدهد که با استفاده از زبان پایتون، اقدام به تولید و نوشتن اپلیکیشن های اندروید کنیم. در ادامه به صورت کامل جواب سوال Kivy چیست؟ میدهیم تا شما با این کتابخانه دوست داشتنی بیشتر آشنا شوید.
قبل از اینکه در مورد کیوی (Kivy) صحبت کنیم و بخواهیم جواب Kivy چیست؟ رو دهیم یک توضیح کوتاه در مورد زبان برنامه نویسی پایتون دهیم. احتما شما این زبان رو خوب می شناسید اما یک یادآوری خالی از لطف نیست. پایتون یک زبان برنامه نویسی سطح بالا است که در توسعه وب، توسعه اپلیکیشن ها، تولید GUI های دسکتاپ، توسعه نرم افزارهای کاربردی و آنالیز داده های عددی و علمی بسیار استفاده می گردد. پایتون یکی از زبان های برنامه نویسی است که بسیار در دانشگاه ها تدریس می شود و در چارت درسی بسیاری از دانشگاه های بزرگ دنیا دیده می شود. دلیل شهرت و محبوبیت این زبان برنامه نویسی کاربردی بودن آن است زیرا این زبان برای طراحی نرم افزارها مناسب می باشد.
نکته مهم: زبان برنامه نویسی پایتون علاوه بر آنکه ساده بوده و یادگیری آن راحت است، از خوانایی بسیار بالایی برخوردار می باشد.
توجه: پایتون یک زبان برنامه نویسی قدرتمند و سطح بالا می باشد. برای مثال اگر می خواهید به قدرت و کاربردی بودن این زبان پی ببرید کافیست بدانید که Drobox با استفاده از زبان برنامه نویسی پایتون نوشته شده است.
Kivy چیست؟
در حالت عادی اندروید از از برنامهنویسی بومی Python پشتیبانی نمیکند اما شما می توانید با استفاده از ابزارهای موجود، برنامه هایی در این زبان بنویسید و بعد آن را به APK تبدیل کنید که به صورت موفقیتآمیز بر روی دستگاههای اندروید قابل اجرا هستند.
در بالا گفتیم ابزاری وجود دارد که به ما کمک می کند برنامه با زبان پایتون بنویسیم و آن را به APK تبدیل کنیم. Kivy یکی از محبوبترین و قدرتمندترین راه حلها برای این کار است. نهتنها این برنامه به صورت متنباز است، نهتنها از ویندوز، Mac، لینوکس و iOS، جدای از اندروید، پشتیبانی میکند، بلکه به گونهای طراحی شده است که شما را به برنامه نویسی سریع ترغیب کند. شما میتوانید از آن به عنوان ابزار نمونهسازی استفاده کنید و این کار را با تنها چند خط کد انجام دهید.
Kivy یک کتابخانه متن باز پایتون برای توسعه سریع اپلیکیشن ها است که از رابط کاربری نوآورانه مانند اپلیکیشن های multi-touch استفاده می کند.کتابخانه Kivy به شما امکان می دهد از پایتون برای ایجاد اپلیکیشن برای دستگاه های تلفن همراه و دسکتاپ استفاده کنید. Kivy کد شما را دریافت می کند و اپلیکیشن ها را از منطق شما ایجاد می کند. سپس، در هر برنامه و APK، می توانید پایتون را نصب کنید.
ویژگی های بارز Kivy
- Kivy یک کتابخانه رایگان و متنباز هست
- Kivy یک محیط گرافیکی برای ساخت اپلیکیشن موبایل فراهم میکند
- با Kivy می توانی برنامههایی بنویسی که دارای فرمانهای چند لمسی هستند
- با Kivy می توانی برنامههایی برای موبایل بنویسی که هم روی اندروید و هم روی iOS اجرا شوند
- Kivy رو می شود روی ویندوز، لینوکس، مک و Raspberry Pi هم اجرا کرد
کیوی فریمورک اصلی توسعه داده شده توسط بنیاد کیوی است، در کنار پایتون برای اندروید، Kivy iOS و کتابخانههای بسیار دیگری که برای استفادهٔ کراس پلتفورم ساخته شدند. در سال ۲۰۱۲ میلادی، کیوی ۵۰۰۰ دلار از بنیاد پایتون برای انتقال به نسخه ۳ پایتون دریافت کرد.
نکته مهم: کیوی همچنین از رزبری پای (Raspberry pi) نیز پشتیبانی میکند. (رزبری پای یک رایانه بسیار کوچک و ارزان با تمام قابلیتهای یک رایانه واقعی است که میتوان از آن در سیستمهای روباتیک، اتوماسیون، اینترنت اشیاء و… استفاده کرد. کاربردهای پژوهشی و علمی این رایانه در مجلهای تخصصی که وابسته به بنیاد رزبری پای است به صورت ماهیانه مطرح میشود.)
کتابخانه Kivy شامل تمام امکانات برای ساخت این گونه نرمافزارها است:
- پشتیبانی کامل از ورودی های موس، کیبورد و ورودی های لمسی مخصوص سیستم عامل
- کتابخانهٔ گرافیک فقط شامل اوپن جی ال
- ابزارکهای گرافیکی بسیار گسترده که از تکنولوژی چند لمسی پشتیبانی میکنند
- زبان برنامهنویسی اختصاصی Kv که برای راحتی در توصعهٔ محیط کاربری طراحی شده
- کیوی ارتقا یافتهٔ PyMT project است و برای پروژههای جدید پیشنهاد میشود
نمونه کد کتابخانه Kivy پایتون
در بخش زیر می توانید یک نمونه کد کتابخانه Kivy پایتون رو ببینید که در خروجی کلمه Hello World رو نشان میدهد.
ویژگی های شاخص کتابخانه Kivy پایتون
کراس پلت فرم
Kivy در لینوکس، ویندوز، اندروید، IOS و OS X قابل اجرا است. شما می توانید همان کد اصلی را در تمام پلت فرم های پشتیبانی شده اجرا کنید. این فریم ورک می تواند از بیشترین ورودی ها، پروتکل ها و دستگاه از جمله WM-touch و WM-Pen و Mtdev استفاده کند. همچنین در این فریم ورک شبیه ساز ماوس چند لمسی گنجانده شده است.
کسب و کار دوستانه
فریم ورک یا بهتر است بگویم کتابخانه کیوی صد در صد رایگان است. این ابزار به طور حرفه ای توسعه یافته، حمایت شده و مورد استفاده قرار میگیرد و شما می توانید آن را در یک محصول تجاری استفاده کنید. این فریم ورک پایدار و دارای یک API مستند و همچنین یک راهنمای برنامه نویسی برای کمک به شما در شروع کار است.
GPU شتاب گرفته
موتور گرافیکی بر روی OpenGL ES 2 ساخته شده و با استفاده از یک خط لوله مدرن و سریع کار می کند. این ابزار با بیش از بیست ویجت همراه می باشد که همه آن موارد بسیار قابل گسترش هستند. بسیاری از قطعات در C با استفاده از Cython نوشته شده اند و با تست های Regression آزمایش شده اند.
زبان Kv
زبان کی وی (Kv) یک زبان مرتبط با محیط کاربری است. مانند کیو ام ال، به راحتی میتوان تمام رابط کاربری را در آن ایجاد کرد. برای مثال، برای ساختن یک پنجره که شامل یک مرورگر فایل و کلید لغو/تایید باشد، میتوان ابزارک اصلی را در پایتون ساخت و محیط کاربری را در Kv برنامهنویسی کرد.
پروژه های مکمل
- سازنده (Buildozer): بسته بندی عمومی پایتون برای اندروید و IOS
- پلیر (Plyer): بسته بندی پایتون مستقل از پلت فرم برای API های وابسته به پلت فرم
- پیجنیوس (Pyjnius): دسترسی پویا به API های جاوا یا اندروید از طریق پایتون
- پیوبیس (pyobjus): دسترسی پویا به API های Objective-C یا IOS از طریق پایتون
- پایتون برای اندروید: toolchain برای ساخت و بسته بندی برنامه های پایتون برای اندروید
- Kivy آی او اس: toolchain برای ساخت و بسته بندی برنامه های کیوی برای IOS
- Audiostream: کتابخانه برای دسترسی مستقیم به میکروفون و بلندگو
- Kivy Designer: طراحی UI برای کیوی
- KivEnt: موتور بازی سازی مبتنی بر بنیاد برای کیوی
- Garden: ایجاد و نگهداری ویجت ها و کتابخانه ها توسط کاربر
- Kivy-sdk-packager: اسکریپت برای نسل Kivy SDK در ویندوز، OS X و لینوکس
- Kivy-remote-shell: برنامه پوسته تعاملی SSH+Python از راه دور
پیش نیازهای توسعه اپلیکیشن با Kivy
اگر به فکر توسعه اپلیکیشن اندروید یا ios با استفاده از Kivy هستید بهتر است که درک درست و خوبی از برنامه نویسی پایتون داشته باشید. البته این نکته رو هم بگم قرار نیست ابتدا یک متخصص پایتون تبدیل شوید و بعد سمت Kivy بروید. اما سعی کنید در مورد فایل های docs و API ها اطلاعات داشته و آشنایی با الگوهای MVC کسب کنید. همچنین باید برخی از API را که Kivy پوشش نمی دهند، مانند GPS یا نوتیفیکیشن ها را یاد بگیرید. (مفاهیم سطح بالا مانند رایج ترین دستگاه ها با هر سیستم عامل و نحوه اجرای شبیه سازها را تا حدودی آشنایی داشته باشید.)