آموزش ساخت اپلیکیشن موبایل با پایتون
پایتون (Python) یک زبان برنامه نویسی سطح بالا و شی گرا است که به دلیل داشتن دستورات ساده و خوانایی بالا، محبوبیت زیادی در میان توسعه دهندگان پیدا کرده است. در حالت عادی برای توسعه اپلیکیشنهای موبایل باید به سراغ زبان جاوا یا کاتلین برویم. اما آیا نمیتوان با سایر زبانها مثل پایتون برای موبایل اپلیکیشن طراحی کرد؟ Python به صورت پیشفرض هیچ ابزاری برای توسعه اپلیکیشن ندارد. اما امروزه به لطف گسترش ابزارهای واسط، امکان ساخت برنامه گوشی با پایتون نیز وجود دارد و میتوانید بعد از برنامه نویسی، خروجی آن را در پلتفرمهای مختلف مثل اندروید یا آی او اس اجرا نمایید. به همین دلیل تصمیم داریم در این نوشته به نحوه ساخت اپلیکیشن موبایل با پایتون بپردازیم.
آیا ساخت اپلیکیشن موبایل با پایتون امکان پذیر است؟
در سالهای اخیر تحولات زیادی در بخش توسعه اپلیکیشنهای چند پلتفرمی (multi-platform) به وجود آمده است. به طوری که میتوان با یکبار کد نویسی، آن را در سیستم عاملهای مختلف مثل ویندوز، مک، لینوکس، اندروید و IOS اجرا کرد. به لطف این قابلیت، برنامه نویسان مجبور نیستند دوباره همان کد را در یک پلتفرم دیگر بازنویسی کنند.
در دنیای ساخت برنامه برای موبایل، پایتون جزو اولین گزینهها به حساب نمیآید. چرا که زبانهایی مثل کاتلین، جاوا، سوئیفت و React Native بسیار مرسوم هستند. اما با این وجود، میتوان با کمک فریمورکها، اپلیکیشنهای حرفهای را با Python طراحی کرد. ساخت برنامه با پایتون برای اندروید یا سایر سیستم عاملها از این جهت هیجان انگیز است که شما یک زبان برنامه نویسی یاد میگیرید و از آن در حوزههای مختلفی از جمله وب، موبایل، هوش مصنوعی و غیره استفاده میکنید.
شاید با این سوال مواجه شوید که فریمورکها چطور کدهای پایتون را در موبایل اجرا میکنند؟ در جواب باید گفت، فریمورک، کدهای نوشته شده به زبان پایتون را به زبان قابل در اجرا در موبایل تبدیل میکند. به طور مثال، برای اجرای یک اپ نوشته با پایتون در اندروید، باید کدهای پایتون به زبان جاوا تبدیل شوند که اینکار را فریمورک انجام میدهد.
معروفترین فریمورکهای Python برای توسعه اپلیکیشنهای موبایل
فریمورکهای زیادی برای ساخت اپلیکیشن موبایل با پایتون وجود دارد که از معروفترین آنها میتوان به موارد زیر اشاره کرد.
١. کتابخانه Kivy
کیوی یک فریمورک چند پلتفرمی است که با کمک آن میتوان اپلیکیشنهای خلاقانه برای موبایل طراحی کرد. این فریمورک رابط کاربری پیشرفتهای دارد. برخی از مهمترین ویژگیهای آن عبارتند از:
- استفاده از آن برای اهداف تجاری رایگان است.
- قابلیت توسعه اپ اندروید، آی او اس و… با ظاهر بومی (Native)
- جامعه عظیم از توسعه دهندگان
- امکان توسعه سریع و دقیق اپلیکیشنها
٢. کتابخانه BeeWare
یکی دیگر از فریمورکهای معروف پایتون، Beeware است. اپلیکیشنهای طراحی شده با این فریمورک، تجربهای مانند اپهای بومی را به کاربران القا میکنند. یعنی دکمهها، فونتها و سایر ویجتها همان چیزی هستند که کاربران به آن عادت دارند.
٣. سایر فریمورکهای پایتون برای توسعه اپ موبایل
علاوه بر دو فریمورک بالا، فریمورکهای دیگری نیز برای اینکار وجود دارند که برخی از آنها عبارتند از:
- Bottle
- Django
- SL4A
- Chaquopy
- Qpython
- Termux
چرا ساخت اپلیکیشن موبایل با پایتون را انتخاب کنیم؟
وقتی صحبت از توسعه اپلیکیشن به میان میآید، اولین دغدغه افراد انتخاب زبان مناسب است. از طرفی، اگر هدف شما از یادگیری برنامه نویسی، استخدام باشد، بازهم انتخاب زبان برنامه نویسی اهمیت زیادی دارد.
پایتون ویژگیهای جذاب زیادی دارد که آن را تبدیل به اولین انتخاب میکند. از مهمترین ویژگیهای این زبان میتوان به موارد زیر اشاره کرد.
- یادگیری راحت: یکی از ویژگیهای فوقالعاده Python، سینتکس راحت آن است. این مساله سبب میشود تا توسعه دهنده به خصوص افراد مبتدی، مفاهیم آن را سریع درک کنند.
- رایگان: این زبان به صورت اپن سورس ارائه شده و از این جهت هیچ هزینهای ندارد و کاملا رایگان است.
- وجود طیف وسیعی از امکانات و فریمورکها: با یادگیری پایتون میتوانید در حوزههای مختلفی همچون طراحی وبسایت، طراحی بازی، هوش مصنوعی و آنالیز داده فعالیت کنید.
- داشتن کتابخانههای قوی برای توسعه برنامههای موبایل
- جامعه گسترده و فعال: صدها گروه و انجمن در جهان هستند که میتوانید جواب همه سوالات را به دست آورید.
- فرصتهای شغلی زیاد: گستردگی حوزههای فعالیت در پایتون باعث شده تا بازار کار خوبی داشته باشد.
- امکان توسعه اپلیکیشنهای بزرگ: اگر با دادههای زیادی سروکار دارید، یکی از بهترین گزینهها پایتون است.
بنابراین اگر به دنبال راهی برای برنامه نویسی آندروید، IOS، ویندوز و… هستید، پایتون انتخاب مناسبی خواهد بود.
پیشنهاد مطالعه: آموزش ساخت بازی دوز با پایتون
آیا با پایتون میشه برای اندروید برنامه نوشت؟
اندروید یکی از پراستفادهترین سیستم عاملها در جهان است. به همین دلیل بسیاری از افراد به دنبال توسعه برنامه برای این آن هستند. در جواب این سوال باید بگوییم که با Python و فریم ورکهای Kivy یا BeeWare میتوان اپلیکیشنهای مختلفی را برای اندروید طراحی کرد.
جالب است بدانید برنامههای معروف اینستاگرام، یوتیوب، اوبر و اسپاتیفای از زبان پایتون استفاده کردهاند.
برخی از انواع اپلیکیشنهایی که میتوان با این زبان طراحی کرد، عبارتند از:
- اپلیکیشنهای بلاکچین
- برنامههای یادگیری ماشین
- ساخت برنامه برای کسب و کار
- توسعه بازی
پیش نیازهای ساخت اپلیکیشن موبایل با پایتون
برای یادگیری آموزشهای ارائه شده در این مقاله، باید با درک مناسبی از موارد زیر داشته باشید.
- زبان برنامه نویسی پایتون
- آشنایی با اصول شی گرایی
بنابراین اگر با این زبان آشنا نیستید، حتما آموزش پایتون را در اولویت قرار دهید. در حال حاضر منابع زیادی همچون کتاب و دورههای آموزشی برای یادگیری وجود دارد و میتوانید خیلی سریع نرم افزار پایتون را یاد بگیرید.
برای شروع کار با Python به موارد زیر نیاز خواهید داشت:
- دانلود پآیتون: برای دانلود نرم افزار Python به سایت رسمی آن یعنی org مراجعه نمایید.
- نصب پايتون
- ide یا همان محیط برنامه نویسی پایتون
PyCharm، IDLE، Visual Studio Code و Sublime Text بهترین IDE برای پایتون هستند.
پیشنهاد مطالعه: آموزش توسعه بازی با پایتون + کد پایتون برای ساخت بازی
مراحل برنامه نویسی موبایل با پایتون
بعد از نصب Python و سایر ابزارهای مورد نیاز، نوبت به انتخاب فریم ورک میرسد. همانطور که اشاره کردیم، برای ساخت اپلیکیشن موبایل با Python فریمورکهای زیادی وجود دارد. اما در این میان، فریمورک Kivy یکی از بهترینها به شمار میرود. به همین دلیل تصمیم داریم در این آموزش از کیوی استفاده کنیم.
١. راهاندازی پروژه و نصب Kivy
اولین قدم در ساخت اپلیکیشن موبایل با پایتون، نصب کتابخانه کیوی است. برای اینکار باید از دستور زیر استفاده کنید.
pip install kivy
برای کسب اطلاعات بیشتر به آموزش مقدمهای بر kivy و آموزش نصب آن مراجعه کنید.
٢. ایمپورت کتابخانه کیوی
یک پوشه جدید با نام «calculator app» یا هر نام دیگری ایجاد کنید. این نام در واقع همان اسم اپلیکیشن است. در داخل پوشه، یک فایل ایجاد و نام آن را main.py بگذارید. سپس فایل main.py را با ide باز کرده و کدهای زیر را در آن قرار دهید. این برنامه قرار است تاریخ تولید کاربر را گرفته و سن او را بگوید.
from kivy.app import App
from kivy.uix.gridlayout import GridLayout
from kivy.uix.label import Label
from kivy.uix.image import Image
from kivy.uix.button import Button
from kivy.uix.text input import TextInput
با کمک قطعه کدهای بالا، ویجتهای مورد نیاز برای ساخت برنامه مثل دکمه، عکس، لیبل و لایوت را به پروژه ایمپورت میکنیم.
پیشنهاد مطالعه: آموزش کار با انواع حلقه در پایتون
٣. کدنویسی ویجتهای برنامه
در ادامه آموزش ساخت اپلیکیشن موبایل با پایتون، کلاسی با نام AgeCalculator میسازیم. سپس یک آبجکت جدید به اسم window ایجاد کرده و آن را با GridLayout، مقداردهی اولیه میکنیم. از آنجایی که فریمورک kivy به صورت شی گرا است، حتما باید با مفاهیم کلاس و شی آشنایی داشته باشید.
class AgeCalculator(App):
def build(self):
self.window = GridLayout()
return self.window
برای اینکه کلاس بالا به محض اجرای برنامه فراخوانی شود، از تابع زیر استفاده میکنیم.
if __name__ == "__main__":
AgeCalculator().run()
در قدم بعدی باید به اپلیکیشن شکل و فرم بدهیم تا کاربران امکان تعامل با آن را داشته باشند. اینکار را با تنظیم ستونهای GridLayout شروع میکنیم. البته پس از تکمیل کردن برنامه، استایلهای مختلفی را به آن اضافه خواهیم کرد.
self.window.cols = 1
با استفاده از قطعه کد زیر نیز میتوانیم لوگو برنامه را تنظیم کنیم. برای اینکار، لوگو را در کنار فایل main.py قرار داده و به جای عبارت “logo_image.png” اسم عکس و پسوند آن را مینویسیم.
self.window.add_widget(Image(source("logo_image.png")))
از آنجایی که هدف ما دریافت تاریخ تولد است، به یک ورودی نیاز داریم تا کاربر تاریخ را در آن وارد کند. برای اینکار از ویجت TextInput استفاده میکنیم. یک Label نیز در برنامه قرار میدهیم تا کاربر بداند چه چیزی را باید وارد کند.
self.ageRequest = Label(text = "Enter your year of birth...")
self.window.add_widget(self.ageRequest)
self.date = TextInput(multiline=False)
self.window.add_widget(self.date)
٤. دریافت ورودی از کاربر
شی date را به ویجت TextInput نسبت میدهیم تا تاریخ تولد کاربر را از ورودی دریافت کنیم.
٥. ایجاد دکمه و اتصال آن به تابع محاسبه سن
در این مرحله باید تابع محاسبه سن را به دکمه اضافه کنیم. (این تابع را در ادامه توضیح خواهیم داد). با اینکار، هنگامی که کاربر بر روی دکمه کلیک میکند، این تابع فراخوانده شده و بعد از دریافت تاریخ تولد از ورودی، سن را محاسبه میکند.
elf.button = Button(text = "Calculate Age")
self.button.bind(on_press = self.getAge)
self.window.add_widget(self.button)
٦. ایجاد تابع محاسبه سن
یک Function با نام getAge ایجاد میکنیم تا تاریخ تولد کاربر را گرفته و آن را از سال جاری کم کند. در قدم اول از ماژول DateTime پایتون استفاده کردهایم تا سال تاریخ تولد از ماه و روز جدا شود. سپس سال تولد کاربر را از رشته به عدد صحیح تبدیل میکنیم تا امکان انجام عملیات ریاضی بر روی آن وجود داشته باشد. در نهایت و بعد از انجام محاسبات، نتیجه را به رشته تبدیل کرده و در خروجی نمایش میدهیم.
def getAge(self, event):
today = datetime.today().year
dob = self.date.text
age = int(today) - int(dob)
self.ageRequest.text = "You are " + str(int(age)) + " years old"
٧. استایل دادن به رابط کاربری برنامه
در ادامه آموزش ساخت برنامه با پایتون در اندروید، برای ایجاد رابط کاربری مناسب باید استایلهایی را به برنامه اضافه کنیم.
برخی از این استایلها عبارتند از:
- با کمک آرگومان size_hint میتوانید اندازه ویجتها را تغییر دهید. این آرگومان دو ورودی میگیرد که یکی برای عرض و دیگری برای ارتفاع است. به طور پیشفرض، این مقادیر بر روی 1 تنظیم شدهاند.
- همچنین با آرگومان pos_hint میتوان موقعیت ویجتها را تنظیم کرد. این آرگومان هشت ورودی مختلف میگیرد.
- دستورهای font_size و color نیز اندازه نوشته و رنگ آن را تغییر میدهند.
نکته: تعداد دستورات برای استایلدهی در kivy زیاد است. برای آشنایی با این موارد، مستندات آن را مطالعه کنید. کد نهایی برنامه به شکل زیر خواهد بود.
def build(self):
self.window = GridLayout()
self.window.cols = 1
self.window.size_hint = (0.6, 0.7)
self.window.pos_hint = {"center_x": 0.5, "center_y": 0.5 }
self.window.add_widget(Image(source("logo_image.png")))
self.ageRequest = Label(
text = "Enter your date of birth...",
font_size = 50,
color = "#ffffff",
bold = True
)
self.window.add_widget(self.ageRequest)
self.date = TextInput(
multiline=False,
padding_y = (30, 30),
size_hint = (1, 0.7),
font_size = 30
)
self.window.add_widget(self.date)
self.button = Button(
text = "Calculate Age",
size_hint = (0.5, 0.5),
bold = True,
font_size = 30
)
self.button.bind(on_press = self.getAge)
self.window.add_widget(self.button)
return self.window
٨. اجرای برنامه
در آخرین مرحله از ساخت اپلیکیشن موبایل با پایتون، نوبت به اجرای برنامه میرسد. برای اینکار، ترمینال را باز کرده و به دایرکتوری پروژه بروید. سپس دستور زیر را وارد نمایید تا پروژه اجرا شود.
python main.py
جمع بندی
اگر از قبل دانش کافی در رابطه با زبان برنامه نویسی پایتون را دارید، میتوانید اپلیکیشن موبایل را نیز با آن توسعه دهید. با کمک برنامه نویسی پایتون اپلیکیشنهای مختلفی میتوان درست کرد. نکته قابل توجه این است که برنامههای نوشته شده با پایتون برای موبایل، از لحاظ پرفورمنس و کارایی شبیه اپلیکیشنهای بومی هستند. بنابراین اگر به دنبال راهی برای اجرای ایدههای خود هستید، Python یکی از بهترین گزینهها است. در این نوشته سعی کردیم نکات مهم و اساسی را با شما عزیزان به اشتراک گذاشته و یک مثال عملی را پیش ببریم.
امیدواریم این مطلب مورد رضایت شما واقع شده باشد. چنانچه در این رابطه نیاز به راهنمایی داشتید، خوشحال میشویم آن را با ما مطرح نمایید.
آموزش پایتون
اگر به فکر یادگیری برنامهنویسی پایتون برای توسعه بازی هستید ابتدا باید اصول برنامهنویسی و مقدمات پایتون را یاد بگیرید. برای کمک به یادگیری پایتون در مکتب خونه انواع دوره آموزش پایتون موجود است که به کاربران کمک میکند به سادهترین شکل ممکن پایتون را بیاموزند. از طریق صفحه آموزش پایتون مکتب خونه میتوانید انواع دورههای موجود برای پایتون را ببینید. ساخت بازی پایتون محور نیازمند یادگیری اصولی این زبان برنامهنویسی است.