آموزش ساخت اپلیکیشن موبایل با پایتون — کاربردی و گام به گام
آیا شما هم ایده خارقالعادهای برای ساخت یک اپلیکیشن موبایل دارید، ولی نمیدانید از چه زبان برنامه نویسی باید استفاده کنید؟ در این مقاله نگاهی دقیقتر به رویکردی نه چندان مرسوم، یعنی ساخت اپلیکیشن موبایل با پایتون پرداخته شده است. در این نوشتار، مروری بر مضمون توسعه موبایل با پایتون انجام میشود. مطالعه این مطلب برای آشنایی با جزئیات و ویژگیهای برنامه نویسی موبایل با پایتون و همچنین شناخت آن دسته از انواع برنامههای موبایلی پیشنهاد میشود که این زبان برای تولید آنها مناسب است. در این نوشتار، آموزش ساخت اپلیکیشن موبایل با پایتون و ترفندهایی کاربردی در خصوص توسعه اپلیکیشنهای تلفنهای هوشمند با استفاده از این زبان برنامه نویسی ارائه شده است.
معمولاً در حوزه ساخت اپلیکیشن موبایل ، پایتون بهترین و اولین انتخاب محسوب نمیشود. در صورتی که به دنبال فناوریهای مرسوم و اصلی توسعه موبایل هستید، استفاده از زبانهایی مثل کاتلین و جاوا برای برنامه نویسی اندروید، سوئیفت و Objective-C برای برنامه نویسی iOS و همچنین جاوا اسکریپت و فریم ورکهای آن (مثل React Native) برای توسعه چندپلتفرمی پیشنهاد میشود.
پایتون چیست ؟
پایتون یک زبان برنامه نویسی سطح بالا و همهمنظوره است که از برنامه نویسی شیگرا و برنامه نویسی ساختیافته پشتیبانی میکند. از این رو، ساخت اپلیکیشن موبایل با پایتون و ایجاد وب اپلیکیشنها با این زبان برنامه نویسی به سادگی قابل انجام است.
با توجه به چند منظوره و قدرتمند بودن پایتون، این زبان برنامه نویسی انتخاب مناسبی برای ساخت اپلیکیشن موبایل به حساب میآید. علاوه بر این، پایتون به افراد امکان میدهد تا مثل یک برنامه نویس تفکر کنند و با قواعد نحوی (سینتکس) پیچیده سردرگم نشوند. برای آشنایی بیشتر با زبان برنامه نویسی پایتون، در ادامه به طور مختصر توضیحاتی پیرامون کاربرد این زبان ارائه شده است.
کاربرد پایتون چیست؟
همانطور که پیشتر هم بیان شد، پایتون یک زبان همهمنظوره است و به همین دلیل کاربردهای گستردهای دارد و در بسیاری از زمینههای مختلف علمی و تجاری از آن استفاده میشود. کاربرد اصلی پایتون به هوش مصنوعی، یادگیری ماشین و تجزیه و تحلیل دادهها مربوط میشود. در ادامه چند کاربرد پایتون فهرست شدهاند:
- علم داده
- هوش مصنوعی و یادگیری ماشین
- تجزیه و تحلیل داده
- بصریسازی دادهها
- توسعه و ساخت برنامههای کاربردی
- برنامه نویسی وب
- توسعه و ساخت بازیهای کامپیوتری
- ایجاد زبانهای برنامه نویسی
- بازارهای مالی
آیا ساخت اپلیکیشن موبایل با پایتون امکان پذیر است؟
پایتون یک زبان برنامه نویسی همهمنظوره به حساب میآید که برای کاربردهای بسیاری مناسب است و میتوان با استفاده از آن طیف گستردهای از وظایف را انجام داد. پایتون در حوزههای متعددی از جمله توسعه و برنامه نویسی وب، علم داده و بسیاری از زمینههای مربوط به خودکارسازی فرآیندها به کار گرفته میشود. اما آیا ساخت اپلیکیشن موبایل با پایتون هم امکان پذیر است؟
بله؛ با پایتون میتوان ساخت اپلیکیشن موبایل را هم انجام داد. ساخت اپلیکیشن موبایل با پایتون در سال ۲۰۱۱ با معرفی فریم ورک کیوی (Kivy) امکانپذیر شده است.
فریم ورک کیوی Kivy چیست؟
فریم ورک یا همان چارچوب ساخت نرم افزار کیوی، امکان توسعه چندپلتفرمی (Cross-Platform Development) اپلیکیشنها با پایتون را برای کامپیوترهای شخصی و دستگاههای موبایل فراهم میسازد. در این فریم ورک، مجموعهای از ابزارهای سفارشی ساخت رابط کاربری (UI) به کار گرفته میشوند که عناصر کنترلی یکسانی را در پلتفرمهای مختلف درگیر میکنند.
بنابراین ساخت اپلیکیشن موبایل با پایتون امکانپذیر است و فریم ورک دیگری به نام BeeWare نیز برای ساخت اپلیکیشنهای بومی موبایل با پایتون وجود دارد که در ادامه به معرفی آن پرداخته شده است. همچنین در انتهای این مقاله، آموزش ساخت اولین اپلیکیشن موبایل با استفاده از فریم ورک کیوی برای آشنایی بیشتر با این ابزار ارائه شده است.
فریم ورک BeeWare چیست ؟
BeeWare هم یکی دیگر از فریم ورکهای متنباز پایتون به حساب میآید که کار یک برنامه نویس را با فراهمسازی مجموعه ابزارهایی برای ساخت اپلیکیشنهای چندپلتفرمی برای اندروید، iOS، ویندوز، لینوکس و هر سیستم عامل دیگری آسان میکند. در فریم ورک BeeWare نیز از مجموعه ابزارهایی استفاده میشود که عناصر کنترلی بومی هر پلتفرمی در آن به کار گرفته میشوند.
در BeeWare، دکمهها، چکباکسها و سایر عناصر فراهم شده توسط سیستم که در اپلیکیشن توسعه داده میشوند، نقش کنترلگرهای رابط کاربری (UI Controller) را ایفا میکنند. به همین دلیل است که محصول نهایی در حین استفاده در پلتفرم مربوطه ۱۰۰ درصد بومی و مخصوص آن پلتفرم به نظر میرسد. بنابراین، میتوان ساخت اپلیکیشن موبایل با پایتون را با کمک فریم ورک BeeWare هم انجام داد.
چرا ساخت اپلیکیشن موبایل با پایتون را انتخاب کنیم؟
پایتون یکی از محبوبترین زبانهای برنامه نویسی در سالهای اخیر به حساب میآید و به این دلیل انتخاب مناسب و مطلوبی به حساب می آید و مزیتهای متعددی برای توسعه و ساخت نرم افزار به همراه دارد.
در ادامه برخی از مزایای کلیدی پایتون در زمینه ساخت و توسعه نرم افزار فهرست شدهاند:
- عملکرد برنامه نویسی سریعتر: پایتون یک زبان مفسری است و در آن از کامپایلر استفاده نمیشود. استفاده از ساز و کار تفسیری باعث میشود زمان کمتری به هدر رود و عملیات خطایابی بسیار سادهتر انجام شود.
- سازگاری پایتون با توسعه آزمونمحور: پایتون ایجاد نمونههای اولیه (Prototype) را برای اپلیکیشنها سادهتر میکند. با استفاده از پایتون میتوان با بازسازی نمونههای اولیه ایجاد شده، مستقیماً محصول نهایی را تولید کرد.
- تعدد کتابخانههای پایتون: در زبان پایتون میتوان ماژولهای مختلفی را بر حسب نیاز از طیف گستردهای از کتابخانههای کارآمد و قدرتمند آن بدون نیاز به کدنویسی انتخاب کرد و به کار گرفت.
- اجتماع بزرگ برنامه نویسیان و توسعه دهندگان پایتون: در مورد پایتون، اجتماع برنامه نویسیان و توسعه دهندگان بسیار است و آنها راهنماییها، آموزشها و مستندات متعددی را فراهم میکنند. این اجتماع بزرگ، یکی از نقاط برتری مهم پایتون به حساب میآید.
- امکان توسعه چندپلتفرمی در پایتون: تعدد کتابخانهها و فریم ورکها در پایتون باعث شده است تا امکان ایجاد یک کُد پایه (Codebase) مشترک برای پلتفرمهای مختلفی نظیر اندروید و iOS فراهم شود که به آن امکان توسعه چندپلتفرمی گفته میشود.
ساخت اپلیکیشن موبایل با پایتون برای چه نوع برنامه های موبایلی مناسب است؟
در گذشته، ساخت اپلیکیشن موبایل با پایتون چندان رایج نبوده و محبوبیت نداشته است. اما با ظهور فریم ورکهای مختلف ساخت رابط کاربری گرافیکی (GUI) برای پایتون همه چیز تغییر کرده است و در حال حاضر این زبان برنامه نویسی به میزان گستردهای در حوزه ساخت اپلیکیشن موبایل به کار گرفته میشود. زبان برنامه نویسی پایتون نسبتاً زبانی همهکاره است. از پایتون میتوان برای ساخت اپلیکیشنهای گوناگونی استفاده کرد.
میتوان ساخت اپلیکیشن موبایل با پایتون را از ایجاد برنامه مرورگر وب آغاز و کار را با ساخت بازیهای ساده موبایلی ادامه داد. یک مزیت دیگر ساخت اپلیکیشن موبایل با پایتون ، چندپلتفرمی بودن محصول تولید شده است. یعنی میتوان با استفاده از پایتون، هم اپلیکیشنهای اندروید و هم اپلیکیشنهای iOS ساخت.
معرفی فیلم های آموزش توسعه اپلیکیشن موبایل
در تم آف، تقریباً تمام دورههای آموزشی ساخت اپلیکیشن موبایل در یک مجموعه آموزشی گردآوری شدهاند. مجموعه دورههای آموزش توسعه اپلیکیشن موبایل، حاوی دورههای آموزشی مختلفی برای برنامه نویسی اندروید و iOS در سطوح مختلف مقدماتی، تکمیلی و پیشرفته است. علاوه بر این، تعدادی دوره پروژهمحور نیز در این مجموعه موجود است. دورههایی هم با محوریت زبانهای برنامه نویسی به کار گرفته شده در ساخت اپلیکیشن موبایل نظیر کاتلین و سوئیفت در این مجموعه در دسترس هستند. تعدادی از دورههای کلیدی این مجموعه آموزشی در تصویر فوق ملاحظه میشوند.
- برای دسترسی به تمام دورههای مجموعه آموزشهای توسعه اپلیکیشن موبایل + کلیک کنید.
برای ساخت اپلیکیشن موبایل با پایتون چه مواردی باید در نظر گرفته شوند؟
وقتی تصمیم گرفته میشود که ساخت اپلیکیشن موبایل با پایتون انجام شود، اول از همه نیاز به یک رابط کاربری گرافیکی وجود دارد. پر استفادهترین و محبوبترین فریم ورکها برای ساخت GUI با پایتون، کیوی و BeeWare هستند که پیشتر به آنها اشاره شد.
اگرچه، این دو فریم ورک تنها چارچوبهای ساخت GUI با پایتون در طول فرآیند توسعه محسوب نمیشوند. پس چه چارچوبهای توسعه نرم افزاری دیگری را میتوان برای ساخت اپلیکیشن موبایل با پایتون به کار گرفت؟
- Python-for-Android
- PyJNIus
- Plyer
- PyOBJuS
فریم ورکهای فوق برای چه منظوری استفاده میشوند؟ در ادامه به معرفی هر یک از فریم ورکهای فوق پرداخته شده است.
فریم ورک Python-for-Android چیست؟
Python-for-Android ابزاری است که برای تعامل پایتون با اندروید به کار گرفته میشود. کارکرد اصلی Python-for-Android ایجاد یک پوشه پروژه حاوی تمام ابزارهای مورد نیاز برای اجرای اپلیکیشن موبایل است. این پوشه، فریم ورک kivy و کتابخانههای مختلفی نظیر SDL ،Pygame و سایر موارد را شامل میشود.
این پوشه حاوی یک بارگذارنده جاوا (Java Loader) است که نوعی حد واسط میان کیوی و سیستم عامل به حساب میآید. در ادامه هم برنامه نویس اسکریپتهای خودش را اضافه خواهد کرد و سپس اپلیکیشن با استفاده از Android NDK (کیت توسعه بومی اندروید) کامپایل میشود.
فریم ورک PyJNIus چیست ؟
PyJNIus فریم ورکی به حساب میآید که برای فراهم کردن تعامل میان پایتون و API اندروید طراحی شده است. با استفاده از این API میتوان اطلاعاتی را از بخشهای مختلف دستگاه موبایل دریافت کرد. از جمله بخشهای مختلف دستگاه موبایل، میتوان قسمت لرزش (ویبره)، توقف (Pause)، بارگذاری مجدد (Restart) و بسیاری از موارد دیگر را نام برد.
نقطه ضعف اصلی فریم ورک PyJNIus این است که استفاده از آن به داشتن آگاهی زیادی در زمینه API اندروید نیاز دارد و نیاز به نوشتن مقدار زیادی کد وجود دارد. لازم به ذکر است که رقیب PyJNIus در جاوا هم مشابه این فریم ورک است.
فریم ورک Plyer چیست ؟
فریم ورک Plyer برای رفع مشکلات PyJNIus طراحی و ساخته شده است. پروژه Plyer با هدف ایجاد یک واسط ساده پایتون به همراه توابعی ارائه شده که در اکثر پلتفرمهای مُدرن و امروزی وجود دارند. کدهایی که با استفاده از Plyer نوشته میشوند، در تمام پلتفرمهای تحت پشتیبانی یعنی اندروید، iOS، لینوکس، ویندوز و مک OS قابل اجرا هستند. برای سیستم عامل iOS، فریم ورک دیگری هم به نام PyOBJus وجود دارد که میتوان از آن استفاده کرد.
چه موارد دیگری را باید در هنگام ساخت اپلیکیشن موبایل با پایتون به یاد داشت؟
این زبان برنامه نویسی نقاط ضعفی هم دارد که باید آنها را در نظر گرفت:
- در از قابلیت دامنه پویا (Dynamic Scope) استفاده میشود. یعنی برای ارزیابی یک عبارت، مفسر متغیر بلوک فعلی را جستجو میکند و سپس این جستجو را در تمام توابع انجام میدهد. مشکل اینجاست که هر عبارت یا گزاره باید در تمام محدودهها مورد تایید قرار بگیرد.
- توابع لاندا (Lambda Functions) در پایتون محدود هستند. آنها میتوانند نه عملگر، بلکه به صورت عبارت باشند.
- در پایتون نه از کامپایلر، بلکه از مفسر استفاده میشود. یعنی پایتون یک زبان مفسری به حساب میآید. بنابراین، هر گونه خطایی که در اپلیکیشن وجود داشته باشد، تنها در زمان اجرا کشف خواهد شد.
برای ساخت اپلیکیشن موبایل با پایتون به چه منابعی نیاز است؟
منبع اصلی برای فردی که قصد دارد به تنهایی یک اپلیکیشن موبایل بسازد، «زمان» است. برای توسعه و ساخت یک محصول نرم افزاری با پایتون چقدر زمان نیاز است؟ قطعاً پاسخ این سوال به میزان پیچیدگی ایده و سطح مهارتهای برنامه نویسی شخص بستگی دارد. اما به طور میانگین، معمولاً برای ساخت یک اپلیکیشن موبایل توسط برنامه نویسان حرفهای با هر زبانی، تا ۳ ماه زمان نیاز است.
در صورتی که فردی تازه کار و در حال یادگیری باشد، باید این حقیقت را بپذیرد که نیاز به صرف زمان بیشتری هم وجود دارد. پس اگر فردی در پایتون تخصص نداشته باشد، اما به توسعه و ساخت اپلیکیشنهای موبایل به زبان پایتون علاقه داشته باشد، باید چه کند؟ پیش از هر چیز، حداقل نیاز به ۲ ماه زمان برای یادگیری وجود دارد.
در صورتی که فرد مدیریت پروژه را به تنهایی بر عهده دارد و قرار نیست در برنامه نویسی و توسعه محصول مشارکت داشته باشد، آنگاه باید بداند که هر مرحله به چه میزان زمان نیاز دارد:
مراحل توسعه محصول | زمان مورد نیاز |
ایجاد یک طرح توجیهی برای برنامه نویسان و توسعه دهندگان | بین یک تا ۲ هفته |
جستجو برای برنامه نویسان مناسب و مطرح کردن ایده مربوطه با آنها | تقریباً یک ماه |
طراحی توسعه و ساخت | ۱.۵ تا ۳ ماه |
توسعه و ساخت اپلیکیشن | ۳ ماه |
انتشار محصول در فروشگاه اپلیکیشن | تا ۱۴ روز |
بنابراین، همانطور که از جدول فوق پیدا است، باید در نظر داشت که کل فرآیند توسعه و انتشار محصول نزدیک به ۸ ماه زمان میبرد.
در صورتی که قرار نباشد که ساخت اپلیکیشن به صورت انفرادی انجام شود، آنگاه دومین منبع مورد نیاز برای ساخت اپلیکیشن موبایل با پایتون ، «سرمایه» خواهد بود. هزینه نهایی پروژه به موارد زیر بستگی دارد:
- میزان پیچیدگی و سطح دشواری پروژه: هر چه محصول مورد نظر سادهتر باشد، به تعداد برنامه نویسان کمتری نیاز خواهد بود و میتوان متخصصان ارزانقیمتتری را استخدام کرد.
- موقعیت جغرافیایی: به طور قطع، هزینه پرداخت حقوق یک توسعه دهنده اهل کشور آمریکا بیشتر از میزان پرداختی به یک برنامه نویس هندی یا روسی خواهد بود. البته میتوان این مشکل را با استخدام یک متخصص دورکار ساکن در کشوری با حقوقهای پایینتر برطرف کرد. اگرچه در چنین حالتی چون فرد استخدام شده به زبان دیگری صحبت میکند و همچنین به صورت فیزیکی در محل حضور ندارد، چالشهایی به وجود خواهند آمد.
برای محاسبه هزینه انجام یک پروژه ساخت اپلیکیشن موبایل با پایتون باید تعداد ماههایی که نیاز به فعالیت برنامه نویسان استخدام شده وجود دارد را در حقوق ماهانه توافق شده ضرب کرد. همچنین باید هزینه پرداخت حقوق طراح اپلیکیشن را هم در نظر گرفت. میزان حقوق طراح هم به سطح تخصص، محل سکونت و پیچیدگی پروژه بستگی دارد.
در صورتی که شخص خودش زمان کافی برای مدیریت تمام فرآیندهای ساخت اپلیکیشن را نداشته باشد، نیاز به استخدام یک اسکرام مستر (Scrum Master) یا مدیر پروژه وجود دارد. این مسئله به خصوص زمانی مفید خواهد بود که وسعت پروژه زیاد باشد. هزینه پرداخت حقوق یک اسکرام مستر یا مدیر پروژه نیز به عوامل یکسانی بستگی دارد.
معرفی نمونه هایی از اپلیکیشن های موبایل ساخته شده با پایتون
ممکن است برخی از افراد همچنان در خصوص ایده ساخت اپلیکیشن موبایل با پایتون تردید داشته باشند. بنابراین در این بخش تعدادی از اپلیکیشنهای موبایل ساخته شده با پایتون به عنوان نمونه معرفی شدهاند تا بتوان از آنها به عنوان منبع الهام استفاده کرد.
اپلیکیشن موبایل Pinterest ساخته شده با پایتون
Pinterest یک سرویس اجتماع اینترنتی بسیار شناخته شده است که برای به اشتراکگذاری محتوای بصری کاربران با یکدیگر مورد استفاده قرار میگیرد. در اپلیکیشن موبایل شبکه اجتماعی Pinterest، یکی از فریم ورکهای پایتون به نام جنگو (Django) برای کار با حجم وسیع اطلاعات تبادل شده در این پلتفرم به کار گرفته شده است.
با توجه به اینکه ساختار اپلیکیشنهای موبایل هم از فرانت اند و بک اند تشکیل شده است، میتوان گفت که یکی دیگر از ابزارهایی که از آن برای ساخت اپلیکیشن موبایل با پایتون استفاده میشود، جنگو در بک اند است. برای کسب اطلاعات بیشتر پیرامون این فریم ورک توسعه وب، مطالعه مقاله زیر پیشنهاد میشود:
- آموزش جنگو (Django) | راهنمای کامل و رایگان جنگو برای شروع
فیلم آموزش جنگو – فریمورک تحت وب Django با پایتون Python
جنگو یک فریم ورک سطح بالای وب بر پایه پایتون است که امکان توسعه و برنامه نویسی سریع (بک اند) وب سایتهای ایمن و با قابلیت نگهداری بالا را فراهم میسازد. از جنگو میتوان برای ساخت اپلیکیشن موبایل با پایتون در بک اند استفاده کرد. برای یادگیری استفاده از جنگو میتوان از دروه آموزش جنگو تم آف استفاده کرد. این دوره آموزشی از ۷ بخش تشکیل شده است و برخی از عناوین این فصلها شامل نصب و آماده سازی جنگو، پایگاه داده و Models، صفحه مدیریت و سایر موارد میشود.
- برای دیدن فیلم آموزش آموزش جنگو (Django) – فریمورک تحت وب با پایتون (Python) + اینجا کلیک کنید.
اپلیکیشن موبایل اینستاگرام ساخته شده با پایتون
اینستاگرام (Instagram) هم یک شبکه اجتماعی به شدت شناخته شده و محبوب برای به اشتراکگذاری تصویر و ویدیو به حساب میآید که در حال حاضر میلیونها حساب کاربری در آن فعال هستند. یافتن شخصی که با این اپلیکیشن موبایل محبوب آشنایی نداشته باشد، کار چندان سادهای نیست. باید گفت که بک اند اینستاگرام با پایتون نوشته شده است. اینستاگرام یکی از بهترین نمونهها برای ساخت اپلیکیشن موبایل با پایتون به حساب میآید.
اپلیکیشن موبایل اسپاتیفای ساخته شده با پایتون
اسپاتیافای (Sotify) هم سرویسی برای گوش دادن موسیقی به صورت آنلاین به حساب میآید. چنین اپلیکیشن موبایلی ساختار بک اند بسیار پیچیدهای دارد و برنامه نویسی آن دشوار است. اسپاتیفای دارای سرویسهای متعددی است که به پروتکل پیامرسانی مخصوص به خود متصل هستند. ۸۰ درصد این سوریسها با پایتون توسعه داده شدهاند.
بنابراین، میتوان از مثالهای ارائه شده در این بخش الهام گرفت و نکاتی که در این مقاله آموزش داده شدند را مد نظر قرار داد و توسعه ایده ناب خود را در خصوص ساخت اپلیکیشن موبایل با پایتون در ذهن پروراند و به آن جامه عمل پوشاند.
سایر ابزارهای ساخت اپلیکیشن موبایل با پایتون کدامند؟
تا اینجا ابزارهای اصلی یعنی دو فریم ورک کیوی و BeeWare برای ساخت اپلیکیشن موبایل با پایتون معرفی شدند. علاوه بر این دو فریم ورک، به معرفی Python-for-Android ،PyJNIus ،Plyer و PyOBJuS نیز پرداخته شد. برخی از ابزارهای دیگر هم وجود دارند که در ساخت اپلیکیشن موبایل با پایتون متوان از آنها در این بخش به معرفی مختصر هر یک از آنها پرداخته شده است.
Chaquopy چیست ؟
Chaquopy یک کیت توسعه نرم افزار پایتون برای برنامه نویسی اندروید به حساب میآید. تمام آنچه برای گنجاندن اجزای پایتون در یک اپلیکیشن اندروید مورد نیاز است با استفاده از Chaquopy فراهم خواهد شد.
برخی از ویژگیها و قابلیتهای مهم Chaquopy در ادامه فهرست شدهاند:
- سازگاری کامل با سیستم ساخت استاندارد Gradle در اندروید استودیو
- APIهای ساده برای فراخوانی کدهای پایتون از جاوا/کاتلین و بالعکس
- گستره وسیعی از بستههای شخص ثالث پایتون شامل، TensorFlow ،OpenCV ،SciPy و بسیاری از موارد دیگر
Qpython چیست ؟
Qpython یک موتور اسکریپت پایتون برای سیستم عامل اندروید است که برنامههای پایتون را روی هر نوع دستگاه اندرویدی اجرا میکند. این ابزار حاوی یک مفسر پایتون، یک کنسول و یک ویرایشگر است. علاوه بر یک کتابخانه اساسی پایتون، کتابخانه یا فریم ورک Bottle که از توسعه وب اپلیکیشن پشتیبانی میکند هم در QPython ادغام شده است. همچنین کتابخانه SL4A که فراخوانی APIهای اندرویدی را پوشش میدهد نیز در Qpython گنجانده شده است. برای QPython یک اپلیکیشن iOS هم در اپاستور وجود دارد.
SL4A چیست ؟
SL4A مخفف عبارت «Scripting Layer for Android» و به معنی «لایه اسکریپتی برای اندروید» است. کتابخانه SL4A به نوشتن اسکریپتهایی کمک میکند که پلتفرم اندروید را هدف قرار میدهند. SL4A از تعدادی از زبانهای اسکریپتی مثل پرل، پایتون، PHP ،JRuby و سایر موارد پشتیبانی میکند. علاوه بر این، میتوان SL4A را برای پشتیبانی از زبانهای جدید هم تعمیم داد. در حالی که از جاوا میتوان برای برنامه نویسی اندروید استفاده کرد، اینکه تمام آنچه مورد نیاز است، فقط نوشتن یک نمونه خاص یا روشن/ خاموش کردن تنظیماتی روی دستگاه باشد، یک مزیت به حساب میآید.
Termux چیست ؟
Termux یک شبیهساز ترمینال رایگان و متنباز برای اندروید است که امکان اجرای محیط لینوکس را روی یک دستگاه اندرویدی فراهم میسازد. علاوه بر این، نرم افزارهای مختلفی را میتوان از طریق مدیر بسته این اپلیکیشن نصب کرد. Termux اولین اپلیکیشن ترمینال اندرویدی به حساب می آید که برخلاف سایر شبیهسازهای ترمینال، حاوی انواع مختلفی از نرم افزارها است.
دیگر شبیهسازهایی که وجود دارند، تنها ابزارهای محدود و کوچک فراهم شده توسط اندروید را ارائه میدهند. قابلیت نصب مفسرهای زبانهای برنامه نویسی نظیر روبی، پایتون، جاوا اسکریپت و برخی از زبانهای دیگر نیز در Termux فراهم شده است.
PyQt چیست ؟
PyQt ارتباط فریم ورک چندپلتفرمی مبتنی بر C++ جعبه ابزار Qt را با زبان پایتون برقرار میکند و یک ماژول رابط کاربری گرافیکی (GUI) به حساب میآید. Qt چیزی بیشتر از یک جعبه ابزار ساخت رابط کاربری گرافیکی به حساب میآید؛ به همین دلیل است که این ابزار دارای امکاناتی شامل موارد زیر است:
- انتزاعهایی از سوکتهای شبکه یا نخها
- یونیکد
- بانکهای اطلاعاتی SQL
- SVG
- XML
- OpenGL
- یک مرورگر وب عملیاتی
- سیستم خدمات
- دامنه وسیعی از ویجتهای GUI
با توجه به اینکه Qt یک ابزار چندپلتفرمی است و از اندروید و iOS پشتیبانی میکند، به کمک PyQt میتوان اپلیکیشن ساخت اپلیکیشن موبایل با پایتون را انجام داد.
Toga چیست ؟
Toga هم یک جعبه ابزار چند پلتفرمی ساخت رابط گرافیکی (GUI) با پایتون به حساب میآید. Toga کتابخانهای از اجزای پایه به همراه یک واسط مشترک برای سادهسازی ساخت GUI مستقل از پلتفرم را شامل میشود. Toga هم چندپلتفرمی است و برای ساخت GUI در اندروید و iOS نیز میتوان از آن استفاده کرد.
آموزش ساخت اولین اپلیکیشن موبایل با پایتون
اخیراً تحولی شگرف در زمینه توسعه زبانهای برنامه نویسی و فریم ورکهای چندپلتفرمی حاصل شده است. در توسعه چندپلتفرمی، از یک کتابخانه یا ابزار برنامه نویسی برای توسعه و ساخت اپلیکیشنهایی استفاده میشود که قابلیت اجرا روی ویندوز، مک OS، اندروید و لینوکس را دارند.
این روند و رویکرد جدید باعث میشود که برنامه نویسان ناچار به بازنویسی دوباره کدها برای هر پلتفرم به طور مجزا نشوند. بنابراین، برای مثال، یک توسعه دهنده اندروید میتواند کد مبنای واحدی را بنویسد که قابلیت اجرای کارآمد را روی دستگاههای مختلف داشته باشد.
در فریم ورک کیوی پایتون نیز همین رویکرد پیادهسازی شده است و با استفاده از آن، برنامه نویسان میتوانند برای بسیاری از سیستم عاملها و دستگاهها، اپلیکیشنهای چندپلتفرمی بسازند. بنابراین، اپلیکیشنهایی که با استفاده از این کتابخانه توسعه داده میشوند در پلتفرمهای مختلف عملکرد یکسانی دارند. یکی از مزایای کیوی این است که این فریم ورک واسط کاربری گرافیکی دارد و توسعه دهنده میتواند در حین ساخت اپلیکیشن با آن تعامل داشته باشد.
در این بخش، نحوه راهاندازی و آمادهسازی فریم ورک کیوی برای توسعه و ساخت یک اپلیکیشن ساده با استفاده از این فریم ورک آموزش داده شده است. پس از آن هم یک واسط کاربری گرافیکی جهت انجام محاسبات میزان سن یک شخص ساخته خواهد شد.
انجام این پروژه خواننده را قادر خواهد ساخت تا نحوه برنامه نویسی مقدماتی با کتابخانه کیوی را بیاموزد و یک رابط کاربری گرافیکی را با استفاده از اجزایی مثل تصاویر، متن، دکمهها و برچسبها ایجاد کند. علاوه بر این، نحوه تعامل با اجزای مختلف طرحبندی نیز در این بخش آموزش داده شده است.
پیش نیازهای آموزش ساخت اپلیکیشن موبایل با پایتون
خواننده پیش از شروع یادگیری آموزش ساخت اپلیکیشن موبایل با پایتون باید درک درستی از موارد زیر داشته باشد:
- زبان برنامه نویسی پایتون
- شی و کلاس در پایتون
برای آشنایی مقدماتی و یادگیری زبان برنامه نویسی پایتون ، میتوان از دورههای آموزش پایتون ویدیویی تم آف استفاده کرد. همچنین تا کنون مقالات متعددی هم برای آموزش پایتون در مجله تم آف منتشر شدهاند که مطالعه آنها برای یادگیری این زبان پیشنهاد میشود.
- مقاله پیشنهادی: آموزش پایتون (Python) — مجموعه مقالات جامع وبلاگ تم آف
معرفی فیلم آموزش پایتون تم آف – مقدماتی
برای یادگیری برنامه نویسی پایتون در سطح مبتدی که پیشنیازی برای آموزش ساخت اپلیکیشن موبایل با پایتون به حساب میآید، میتوان از دوره ویدیویی آموزش مقدماتی پایتون تم آف استفاده کرد. این دوره آموزشی بسیار جامع است و نزدیک به ۲۰ ساعت محتوای آموزش ویدیویی را شامل میشود. دوره آموزش پایتون تم آف مقدماتی از ۵ فصل تشکیل شده است و از جمله عنوانهای هر یک از این فصلها میتوان به آشنایی با پایتون، ساختمان داده در پایتون، توابع و ماژولها در پایتون و بسیاری از موارد دیگر اشاره کرد.
- برای مشاهده فیلم آموزش پایتون تم آف – مقدماتی + اینجا کلیک کنید.
معرفی فیلم آموزش برنامه نویسی شی گرا در پایتون
برای یادگیری پیش نیاز دیگر آموزش ساخت اپلیکیشن موبایل با پایتون ، یعنی مفهوم شی و کلاس، میتوان از دوره آموزش برنامه نویسی شی گرا در پایتون استفاده کرد. در این دوره، مفاهیم شی گرایی پایتون به طور جامع و همراه با مثالهای عملی به بیان ساده، آموزش داده شدهاند. این دوره ۸ درس مختلف را شامل میشود که از جمله سرفصلهای این دروس میتوان مروری به پایتون، مفاهیم اولیه شی گرایی، متدهای Dunder – سربارگذاری و سایر موارد را نام برد.
- برای مشاهده فیلم آموزش برنامه نویسی شی گرا در پایتون + اینجا کلیک کنید.
۱. راه اندازی پروژه ساخت اپلیکیشن موبایل با پایتون
برای شروع کار باید کتابخانه یا همان فریم ورک کیوی روی سیستم نصب شود. برای نصب کیوی روی سیستم از دستور زیر استفاده میشود:
pip install kivy
۲. Import کردن کتابخانه کیوی
در این مرحله باید یک پوشه ساخته شود و میتوان آن را «calculator app» نامگذاری کرد. این نام در واقع عمان نام اپلیکیشن ساخته شده خواهد بود. حالا باید در پوشه ایجاده شده فایل جدیدی ایجاد کرد و نام آن را main.py گذاشت. در ادامه هم باید قطعه کد زیر را به فایل main اضافه کرد:
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
قطعه کد فوق ویجتهای اجزا مورد نیاز برای ساخت اپلیکیشن موبایل Age Calculator با پایتون را Import (وارد) میکند.
۳. برنامه نویسی ویجت های اپلیکیشن موبایل با پایتون
در این مرحله باید یک شی پنجره (Window Object) برای اپلیکیشن به وسیله مقداردهی اولیه کلاسی به نام AgeCalculator ایجاد شود. فریم ورک کیوی در پایتون مبتنی بر کلاسها و اشیا عمل میکند. بنابراین در صورتی که دانشجو به خوبی به دانش و مهارت کلاسهای پایتون مجهز نباشد، باید پیش از ادامه مطالعه این مقاله آموزشی به سراغ یادگیری مفاهیم برنامه نویسی شیگرا در پایتون برود. کلاس AgeCalculator به صورت زیر ایجاد میشود:
class AgeCalculator(App):
def build(self):
self.window = GridLayout()
return self.window
در آخر نیز باید مشخص کرد که به محض اجرای فایل توسط برنامه، تابع AgeCalculator باید اجرا شود:
if __name__ == "__main__":
AgeCalculator().run()
اکنون لازم است تا اپلیکیشن ساخته شده شکل و فُرم بگیرد و رابط کاربری ملموستری داشته باشد و تعامل کاربر با آن آسانتر انجام شود. برای مثال باید کار را با تنظیم تعداد ستونهایی آغاز کرد که طرحبندی مشبک به خود خواهد گرفت. سپس سایر استایلدهیها پس از پیادهسازی قابلیتهای عملکردی کامل، انجام خواهد شد.
self.window.cols = 1
با استفاده از قطعه کد زیر لوگوی انتخاب شده برای اپلیکیشن مربوطه تنظیم میشود. باز هم باید گفت که لازم است فایل لوگوی اپلیکیشن در همان شاخهای ذخیره شود که فایل main.py در آن قرار دارد.
self.window.add_widget(Image(source("logo_image.png")))
با توجه به اینکه هدف این اپلیکیشن پیدا کردن سن کاربر با دریافت تاریخ تولد است، باید یک ورودی برای ثبت تاریخ تولد توسط کاربر وجود داشته باشد که میتوان برچسبی به آن نسبت داد. این برچسب بیان میکند: «سال تولد خود را وارد کنید» (enter your year of birth):
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)
۴. دریافت ورودی کاربر در کیوی
در این مرحله، کاربردی برای اتصال به ورودی کاربر برپا میشود که همان تاریخ تولد شخص است:
self.date = TextInput()
۵. اتصال تابع محاسبه سن به دکمه در رابط کاربری
در این گام لازم است تا اتصال لازم میان تابع بازخوانی (Callback) که سن را محاسبه میکند با دکمه مربوطه در رابطه کاربری اپلیکیشن برقرار شود. این اتصال به گونهای انجام میشود که وقتی روی دکمه Calculate Age کلیک میشود، تابع getAge برای محاسبه سن از سال تولد وارد شده توسط کاربر، فراخوانی خواهد شد:
self.button = Button(text = "Calculate Age")
self.button.bind(on_press = self.getAge)
self.window.add_widget(self.button)
۶. کدنویسی و ایجاد تابع محاسبه سن
این تابع مقدار سال تولد را در ورودی دریافت و آن را از مقدار امسال کم میکند. در کدنویسی این تابع از ماژول DateTime استفاده و بخش مربوط به سال از آن استخراج شده است. علاوه بر این، مقدار سال ورودی توسط کاربر از نوع رشتهای به نوع عدد صحیح (Integer) تغییر داده میشود تا یک نوع داده یکنواخت محاسبه شود. در آخر نیز نتیجه حاصل شده به نوع رشتهای تبدیل و به کاربر نمایش داده میشود:
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"
۷. استایل دهی به رابط کاربری اپلیکیشن ساخته شده با پایتون کیوی
برای استایلدهی صحیح به اپلیکیشن خود، میتوان کار را با افزودن حاشیههایی به اطراف و قسمت پایینی اپلیکیشن آغاز کرد. حاشیه (Margin) فضایی در اطراف یک جزء (کامپوننت) در اپلیکیشن به حساب میآید. در این مورد به خصوص، حاشیه فضای اطراف طرحبندی (قالب) نگهدارنده (کانتینر) خواهد بود. علاوه بر این، تغییرات دیگری هم در سایر اجزای اپلیکیشن با استفاده از قطعه کد زیر اعمال شده است.
مزیت دیگر کیوی این است که اپلیکیشن توسعه داده شده به صورت خودکار به اندازه صفحه نمایش واکنش نشان میدهد و لبههای آن به خوبی با اندازه صفحه نمایش هماهنگ میشوند.
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
معرفی فیلم های آموزش ساخت اپلیکیشن موبایل
همانطور که در ابتدای این مقاله بیان شد، پایتون اصلیترین و بهترین گزینه برای ساخت اپلیکیشن موبایل به حساب نمیآید. زبانهای برنامه نویسی، فریم ورکها، کتابخانهها و ابزارهای بسیار زیادی در دنیای توسعه و ساخت اپلیکیشن موبایل وجود دارند. برخی از این ابزارها بسیار رایجتر و محبوبتر هستند و برخی دیگر کمتر استفاده میشوند و برای موارد خاصی کاربرد دارند. در این بخش تعدادی از دورههای آموزشی تم آف در ارتباط با ساخت اپلیکیشن موبایل معرفی شدهاند تا علاقهمندان بتوانند بر حسب نیاز از آنها استفاده کنند.
فیلم آموزش برنامه نویسی کاتلین – توسعه اندروید با Kotlin – مقدماتی
کاتلین یک زبان برنامه نویسی متنباز است و همهمنظوره است که بیشتر برای برنامه نویسی اندروید مورد استفاده قرار میگیرد و به تازگی جایگزین زبان جاوا شده است و گوگل آن را به عنوان زبان رسمی توسعه اندروید معرفی کرده است. بنابراین یادگیری برنامه نویسی اندروید با کاتلین برای آن دسته از افرادی که قصد فعالیت حرفهای در زمینه ساخت اپلیکیشن موبایل اندروید را دارند میتوان بسیار مفید واقع شود. برای یادگیری توسعه اندروید با کاتلین میتوان از دوره ارائه شده تم آف با همین موضوع استفاده کرد.
- برای مشاهده فیلم آموزش برنامه نویسی کاتلین – توسعه اندروید با Kotlin – مقدماتی + اینجا کلیک کنید.
فیلم آموزش برنامه نویسی سوئیفت – برنامه نویسی iOS با Swift
آن دسته از افرادی که قصد یادگیری ساخت اپلیکیشن موبایل برای سیستم عامل iOS را دارند باید زبان برنامه نویسی سوئیفت را فرا بگیرند. برای یادگیری ساخت اپلیکیشن iOS میتوان از دوره آموزش برنامه نویسی iOS با سوئیفت تم آف استفاده کرد. این دوره شامل ۱۰ درس میشود و بسیار جامع و کاربردی است. از جمله سرفصلهاو موضوعات ارائه شده در دوره آموزش برنامه نویسی سوئیفت میتوان به انواع متغیرها در سوئیفت، دیکشنری در سوئیفت، آشنایی با Generic و نحوه پیادهسازی آن و سایر موارد اشاره کرد.
- برای مشاهده فیلم آموزش برنامه نویسی سوئیفت – برنامه نویسی iOS با Swift + اینجا کلیک کنید.
فیلم آموزش فریم ورک Kivy در پایتون – توسعه اپلیکیشن های دسکتاپ با کیوی و Python
هدف از دوره آموزش فریم ورک کیوی در پایتون، معرفی و یادگیری فریم ورک قدرتمند کیوی (Kivy) برای زبان پایتون است. برای یادگیری کیوی، باید در ابتدا به زبان پایتون مسلط شد. مسیر یادگیری در این دوره آموزشی به این صورت است که دانشجویان ابتدا با ابزارکها و لایوتها آشنا میشوند و سپس اپلیکیشنهای دسکتاپی را به کمک فریم ورک کیوی در این دوره آموزشی ایجاد میکنند.
این تم آف توسط مهندس علی دژبرد تدریس شده و حاوی شش ساعت محتوای ویدیویی در ۱۳ فصل است. برخی از سرفصلهای مهم این دوره آموزشی، شامل معرفی فریمورک کیوی، استایل متن با Text Markup، رسم اشکال هندسی، انیمیشنها، پروژه و سایر موارد میشوند.
- برای مشاهده فیلم آموزش فریم ورک کیوی در پایتون – توسعه اپلیکیشن های دسکتاپ با Kivy و Python + اینجا کلیک کنید.
جمعبندی
در این مقاله ابتدا به شرح کلیه نکات مهم پیرامون ساخت اپلیکیشن موبایل با پایتون پرداخته شد و سعی شد تا به اکثر سوالات رایج پیرامون این مبحث پاسخ داده شود. از جمله موارد مهمی که در این نوشتار به آنها پرداخته شد میتوان به امکانپذیر بودن ساخت اپلیکیشن با پایتون، دلیل انتخاب پایتون برای ساخت اپلیکیشن، نوع اپلیکیشنهایی که پایتون برای ساخت آنها مناسب است، مواردی که برای ساخت اپلیکیشن پایتون باید در نظر گرفته شوند و سایر موارد اشاره کرد.
در انتهای این مقاله نیز آموزش ساخت اپلیکیشن موبایل با پایتون در سطح مقدماتی ارائه شده است تا علاقهمندان بتوانند به عنوان نقطه شروع از آن استفاده کنند. همچنین در این مطلب دورههای آموزشی پیشنیاز برای یادگیری ساخت اپلیکیشن موبایل با پایتون و سایر دورههای مرتبط با موضوع این مقاله نیز معرفی شدند.