ساخت اپلیکیشن موبایل با پایتون – نحوه برنامه نویسی اندروید با پایتون
ابزارها و زبانهای مختلفی برای توسعه اپلیکیشن اندرویدی در دسترس است. اگر از یک برنامه نویس اندروید باتجربه درباره ابزار کارش سؤال کنید، احتمالاً از محیطهای توسعهای مانند اندروید استودیو و زبانهایی مانند جاوا و کاتلین اسم میبرد. در واقع اندروید استودیو ابزار رسمی و جاوا نیز زبان رسمی توسعه اپلیکیشن اندرویدی محسوب میشود. اما آیا برنامه نویسی موبایل با استفاده از سایر زبانها امکانپذیر نیست؟ آیا نمیتوان از پایتون با آن همه قابلیت و امکانات برای توسعه برنامههای موبایلی استفاده کرد؟ خوشبختانه جواب مثبت است! اگر از قبل با برنامه نویسی پایتون آشنایی لازم را دارید و میخواهید یک اپلیکیشن موبایلی را با استفاده از این زبان توسعه دهید، خواندن ادامه این مطلب را از دست ندهید؛ چراکه در این مطلب قصد داریم روند کلی ساخت اپلیکیشن موبایل با پایتون را توضیح دهیم.
آشنایی با زبان برنامه نویسی پایتون
اگر با دنیای برنامه نویسی آشنا باشید، محال است که نام پایتون به گوشتان نخورده است. زبان برنامه نویسی پایتون یکی از محبوبترین و پرکاربردترین زبانهایی است که در حال حاضر میلیونها برنامه نویس در دنیا از آن استفاده میکنند. ویژگیهای منحصربفرد پایتون باعث شده است تا این زبان برای طیف گستردهای از کاربردها استفاده شود. مهم نیست قصد نوشت چه برنامه یا توسعه چه اپلیکیشنی را دارید، در هر صورت پایتون میتواند به کمک شما بیاید. با پایتون میتوانید نرم افزارهای مختلفی برای دسکتاپ و موبایل توسعه دهید. حتی پایتون در برنامه نویسی وب نیز کاربرد گستردهای دارد. یادگیری پایتون بسیار آسان است، به طوری که حتی برنامه نویسان مبتدی و افراد عادی هم از پایتون استفاده میکنند. کتابخانههای قدرتمند و از پیش نوشته شدهای در پایتون موجود است که کار برنامه نویسان را بسیار راحت کرده است.
پایتون در حوزه رو به رشد هوش مصنوعی نیز کاربرد بسیار زیادی دارد. برای مثال با استفاده از پایتون میتوان سیستمهایی برای تشخیص چهره یا تشخیص اثرانگشت به صورت هوشمند طراحی کرد. با توجه به گسترش روزافزون استفاده از گوشی هوشمند و اپلیکیشنها، بسیاری از برنامه نویسان علاقه دارند تا وارد بازار کار پر رونق برنامه نویسی موبایل شوند. امروزه کسبوکارهای زیادی برای ارائه خدمات خود به مشتریان، از اپلیکیشن موبایل استفاده میکنند. هر فرد یا کسبوکاری علاقه دارد تا یک اپلیکیشن با کیفیت را به مشتریان و مخاطبان خود عرضه کند. بنابراین اگر تسلط خوبی روی برنامه نویسی اندروید داشته باشید، میتوانید شغل مناسبی در این زمینه برای خود پیدا کنید. در ضمن اگر با برنامه نویسی پایتون آشنایی ندارید و میخواهید لذت استفاده از این زبان قدرتمند را بچشید، پیشنهاد میکنیم مجموعه آموزش برنامه نویسی پایتون را در فرادرس مشاهده کنید:
مزیت های ساخت اپلیکیشن موبایل با پایتون
استفاده از پایتون به شدت ساده است و میتوان برنامههای قابل اطمینانی را به وسیله آن توسعه داد. با استفاده از پایتون میتوانید به سرعت روند توسعه اپلیکیشن را پیگیری کنید. سرعت، عامل مهمی در عرضه به موقع اپلیکیشن به بازار است. هیچ کدام از سیستمعاملهای آی او اس یا اندروید، از زبانهای مفسری پشتیبانی نمیکنند. این به آن معناست که سیستم عاملهای ذکر شده نمیتوانند به صورت پیش فرض برنامههای نوشته شده توسط پایتون را اجرا کنند. چارچوبهای نرم افزاری مختلفی وجود دارند که این مشکل را حل کردهاند. یعنی با استفاده از این فریم ورکها (frameworks) قادر به اجرای برنامه نوشته شده با پایتون روی اندروید و آی او اس خواهید بود.
مشکلات ساخت اپلیکیشن موبایل با پایتون
اگرچه توسعه اپلیکیشن موبایل با پایتون ممکن است، اما ممکن است اپلیکیشن ساخته شده توسط پایتون به اندازه اپلیکیشنهای ساخته شده با جاوا و کاتلین، بهینه نباشد. جاوا زبان استاندارد و رسمی توسعه اپلیکیشن اندرویدی است و این مسئله را خود گوگل نیز اعلام کرده است.
بیاید باهم نگاهی به مشکلات اپلیکیشنهای اندرویدی نوشته شده توسط پایتون بیندازیم:
- ممکن است نتوانید از تمامی امکانات اندروید بهره برداری کنید
- ممکن است اپلیکیشن از سرعت کافی برخوردار نباشد
- ممکن است نتوانید بازیهای گرافیکی دو بعدی و سه بعدی مناسبی را توسعه دهید
با این وجود، توسعه اپلیکیشن موبایل با پایتون ممکن است و در ادامه کتابخانههایی از پایتون که میتوانید از آنها برای ساخت اپلیکیشن موبایل با پایتون استفاده کنید را معرفی خواهیم کرد.
ابزارهایایتون برای ساخت اپلیکیشن اندروید
برای ساخت یک اپلیکیشن اندروید، کتابخانهها و چارچوب های نرم افزاری مختلفی در پایتون وجود دارند که میتوانید از آنها استفاده کنید. اگر بخواهید با پایتون برنامهای بنویسید که روی پلفترمهای مختلف موبایلی اجرا شود، دو گزینه مهم پیش روی شماست: کیوی (Kivy) و بی ویر (BeeWare).
1. معرفی کتابخانه Kivy
کیوی، یک کتابخانه قدرتمند پایتون است که با استفاده از آن میتوانید رابط کاربریهای مختلفی را برای پلتفرمهای گوناگون طراحی کنید. موتور گرافیکی این کتابخانه بر پایه OpenGL طراحی شده است. بنابراین میتوانید بار ناشی از اجرای عناصر گرافیکی را به خوبی مدیریت کنید. همچنین یک پروژه تبدیل پایتون به اندروید (python to android) در این کتابخانه وجود دارد که به شما اجاره میدهد اپلیکیشن خود را برای اجرا در سیستم عامل اندروید نیز پورت کنید.
یک جعبه ابزار مشابه نیز برای سیستم عامل iOS در نظر گرفته شده است که به کمک آن میتوانید برنامه نوشته شده با پایتون را روی این سیستم عامل اجرا کنید. اما در نظر داشته باشید که این جعبه ابزار در حال حاضر تنها با نسخه 2.7 پایتون کار میکند. کیوی یک کتابخانه متن باز پایتون است و میتوانید از آن به صورت کاملاً رایگان استفاده کنید. از کیوی برای ایجاد رابط کاربری گرافیکی استفادهه میشود. میتوانید با استفاده از کیوی، عناصری مانند دکمه و متن را به اپلیکیشن خود اضافه کنید. همچنین با استفاده از کیوی میتوانید قابلیتهایی نظیر مولتی تاچ را در اپلیکیشن خود استفاده کنید.
کد پایتون نوشته شده در کیوی را میتوانید در پلتفرمهای زیر اجرا کنید:
- ویندوز
- لینوکس
- رزبری پای
- اندروید
- آی او اس
2. معرفی چارچوب نرم افزاری BeeWare
این مجموعه ابزار به شما اجازه میدهد تا کدهای نوشته شده با پایتون را روی پلتفرمهای مختلف نظیر ویندوز، لینوکس، اندروید، آی او اس و سیستم عامل تلویزیون اجرا کنید. Beware کاملاً متن باز بوده و استفاده از آن نیز رایگان است.
هدف از طراحی BeeWare، تسهیل روند توسعه اپلیکیشن با در اختیار دادن امکانات زیر به توسعه دهنده بوده است:
- بسته بندی کد پایتون به نحوی که قابل اجرا روی پلتفرمهای مختلف باشد
- فراهم کردن کتابخانههایی برای استفاده از ویژگیهای native سیستم عامل (نظیر دوربین و میکروفون)
- فراهم آوردن امکاناتی برای توسعه اپلیکیشن، نوشتن کد و تحلیل آن و در نهایت رفع خطاس
مقایسه کیوی و Beeware – کدام یک برای ساخت اپلیکیشن موبایل با پایتون مناسب تر است؟
در این قسمت قصد داریم مقایسهای بین کتابخانه کیوی و فریم ورک Beeware انجام دهیم. با انجام این مقایسه میتوانید ابزار مورد نیاز خود برای ساخت اپلیکیشن موبایل با پایتون را بهتر انتخاب کنید. مهمترین تفاوت کیوی و Beeware در نحوه پردازش ظاهر اپلیکیشن است. کیوی، از استایل خودش برای نمایش ویجتها (Widget) استفاده میکند. در حالی که BeeWare از رابط کاربری اندروید استفاده میکند. بنابراین اپلیکیشنهای توسعه داده شده با BeeWare از ظاهر طبیعیتری در محیط اندروید برخوردار هستند.
دیگر تفاوت BeeWare و کیوی به قدمت آنها بازمیگردد. کیوی از سال ۲۰۱۱ در دسترس بوده است اما Beeware اخیراً عرضه شده است. بنابراین BeeWare هنوز در حال توسعه و پیشرفت بوده و پتانسیل بالایی برای تبدیل شدن به ابزار اصلی ساخت اپلیکیشنهای native دارد. منظور از اپلیکیشن نیتیو (native)، اپلیکیشنی است که برای یک پلتفرم به صورت اختصاصی کدنویسی شده و دارای تجربه کاربری مناسب و سرعت بالایی است.
در نهایت اگر یک توسعه دهنده پایتون هستید، به شما پیشنهاد میکنیم از هر دو ابزار برای توسعه اپلیکیشن استفاده کنید تا بهتر متوجه تفاوتهای نهایی شوید. در سالهای آینده هر دوی این ابزار با پیشرفتها و تکامل بیشتری مواجه میشوند. بنابراین تسلط به هر دوی آنها برای توسعه اپلیکیشن موبایل با پایتون ضروریست.
معرفی اپلیکیشن های موبایلی که می توان با پایتون ساخت
در این قسمت تعدادی پروژه را که میتوانید برای شروع ساخت اپلیکیشن موبایل با پایتون در نظر بگیرید، معرفی خواهیم کرد. تمامی این پروژهها به کمک کتابخانه قدرتمند کیوی قابل پیاده سازی هستند.
۱. پروژه Hello World
معمولاً اولین برنامهای که هر برنامه نویسی برای یادگیری یک زبان یا کتابخانه مینویسد، پروژه Hello World است. هدف از نوشتن این برنامه، نمایش پیغام Hello World روی صفحه نمایش است. توصیه میکنیم اولین اپلیکیشنی که با پایتون طراحی میکنید، برای نمایش این پیغام روی صفحه نمایش باشد.
۲. دسته بندی تصاویر
اگر میخواهید قدرت بالای پایتون را در ساخت اپلیکیشن مشاهده کنید، روی پروژه طراحی اپلیکیشنی برای دسته بندی تصاویر کار کنید. البته سطح این پروژه مقداری بالاست و باید با مباحث یادگیری ماشین و شبکه عصبی آشنایی داشته باشید. برای این منظور توصیه میکنیم از آموزش زیر در فرادرس استفاده کنید:
۳. طراحی صفحه ورود به اپلیکیشن
ثبتنام در اپلیکیشن یا ورود به آن، در بسیاری از اپلیکیشنها لازم است. با توسعه اپلیکیشنی که این ویژگی در آن پیاده سازی شده باشد، هم تمرین خوبی برای برنامه نویسی با پایتون کردهاید و هم توانستهاید یکی از ویژگیهای کلیدی هر اپلیکیشنی را پیاده سازی کنید.
۴. بازی فلپی برد (Flappy Bird)
توسعه بازیهایی نظیر فلپی برد یا سایر بازیهای مشابه، میتواند سطح برنامه نویسی شما را به شدت بالا ببرد. چالشهایی که برای طراحی مراحل بازی و گرافیک آن پیش روی شما قرار میگیرد، باعث بروز خلاقیت و بهره بردن از ویژگیهای زبان پایتون و کتابخانههای آن خواهد شد. در بازی فلپی برد، کنترل یک پرنده بر عهده بازی کننده است و او باید پرنده را به سلامت از میان لولههایی که در بالا و پایین صفحه تعبیه شده است، عبور دهد.
۵. اپلیکیشن چت
قبل از این که به ساخت اپلیکیشنهای پیچیده بپردازید، بهتر است بر پایههای زبان برنامه نویسی پایتون و کتابخانههای مورد استفاده خود مسلط شوید. به همین منظور میتوانید یک برنامه برای گفتگو یا همان چت کردن بنویسید. پیاده سازی این برنامه، به شما کمک میکند تا با جنبههای مختلف پایتون و کتابخانههای آن آشنا شوید.
۶. ماشین حساب
پروژه دیگری که میتوانید برای تقویت مهارت برنامه نویسی پایتون خود در نظر بگیرید، طراحی یک ماشین حساب است. ماشین حساب شما باید بتواند چهار عمل اصلی را به خوبی اجرا کند. به مرور میتوانید ویژگیهای پیشرفتهتری به ماشین حساب خود اضافه کنید.
ساخت اپلیکیشن موبایل اندرویدی با استفاده از کتابخانه کیوی
در این مرحله قصد داریم ساخت یک اپلیکیشن ساده را به کمک کیوی آموزش دهیم. پیش نیاز این بخش، از قبل نصب بودن پایتون روی سیستم شما است. اگر با نحوه نصب پایتون آشنایی ندارید، مقاله زیر را مطالعه کنید.
ساخت اپلیکیشن موبایل با پایتون با استفاده از کتابخانه کیوی بسیار ساده است. برای این کار باید از زیر کلاس App استفاده کنید. به تکه کد زیر نگاه کنید:
import kivy
kivy.require(‘2.1.0’)# replace with your current kivy version !
from kivy.app import App
from kivy.uix.label import Label
class MyApp(App):
def build(self):
return Label(text=’Hello world’)
if __name__ == ‘__main__’:
MyApp().run()
با اجرای کد بالا، پیغام hello world روی صفحه به نمایش درمیآید.
برای تبدیل کد خود به فایل apk و نصب آن روی دستگاههای اندرویدی، میتوانید از ابزاری به نام Buildozer استفاده کنید. این ابزار تمامی اقدامات لازم برای تبدیل پایتون به اندروید را انجام داده و پیشنیازهای لازم را برای شما فراهم میکند. برای دانلود Buildozer به این لینک زیر مراجعه کنید.
سپس باید در خط فرمان به مسیر پروژه خود مراجعه کرده و دستور زیر را اجرا کنید:
buildozer init
دستور بالا، فایل buildozer.spec را برای کنترل مواردی نظیر نام اپلیکیشن و سایر پیکربندیهای مربوط به آن در اختیار شما قرار خواهد داد.
در نهایت، باید دستگاه اندرویدی خود را به سیستم متصل کده و دستور زیر را در خط فرمان اجرا کنیدک
buildozer android debug deploy run
اجرای دستور بالا، به صورت خودکار فایل apk تولید شده را روی دستگاه اندروید شما نصب خواهد کرد.
کلام پایانی درباره ساخت اپلیکیشن موبایل با پایتون
در این مطلب به توسعه اپلیکیشن موبایل با پایتون و چالشهای آن پرداختیم. دو ابزار قدرتمند برای توسعه اپلیکیشن با پایتون معرفی کردیم. در نهایت هم یک اپلیکیشن ساده را به کمک کتابخانه کیوی پایتون ساختیم. اگر میخواهید چیزهای بیشتری درباره زبان برنامه نویسی پایتون و ساخت اپلیکیشن بیاموزید، توصیه میکنیم به فرادرس مراجعه کنید. در این مرجع بزرگ آموزش آنلاین در ایران، میتوانید پایتون را با استفاده از مثالهای عملی بیاموزید.