معرفی
توسعه اپلیکیشن موبایل یک مبنای مشترک دارد، برنامهنویسی، ساخت رابط، مدیریت وضعیت، ارتباط با رابط برنامهنویسی کاربردی (API)، تست و کار تیمی با Git. پس از این مبانی، باید یک مسیر اصلی انتخاب کنید:
توسعه بومی Android با Kotlin
توسعه بومی iOS با Swift
توسعه چندسکویی با Flutter و Dart
توسعه چندسکویی با React Native و JavaScript یا TypeScript
نکته درباره زبان Java: شاخه Android این نقشه راه بر Kotlin متمرکز است. با این وجود در بعضی کدبیسهای Android ممکن است با Java روبهرو شوید. برای ورود به چنین پروژهای باید بتوانید ساختار و منطق کد Java موجود را بخوانید یا برای یادگیری آن برنامه جداگانه داشته باشید.
زمانبندی و برآورد مسیر
در این مسیر شغلی موارد زیر را در نظر بگیرید:
تعداد گامها: ۹ گام (محاسبه شده فقط برای انتخاب یک شاخه اصلی، نه یادگیری همزمان همه فناوریها).
مجموع ساعات آموزش و تمرین: حدود ۳۸۰ ساعت.
مدتزمان تقریبی: با تمرین ۸ تا ۱۲ ساعت در هفته، معمولا ۸ تا ۱۱ ماه زمان میبرد.
موارد خارج از این برآورد: زمان جستجوی شغل، ساخت رزومه، انتظار برای بررسی فروشگاهها و یادگیری فناوری دوم در این تخمین لحاظ نشده است.
بررسی بازار کار و پیشنیازهای سختافزاری
بهتر است در بررسی بازار کار به نکات زیر توجه کنید:
تحقیق پیش از انتخاب شاخه: آگهیهای شغلی ایران را در عناوین «برنامهنویس Android»، «توسعهدهنده Flutter»، «برنامهنویس iOS» و «توسعهدهنده React Native» بررسی کرده و فناوریها، سطح تجربه و نمونهکار خواسته شده را مقایسه کنید.
تست روی دستگاه واقعی: برای تمرین Android، دستگاه واقعی در کنار شبیهساز ارزش زیادی دارد، زیرا رفتار شبکه، اندازه صفحه و بازگشت از برنامه همیشه در شبیهساز یکسان دیده نمیشود.
الزامات شاخه iOS: توسعه و آمادهسازی نسخه iOS به سیستمعامل macOS و Xcode نیاز دارد. همچنین شرایط پذیرش و انتشار در فروشگاههای مقصد (App Store یا فروشگاههای ایرانی) باید از منبع رسمی کنترل شود.
منطق اصلی مسیر و صفحات مرتبط
منطق مسیر این است که ابتدا توانایی حل مسئله و خواندن خطا را بسازید، سپس یک فناوری اصلی را انتخاب کنید و در ادامه، قابلیتهایی شبیه یک محصول واقعی بسازید. هدف، آشنایی سطحی با همه فریمورکها نیست، بلکه هدف این است که بتوانید در یک مسیر اصلی، یک قابلیت محدود را از طرح تا تست، آمادهسازی انتشار و رفع خطا تحویل دهید.
آمادهسازی رزومه و ورود به بازار کار: مراجعه به راهنمای ورود شغل توسعهدهنده اپلیکیشن موبایل.
تمرین پرسشهای فنی و رفتاری: مطالعه راهنمای مصاحبه شغل توسعهدهنده اپلیکیشن موبایل.
مخاطبان نقشه راه
این نقشه راه برای افرادی است که میخواهند از سطح مبتدی وارد حوزه توسعه موبایل شوند یا تجربه برنامهنویسی محدودی دارند. مسیر از مبانی برنامهنویسی آغاز میشود و سپس شما را به انتخاب آگاهانه یک مسیر اصلی، یعنی Android، iOS، Flutter یا React Native میرساند.
دستاورد پایانی
در پایان این مسیر میتوانید یک اپلیکیشن موبایل قابلنصب بسازید، صفحهها و ناوبری آن را پیادهسازی کنید، آن را به رابط برنامهنویسی کاربردی (Application Programming Interface یا API) متصل کنید، خطا و وضعیت بارگذاری را مدیریت کنید، تغییرات را با Git ثبت کنید، برنامه را روی دستگاه یا شبیهساز تست کنید و نسخه انتشار آن را آماده کنید. همچنین یک پروژه قابلبررسی برای موقعیتهای جونیور خواهید داشت.
پیشنیازها
شروع این مسیر با دانستن پیشنیازهای زیر هموارتر میشود.
- توانایی کار روزمره با رایانه و نصب نرمافزار
- انگلیسی فنی در حد خواندن مستندات، خطاها و جستوجوی راهحل
- دسترسی به اینترنت پایدار برای دریافت ابزارها و وابستگیهای پروژه
- برای توسعه و انتشار iOS، دسترسی به رایانه macOS لازم است
مسیر یادگیری شغل توسعهدهنده اپلیکیشن موبایل
-
۴۵ ساعت
مبانی برنامهنویسی و حل مسئله
هدف گام: ساختن توانایی نوشتن برنامههای کوچک، خواندن خطا و شکستن یک مسئله به بخشهای قابل پیادهسازی.
پیش از ورود به رابطهای موبایل، باید منطق برنامهنویسی را تمرین کنید: متغیر، نوع داده، شرط، حلقه، تابع، فهرست، شیء و مدیریت خطا. این مرحله را با تمرینهای کوچک بگذرانید، نه فقط تماشای آموزش.
زبان این گام را فقط مطابق مسیر اصلی آینده خود انتخاب کنید:
Kotlin برای Android بومی
Swift برای iOS
Dart برای Flutter و JavaScript
TypeScript برای React Native
اگر شاخه Android را انتخاب میکنید، این نقشه راه Kotlin را مبنا میگیرد؛ Java را فقط در صورت نیاز به خواندن یا نگهداری کدبیس هدف یاد بگیرید. پیش از گام بعدی مسیر اصلی خود را مشخص کنید.
مفاهیم تکمیلی
متغیرها و نوعهای دادهشرط و تکرارتابع و پارامترهاساختارهای داده پایهشیء و کلاسخواندن پیام خطاتقسیم مسئله به تابعهای کوچکپروژه پیشنهادی: یک برنامه خط فرمان برای ثبت هزینههای روزانه بسازید که مبلغها را دریافت کند، دستهبندی کند و جمع هر دسته را نمایش دهد.
معیار پایان گام: میتوانید بدون کپیکردن راهحل، یک مسئله کوچک را به تابعهای جدا تقسیم کنید، ورودی نامعتبر را مدیریت کنید و علت یک خطای ساده را از پیام خطا پیدا کنید.
-
۲۵ ساعت
انتخاب مسیر اصلی و آمادهسازی محیط توسعه
هدف گام: انتخاب یک فناوری اصلی و ساخت نخستین اپلیکیشن قابل اجرا روی شبیهساز یا دستگاه.
در این گام فقط یک مسیر را مسیر اصلی خود قرار دهید. Android بومی با Kotlin برای کار عمیق با Android مناسب است. iOS بومی با Swift برای محصولهای مبتنی بر اکوسیستم Apple مناسب است. Flutter با یک کدبیس برای Android و iOS توسعه میدهد. React Native نیز برای تیمهایی مناسب است که به JavaScript یا TypeScript تکیه دارند.
برای انتخاب، عنوانهای آگهیهای هدف خود در ایران، فناوری اصلی، سطح تجربه و نوع محصول شرکت را مقایسه کنید. انتخاب شما باید به یک شاخه عملی ختم شود: Android Studio و Kotlin برای Android، Xcode و Swift برای iOS، Flutter و Dart برای Flutter، یا React Native و JavaScript یا TypeScript برای React Native. فقط ابزارهای شاخه انتخابی را نصب کنید. یک پروژه خالی اجرا کنید، ساختار پوشهها را بشناسید و تفاوت اجرای برنامه روی شبیهساز و دستگاه واقعی را مشاهده کنید.
مفاهیم تکمیلی
تفاوت توسعه بومی و چندسکوییمعیار بررسی آگهیهای شغلی هدفانتخاب یک شاخه اصلیچرخه ساخت و اجرای اپلیکیشنساختار اولیه پروژه موبایلاجرای برنامه روی شبیهسازاتصال و اجرای برنامه روی دستگاه واقعیخواندن گزارش ساخت برنامهپروژه پیشنهادی: یک اپلیکیشن تکصفحهای در شاخه انتخابی خود بسازید که نام کاربر را بگیرد و پیام خوشامدگویی شخصیسازیشده نمایش دهد.
معیار پایان گام: شاخه اصلی خود را مشخص کردهاید، پروژه در محیط توسعه همان شاخه بدون خطا اجرا میشود و میتوانید یک تغییر ظاهری یا متنی را اعمال و نتیجه را روی شبیهساز مشاهده کنید.
-
۵۰ ساعت
رابط کاربری، ناوبری و طراحی تعامل
هدف گام: پیادهسازی صفحههای قابل استفاده و جابهجایی قابلپیشبینی میان آنها.
رابط موبایل را از روی یک طرح ساده پیادهسازی کنید. با چیدمان، فاصلهگذاری، فهرستها، فرمها، وضعیت غیرفعال دکمهها، صفحههای خالی و بازخورد خطا کار کنید. طرح را پیکسلبهپیکسل تقلید نکنید؛ ابتدا جریان کاربر و حالتهای هر صفحه را بفهمید.
ناوبری را با سناریوی واقعی تمرین کنید: کاربر از فهرست وارد جزئیات میشود، دادهای را ویرایش میکند و به صفحه قبل بازمیگردد. رابط باید در اندازههای متفاوت صفحه و تغییر جهت دستگاه، تا حد نیاز محصول، رفتار قابلقبولی داشته باشد.
مهارتها
ابزارها
مفاهیم تکمیلی
تبدیل طرح به اجزای رابطچیدمان و فاصلهگذاریفرم و اعتبارسنجی ورودیفهرست و صفحه جزئیاتناوبری بین صفحههاحالت خالی و حالت خطاسازگاری با اندازههای مختلف صفحهپروژه پیشنهادی: اپلیکیشن فهرست مطالعه بسازید که صفحه فهرست، افزودن کتاب، جزئیات کتاب و ویرایش اطلاعات داشته باشد.
معیار پایان گام: کاربر میتواند یک جریان کامل شامل افزودن، مشاهده، ویرایش و بازگشت را بدون گمشدن در ناوبری انجام دهد و خطای ورودی نامعتبر را ببیند.
-
۴۵ ساعت
مدیریت وضعیت و داده محلی
هدف گام: حفظ رفتار قابلپیشبینی برنامه هنگام تغییر صفحه، اجرای دوباره و تغییر وضعیت رابط.
برنامههای واقعی فقط مجموعهای از صفحهها نیستند. باید مشخص کنید داده هر صفحه کجا نگهداری میشود، چه زمانی بارگذاری میشود و در حالت بارگذاری، موفقیت یا خطا چه چیزی نمایش داده میشود. این منطق را از اجزای ظاهری جدا نگه دارید تا تغییرات بعدی کمریسکتر باشند.
برای دادههای محدود، ذخیرهسازی محلی را تمرین کنید. نمونههایی مانند تنظیمات کاربر، فهرست علاقهمندی یا وضعیت ورود را انتخاب کنید. داده حساس را بدون شناخت سازوکار امن پلتفرم در ذخیرهسازی معمولی قرار ندهید.
مهارتها
ابزارها
مفاهیم تکمیلی
حالت رابط کاربریتفکیک منطق از نمایشحالت بارگذاری، موفقیت و خطاچرخه عمر صفحهذخیرهسازی محلی دادههای غیرحساسبازیابی وضعیت پس از اجرای دوبارهمدیریت نشست کاربرپروژه پیشنهادی: پروژه فهرست مطالعه را توسعه دهید تا کتابهای ذخیرهشده و وضعیت خواندهشدن آنها پس از بستن و اجرای دوباره برنامه باقی بماند.
معیار پایان گام: با جابهجایی بین صفحهها دادهها بیدلیل پاک نمیشوند، حالتهای بارگذاری و خطا مشخصاند و دادههای غیرحساس پس از اجرای دوباره برنامه بازیابی میشوند.
-
۵۰ ساعت
اتصال به API و مدیریت خطاهای شبکه
هدف گام: دریافت و ارسال داده از سرویس بکاند و نمایش قابلفهم نتیجه به کاربر.
پیش از اتصال رابط، قرارداد API را بررسی کنید: نشانی، روش درخواست، بدنه، پاسخ موفق، پاسخ خطا و شیوه احراز هویت. درخواستها را ابتدا با Postman آزمایش کنید تا مشکل API را با خطای رابط اشتباه نگیرید.
در برنامه، حالت اینترنت قطع، زمانپایان درخواست، پاسخ نامعتبر و خطای سرور را جداگانه مدیریت کنید. هدف این نیست که هر خطا را با یک پیام مبهم بپوشانید؛ باید کاربر بداند چه رخ داده و در صورت امکان چگونه دوباره تلاش کند.
مهارتها
ابزارها
مفاهیم تکمیلی
خواندن قرارداد APIدرخواستهای HTTPتبدیل پاسخ API به مدل دادهارسال داده فرماحراز هویت مبتنی بر توکنزمانپایان و تلاش دوبارهنمایش خطاهای شبکهتفکیک خطای کاربر و خطای سرویسپروژه پیشنهادی: یک اپلیکیشن پیگیری کارها بسازید که فهرست کارها را از یک API دریافت کند، یک کار جدید ارسال کند و خطاهای اتصال را با امکان تلاش دوباره نمایش دهد.
معیار پایان گام: میتوانید یک API را مستقل آزمایش کنید، پاسخ موفق و خطا را در برنامه مدیریت کنید و هنگام قطع اینترنت، رابطی قابلفهم به کاربر نشان دهید.
-
۴۰ ساعت
تست، عیبیابی و کیفیت اپلیکیشن
هدف گام: یافتن خطا پیش از انتشار و ساختن عادت تست در سطح قابلیتهای اصلی.
تست موبایل باید شامل مسیرهای اصلی کاربر و شرایط نامطلوب باشد: اینترنت ضعیف، ورودی نامعتبر، بازگشت از صفحه، تغییر وضعیت برنامه و تفاوت اندازه صفحه. ابتدا تستهای واحد را برای منطق مستقل از رابط بنویسید، سپس جریانهای مهم را دستی روی شبیهساز و تا حد امکان دستگاه واقعی بررسی کنید.
برای رفع باگ، ابتدا راه بازتولید دقیق مسئله را بنویسید. سپس گزارش خطا، ورودیها و وضعیت شبکه را بررسی کنید. تغییر تصادفی کد بدون بازتولید مسئله، هم زمان را هدر میدهد و هم احتمال ایجاد خطای تازه را بالا میبرد.
مهارتها
ابزارها
مفاهیم تکمیلی
تست واحد منطق برنامهتست دستی جریان کاربرنوشتن سناریوی بازتولید باگبررسی گزارش خطاتست روی شبیهساز و دستگاه واقعیبررسی خطاهای شبکهآزمون ورودیهای نامعتبربازبینی عملکرد صفحههای فهرستیپروژه پیشنهادی: برای پروژه پیگیری کارها، سناریوهای تست بنویسید و دستکم ۵ خطای واقعی یا فرضی را بازتولید، رفع و دوباره آزمایش کنید.
معیار پایان گام: برای یک باگ، مراحل بازتولید، علت احتمالی، تغییر انجامشده و نتیجه آزمون دوباره را ثبت میکنید و برای منطق اصلی برنامه تست پایه دارید.
-
۲۵ ساعت
Git و همکاری در یک کدبیس
هدف گام: ثبت تغییرات بهصورت قابل بازبینی و کار روی قابلیتهای کوچک بدون آسیبزدن به کد موجود.
از Git از ابتدای پروژه استفاده کنید، اما در این گام روی عادتهای تیمی تمرکز کنید: ساخت شاخه برای یک قابلیت، نوشتن commit با هدف روشن، بررسی تفاوتها و حل تعارض ساده. هر commit باید تغییر مشخصی را نشان دهد، نه مجموعهای نامرتبط از اصلاحات و فایلهای تولیدشده.
کد خود را پیش از درخواست بازبینی مرور کنید. نامگذاری قابلفهم، حذف کدهای بلااستفاده و توضیح کوتاه درباره تصمیمهای غیرآشکار، بازبینی را آسانتر میکند. در کار واقعی، دریافت بازخورد و اصلاح تغییرات بخشی از تحویل قابلیت است.
مهارتها
ابزارها
مفاهیم تکمیلی
مخزن و تاریخچه تغییراتشاخهبندی برای قابلیتهانوشتن commit هدفمندبررسی تفاوت فایلهاحل تعارض سادهدرخواست ادغام تغییراتاعمال بازخورد بازبینی کدپروژه پیشنهادی: پروژه اصلی را در یک مخزن Git قرار دهید، برای افزودن قابلیت جستوجو یک شاخه جدا بسازید و تغییرات را در چند commit قابلفهم ثبت کنید.
معیار پایان گام: میتوانید یک قابلیت را در شاخه جدا توسعه دهید، تغییرات خود را مرور کنید، تعارض ساده را حل کنید و تاریخچهای داشته باشید که هدف هر commit در آن روشن باشد.
-
۶۵ ساعت
پروژه نهایی و آمادهسازی نسخه قابل ارائه
هدف گام: ترکیب مهارتها در یک اپلیکیشن کوچک اما کامل و قابل اجرا.
یک مسئله محدود انتخاب کنید که به چند صفحه، داده محلی و API نیاز دارد، مانند مدیریت هزینه شخصی، برنامهریزی مطالعه یا فهرست سفارشهای ساده. دامنه پروژه را کوچک نگه دارید. یک قابلیت کامل و قابلاعتماد، از چندین صفحه ناتمام ارزش یادگیری بیشتری دارد.
پروژه باید مسیر اصلی شما را نشان دهد. اگر Flutter یا React Native را انتخاب کردهاید، اجرای آن را روی Android و در صورت دسترسی روی iOS بررسی کنید. اگر Android یا iOS بومی را انتخاب کردهاید، روی رفتارها و قابلیتهای همان پلتفرم تمرکز عمیقتری داشته باشید. در پایان، راهنمای اجرای پروژه و محدودیتهای شناختهشده را در مخزن بنویسید.
مهارتها
ابزارها
مفاهیم تکمیلی
تعیین دامنه حداقلی محصولتبدیل سناریوی کاربر به قابلیتمدیریت خطا در جریان اصلیبازبینی کیفیت پیش از انتشارتهیه نسخه قابل نصبنوشتن راهنمای اجرای پروژهثبت محدودیتها و کارهای باقیماندهپروژه پیشنهادی: یک اپلیکیشن مدیریت هزینه بسازید که ورود کاربر، فهرست تراکنشها، افزودن تراکنش، فیلتر، ذخیرهسازی محلی، دریافت داده از API و حالتهای خطا را پوشش دهد.
معیار پایان گام: اپلیکیشن قابل نصب یا اجراست، جریان اصلی آن بدون خطای شناختهشده کار میکند، کد در مخزن قابل بررسی است و راهنمای اجرای پروژه، فناوریهای استفادهشده و محدودیتهای آن را توضیح میدهد.
-
۳۵ ساعت
ساخت نسخه انتشار و تحویل اپلیکیشن
هدف گام: ساخت یک بسته نصب آزمایششده و آمادهکردن اطلاعات لازم برای تحویل یا انتشار.
نسخه انتشار با اجرای روزانه روی شبیهساز تفاوت دارد. برای Android، شناسه برنامه، شماره نسخه، کلید امضا و ساخت بسته انتشار را تنظیم کنید. بسته خروجی را روی دستگاه واقعی نصب کنید و مطمئن شوید نسخه امضاشده مانند نسخه توسعه به ابزارهای اشکالزدایی وابسته نیست.
برای iOS، ساخت نسخه انتشار و مدیریت شناسه برنامه، گواهی و فرایند امضا در محیط macOS و Xcode انجام میشود. اگر به این محیط دسترسی ندارید، این محدودیت را در راهنمای پروژه بنویسید و خروجی Android را بهعنوان نسخه قابل آزمون تحویل دهید.
پیش از ارسال به هر فروشگاه، اطلاعات موردنیاز، سیاستهای فعلی، حریم خصوصی و فرایند پذیرش همان مقصد را بررسی کنید. این موضوع برای App Store و فروشگاههای ایرانی باید در زمان انتشار از منبع رسمی فروشگاه مقصد کنترل شود.
مهارتها
ابزارها
مفاهیم تکمیلی
ساخت نسخه انتشارشناسه و شماره نسخه برنامهامضای بسته Androidنصب و آزمون بسته انتشارشناسه برنامه و گواهی iOSمدیریت تنظیمات انتشاربررسی الزامات فروشگاه مقصدتهیه یادداشت انتشارپروژه پیشنهادی: از پروژه نهایی یک نسخه انتشار Android بسازید، آن را روی دستگاه واقعی نصب و آزمون کنید و یک راهنمای تحویل شامل شماره نسخه، روش نصب و محدودیتهای شناختهشده بنویسید. در صورت دسترسی به macOS، همین فرایند را برای iOS نیز تمرین کنید.
معیار پایان گام: یک بسته انتشار Android امضاشده دارید که روی دستگاه واقعی نصب و آزمون شده است. شناسه و شماره نسخه مشخصاند، راهنمای نصب و محدودیتها موجود است و در صورت ساخت iOS، تنظیمات امضا و خروجی آن نیز قابل توضیح هستند.
زمان تقریبی یادگیری
برآورد مجموع زمان آموزش، مطالعه و تمرین تا رسیدن به سطح کاربردی؛ بسته به پیشزمینه شما میتواند کمتر یا بیشتر باشد.
ابزارهای مسیر
موارد زیر تصویری کلی از این بخش برای این مسیر ارائه میکنند.
خطاهای رایج مسیر
در ادامه، مهمترین موارد این بخش به تفکیک معرفی شدهاند.
-
شروع همزمان Android، iOS، Flutter و React Native
مبانی مشترک را یاد بگیرید، اما برای پروژه اصلی فقط یک مسیر انتخاب کنید. پس از ساخت یک اپلیکیشن کامل در مسیر اول، مقایسه یا یادگیری مسیر دوم معنای عملی پیدا میکند.
-
تمرکز صرف بر ساخت صفحههای زیبا
برای هر صفحه، حالت بارگذاری، خالی، خطا و داده نامعتبر را نیز طراحی و پیادهسازی کنید. یک صفحه زیبا که هنگام قطع اینترنت بیمعنا میشود، قابلیت کامل نیست.
-
اتصال مستقیم رابط به API بدون بررسی قرارداد
درخواستها و پاسخها را ابتدا با Postman یا Bruno بررسی کنید. مدل داده، خطاهای احتمالی و روش احراز هویت را پیش از نوشتن رابط مشخص کنید.
-
نادیدهگرفتن دستگاه واقعی
شبیهساز برای توسعه روزانه مفید است، اما پیش از پایان پروژه مسیرهای اصلی را روی دستکم یک دستگاه واقعی نیز آزمایش کنید، بهویژه ورودی، اندازه صفحه، شبکه و بازگشت از برنامه.
-
کپیکردن معماری یا کتابخانه بدون فهم مسئله
در پروژههای اولیه، ساختار سادهای انتخاب کنید که بتوانید توضیحش دهید. هر ابزار یا الگو باید مشکلی مشخص، مانند تفکیک منطق از رابط یا مدیریت وضعیت، را حل کند.
-
ثبتنکردن تغییرات با Git تا پایان پروژه
از نخستین روز پروژه مخزن بسازید. قابلیتها را در شاخههای کوچک توسعه دهید و commitهایی ثبت کنید که هرکدام یک تغییر قابل توضیح دارند.
-
بزرگکردن پروژه نهایی
دامنه را با یک سناریوی اصلی آغاز کنید. ابتدا ورود، فهرست، جزئیات، ثبت داده و مدیریت خطا را کامل کنید، قابلیتهای جانبی را فقط پس از پایدارشدن این جریان اضافه کنید.
چکلیست آمادگی شغلی
پیش از ادامه، فهرست زیر را مرور کنید و مطمئن شوید همه موارد را پوشش دادهاید:
- میتوانم در مسیر اصلی خود یک اپلیکیشن چندصفحهای قابل اجرا بسازم.
- میتوانم طرح ساده Figma را به رابط موبایل با ناوبری قابلاستفاده تبدیل کنم.
- میتوانم API را با Postman بررسی و داده آن را در اپلیکیشن نمایش دهم.
- میتوانم حالت بارگذاری، خطا، داده خالی و اینترنت قطع را مدیریت کنم.
- میتوانم دادههای غیرحساس را محلی ذخیره و پس از اجرای دوباره بازیابی کنم.
- میتوانم یک باگ را بازتولید کنم، علت آن را پیگیری کنم و رفع آن را دوباره آزمایش کنم.
- میتوانم تغییراتم را با Git در شاخه جدا ثبت و برای بازبینی آماده کنم.
- میتوانم یک پروژه قابل نصب یا اجرا با راهنمای روشن در مخزن کد ارائه دهم.
- میتوانم یک بسته انتشار Android امضاشده بسازم و آن را روی دستگاه واقعی آزمایش کنم.
پرسشهای پرتکرار
پرسشها و پاسخهای زیر، برخی از موضوعات مهم درباره نقشه راه شغلی توسعهدهنده اپلیکیشن موبایل را روشن میکنند.
مسیر تخصصی موبایل را در کدام گام باید انتخاب کنم؟
پیش از پایان گام دوم، یک شاخه اصلی انتخاب کنید و گامهای بعدی را با همان شاخه پیش ببرید. معیارهای انتخاب Android، iOS، Flutter و React Native در صفحه شغل توسعهدهنده اپلیکیشن موبایل توضیح داده شده است.
آیا برای یادگیری iOS حتما به Mac نیاز دارم؟
برای ساخت، اجرای کامل و انتشار اپلیکیشن iOS به macOS و Xcode نیاز دارید. میتوانید مفاهیم Swift را جداگانه مطالعه کنید، اما تمرین عملی توسعه iOS بدون این محیط محدود میشود.
برای ورود به بازار کار باید همه مسیرهای موبایل را بلد باشم؟
خیر. برای موقعیت جونیور، تسلط کاربردی بر یک مسیر اصلی همراه با Git، API، تست و نمونهکار کامل مفیدتر از آشنایی سطحی با چند فریمورک است.
آیا بدون یادگیری بکاند میتوانم توسعهدهنده موبایل شوم؟
بله، اما باید بتوانید قرارداد API را بخوانید، درخواستها را آزمایش کنید و خطاهای ارتباطی را مدیریت کنید. ساخت سرویس بکاند پیشنیاز این مسیر نیست، ولی درک آن همکاری شما با تیم بکاند را بهتر میکند.
پروژه نهایی چه ویژگیهایی باید داشته باشد؟
بهتر است یک مسئله محدود را کامل حل کند: چند صفحه، ناوبری، دریافت یا ارسال داده از API، مدیریت خطا، داده محلی، تست پایه، بسته انتشار آزمایششده و مخزن کد با راهنمای اجرا. تعداد زیاد پروژههای ناقص جای این شواهد را نمیگیرد.
آیا گواهی فنی و حرفهای برای استخدام توسعهدهنده موبایل لازم است؟
شرط مدرک را در آگهی و فرایند استخدام کارفرمای هدف بررسی کنید. اگر آگهی یا کارفرما گواهی مشخصی را درخواست نکرده باشد، آن را جایگزین نمونهکار، ارزیابی فنی و توانایی توضیح پروژه خود فرض نکنید.
پس از ساخت پروژه، چه زمانی نسخه انتشار بسازم؟
پس از کاملشدن جریان اصلی، مدیریت خطا و آزمون روی دستگاه واقعی، نسخه انتشار بسازید. ابتدا خروجی Android امضاشده را نصب و آزمون کنید. برای iOS نیز فقط در محیط macOS و Xcode میتوانید فرایند امضا و خروجی نهایی را کامل انجام دهید.
آموزشهای مرتبط در فرادرس
-
آموزش برنامه نویسی اندروید Android، مقدماتی + گواهینامه
-
آموزش برنامه نویسی اندروید Android، تکمیلی
-
آموزش پروژه محور فلاتر، طراحی اپلیکیشن موبایل با Flutter، مقدماتی + گواهینامه
-
آموزش پروژه محور فلاتر، طراحی اپلیکیشن موبایل با Flutter، تکمیلی + گواهینامه
-
آموزش مقدماتی ری اکت نیتیو، طراحی نرم افزارهای اندروید و iOS در React Native
-
آموزش معماری بلاک در فلاتر، BLoC در Flutter + گواهینامه
-
برنامه نویسی موبایل چیست؟، هر آنچه باید بدانید + منابع یادگیری
-
طراحی تجربه کاربری چیست؟، راهنمای یادگیری UX Design