برنامه نویسی موبایل را از کجا شروع کنیم ؟
برای شروع برنامه نویسی موبایل بهتر است اول با انواع نرم افزارهای موبایل آشنا شوید، افرادی که سابقه برنامه نویسی دارند و با دنیای برنامه نویسی آشنائی دارند بهتر میتوانند وارد دنیای برنامه نویسی موبایل شوند، اما این به آن معنا نیست که فردی که تاکنون برنامه نویسی نکرده است، قادر به ورود به دنیای برنامه نویسی موبایل نیست، اهمیت برنامه نویسی موبایل آنقدر زیاد است که امروزه اصلاح اول موبایل یا همان Mobile-First برای طراحی نرم افزارها مطرح شده است، این اصطلاح به این معنا است که طراحان و برنامه نویسان نرم افزارها خودشان را اول برای دستگاه های موبایل طراحی کنند و بعد برای صفحه های بزرکتر آنرا گسترش دهند.
برای شروع ابتدا باید انواع برنامه های موبایل را بشناسید، امروزه برنامه های موبایل به دو دسته برنامه های بومی (Native) و برنامه های ترکیبی (Hybrid) دسته بندی میشوند، برنامه های بومی همانطور که از اسمشان پیداست فقط مختص همان سیستم عامل مانند اندروید یا ویندوز و یا آی او اس طراحی میشوند، اما برنامه های ترکیبی یا هایبرید از یک رابط کاربری برای سیستم های عامل مختلف استفاده میکنند، اینگونه برنامه ها از زبان های برنامه نویسی وب سمت فرانت یعنی HTML / CSS / JS بهره میبرند یعنی در واقع یک نرم افزار تحت وب هستند که بر روی گوشی کاربر نصب میشوند و از طریق سرویس های وب مانند سرویس های RESTful با سمت سرور ارتباط برقرار میکنند.
شناخت این دو نوع روش برای پیاده سازی برنامه های موبایل خیلی در انتخاب مسیر یادگیری به شما کمک میکنند، البته بهتر است بعنوان یک برنامه نویس هر دو روش را فرابگیرید، اما از ایراداتی که از برنامه های هایبریدی می گیرند این است که دسترسی کاملی به سیستم عامل موبایل ندارند و برای برخی از برنامه ها مانند نرم افزارهای بانکی توصیه نمی شوند، از مزایای برنامه های هایبریدی این است که خیلی راخت میتوان نسخه PWA از آنها تهیه کرد و حتی روی رایانه رومیزی (دسکتاپ) هم داخل مرورگر وب ازین برنامه ها استفاده کرد.
قدم بعدی برای برنامه نویس موبایل شدن انتخاب سیستم عامل و زبان ها و ابزارهای برنامه نویسی است.
برنامه نویسی اندروید بهتر است یا آی او اس ؟
هرچند اپل بعنوان یکی از شرکت های مطرح در صنعت گوشی های تلفن همراه مطرح میشود اما گوشی های اندروید به دلیل متن باز بودن این سیستم عامل در سراسر دنیا تعداد کاربرهای زیادی دارد، برای همین اگر می خواهید بعنوان یک برنامه نویس موبایل حرفه ای کار کنید و بازار کار خوبی داشته باشید بهتر است اول به سراغ سیستم عامل اندروید بروید، سیستم عامل اندروید مبتنی بر هسته لینوکس است و یک سیستم عامل متن بار و رایگان است که توسط شرکت گوگل توسعه داده شده است.
برای برنامه نویسی اندروید از چه زبانی استفاده کنیم ؟
زبان اصلی برنامه نویسی موبایل اندروید زبان جاوا است، افرادی که تجربه برنامه نویسی جاوا دارند، خیلی بهتر میتوانند وارد دنیای برنامه نویسی موبایل اندروید شوند، برنامه نویسی جاوا زبان بسیار گسترده و وسیعی است که یادگیری آن به همه افرادی که قصد ورود حرفه ای به این حیطه را دارند توصیه میشود اما زبان دیگری به نام کاتلین (Kotlin) وجود دارد که توسط شرکت جت برینز (JetBrains) سال 2011 برای توسعه برنامه های موبایل طراحی شد و یکی از زبان های محبوب برنامه نویسی موبایل میباشد.
برای برنامه نویسی اندروید از چه ابزاری استفاده کنیم ؟
محیط توسعه اصلی برای اندروید محیط اندروید استودیو است، اما شما میتوانید از محیط IntelliJ IDEA بخصوص اگر از زبان کاتلین استفاده میکنید، بهره بگیرید، علاوه بر محیط توسعه نیاز به یک محیط شبیه ساز برای اجرای برنامه هم دارید، برای این منظور میتوانید از شبیه ساز های جنی موشن (Genymotion)، ناکس (NoxPlayer) و بلواستک (BlueStacks) استفاده کنید.
برای برنامه نویسی iOS از چه ابزارهایی استفاده کنیم ؟
محیط توسعه اصلی برنامه های آی او اس زبان برنامه نویسی سوئیفت و محیط توسعه XCode است، برنامه نویسی سوئیفت یک زبان برنامه نویسی است که از زبان برنامه نویسی سی گرفته شده است برای همین اگر آشنائی اولیه ای با برنامه نویسی سی داشته باشید براحتی میتوانید این زبان را فرا بگیرید.
چه ابزارهای دیگری برای برنامه نویسی موبایل وجود دارد ؟
اگر شما قبلا برنامه نویسی دات نت انجام داده اید و با زبان برنامه نویسی سی شارپ آشنائی کافی دارید نیازی به یادگیری زبان جدیدی ندارید و میتوانید با استفاده از فریم ورک زامارین (Xamarin) برنامه نویسی کنید، این ابزار یک فریم ورک متن باز است و برای طراحی و توسعه نرم افزارهای موبایل برای هر سه پلتفرم اندروید، ویندوز و آی او اس طراحی شده است، البته الان این فریم ورگ دیگر عضوی از دات نت است (.NET).
برای ساخت برنامه های ترکیبی (هایبریدی) از چه ابزارهایی استفاده کنیم ؟
تا اینجا تمام ابزارهایی که معرفی کردیم برای برنامه های موبایل بومی بود، اگر بخواهید برنامه های ترکیبی بسازید و از امکانات و مزایای آنها مانند برنامه های PWA استفاده کنید، میتوانید از چهارچوب های جاوا اسکریپتی مانند ری اکت (React) و آنگولار (Angular)، فلاتر (Flutter) و یا حتی آپاچی کوردوا (Apache Cordova) استفاده کنید.
تا اینجای کار در مورد انواع زبان های برنامه نویسی و ابزارهای مورد نیاز و انواع برنامه ها و مزایا و معایب هر کدام گفتیم، اما این آخر کار نیست، اگر برنامه موبایلی طراحی میکنید که صرفا قرار نیست یک کار کوچک انجام دهد و نیاز به بانک اطلاعاتی و احراز هویت کاربران داشته باشد، شما نیاز به برنامه نویسی بک اند هم دارید، معمولا برنامه نویسان موبایل بعنوان برنامه نویسان فرانت کار شناخته میشوند، برای اینکه برنامه های موبایل فقط سمت کاربر و رابط کاربری برنامه ها هستند، قطعا برنامه ای مانند یک ماشین حساب ساده یا یک برنامه تقویم نیازی به ارتباط با سرور ندارد اما برنامه هایی مانند نرم افزارها بانکداری و برنامه هایی که نیاز به احراز هویت دارند نیازمند یک بک اند هستند، لذا برای توسعه کار خودتان بعنوان یک برنامه نویس موبایل حتما با پروتکل های ارتباطی با سرور و ابزارهای برنامه نویسی بک اند آشنا شوید.
از چه منابعی برای یادگیری استفاده کنیم ؟
بهترین روش یادگیری بستگی به استعداد و علاقه مندی هر فردی دارد، اما بهترین روشی ما همیشه برای یادگیری برنامه نویسی توصیه میشود، این است که بصورت خرد خرد و پروژه محور بیشترین بازدهی را دارد، از یک پروژه کوچک شروع کنید مانند ماشین حساب، صلوات شمار، مرورگر وب و … و کم کم مهارت خود را بالا ببرید.
سوالی که اکثر دانشجوها میپرسند این است که در کلاس های حضوری شرکت کنیم یا بسته های آموزشی، معایبی که کلاس های حضوری دارند این است که استاد فرصت کافی برای بیان همه مطالب را ندارد، و معمولا کلاس ها متمایل میشود به سمت سطح دانشجویانی که در آن کلاس حضور دارند، اگر دانشجو ها خیلی اختلاف سطح مهارتی داشته باشند، در حق عده ای طلم میشود، بماند حاشیه هایی که در کلاس ها ایجاد میشود، اما شرکت در بسته های آموزشی و دوره های آنلاین این مشکلات را ندارند.