هم‌اکنون نزدیک به ده سال از رواج اندروید می‌گذرد؛ اما این بدین معنا نیست که شما فرصت یادگیری ساخت برنامه‌های اندروید را از دست داده‌اید. در واقع زمان بهتری جز الان برای یادگیری اندروید نیست. هیچ‌وقت مثل الان راه‌های مختلف برای نوشتن اپلیکیشن های اندروید وجود نداشته است. از آن جایی که تمام Chromebookهای جدید قادر به نصب و راه‌اندازی برنامه‌های اندروید هستند، بازار برنامه‌های اندروید رو به رشد است. نگران دیر شدن نباشید، تنها کاری که لازم است انجام بدهید این است که بنشینید، نفسی عمیق بکشید، زبان مناسب برنامه‌نویسی را انتخاب کنید و دست به کار شوید.

 

برنامه نویسی موبایل در سال 2021

امروز می‌خواهیم درباره برنامه‌نویسی موبایل صحبت کنیم و با آن بیشتر آشنا شویم. برنامه‌نویسی پر است از چالش و مسیرهای مختلف که اگر شروع به حرکت نکنید، از دیگران عقب می‌افتید و حتی ممکن است به توانایی‌ها و استعدادهای خود در این زمینه آگاه نشوید؛ پس قدم اول را محکم بردار و تصمیم بگیر که در چه حوزه‌ای از برنامه‌نویسی می‌خواهی مسیرت را شروع کنی.

 

برنامه‌نویسی موبایل یا طراحی سمت کاربر که به front-end معروف است؟؟ برنامه‌نویسی سمت back-end یا تبدیل شدن به یک برنامه‌نویس فول‌استک؟؟

 

اگر برنامه‌نویسی موبایل را انتخاب کردی پس با من همراه شو تا تو را با آن آشنا کنم.

 

اما قرار است چه مطالبی را با هم از دنیای برنامه‌نویسی موبایل بدانیم؟

 

در ابتدا به دسته‌بندی نرم‌افزارهای موبایلی میپردازیم چرا که یک برنامه نویس موبایل باید آنها را بشناسد تا بهترین راه را انتخاب کند. اما این پایان کار نیست بلکه شروع آن است. در ادامه شما باید یک سیستم عامل موبایل و زبان برنامه‌نویسی مربوط به آن را انتخاب کنید.


 

این است ترتیب یک برنامه‌نویس موبایل شدن؛ البته نگران نباشید به شما زبان‌های مربوط به دو سیستم عامل محبوب را خواهیم گفت. همچنین در انتها یک راه‌حل پیشنهادی قرار داده‌ایم تا دچار سردرگمی نشوید. پس اگر بعد از خواندن این مقاله تصمیم شما برای شروع جدی است و نیاز به مشاوره در این زمینه داشتید، روی درسمن حساب کنید.

 

برنامه نویسی موبایل

 

دسته‌بندی نرم‌افزارهای موبایل:

بطور کلی نرم‌افزارهای موبایل به سه دسته تقسیم می‌شوند: 

 

Native App

 

Web App

 

Hybrid App

 

نرم‌افزار Native چیست؟

یعنی برای برنامه‌نویسی و توسعه نرم‌افزار خود، از زبان‌های اصلی سیستم عامل استفاده کنید. مثلا برای توسعه نرم‌افزار اندروید باید از زبان Java و برای توسعه نرم‌افزار آیفون از Objective-C استفاده کنید. بزرگترین مزیت آن، بازدهی (performance) بالای نرم‌افزار است چرا که کدهای شما به زبان ماشین کامپایل خواهند شد و همین موضوع باعث میشود شما حداکثر بازدهی ممکن از نرم‌افزار را داشته باشید. 

 

توسعه نرم‌افزارهای Native آسان است؟

توسعه نرم افزارهای Nativeدر جواب باید بگویم خیر، چون باید برای هر پلتفرم اندروید یا IOS  به شکل مجزا کدنویسی کنید؛ آن هم با زبان‌های خودشان. به زبان ساده تر یعنی اگر شما بخواهید نرم‌افزار خود را برای پلتفرم‌های مختلف اندروید، ios  و یا ویندوز طراحی کنید باید کدی که می‌نویسید را با زبان برنامه‌نویسی هر کدام از پلتفرم‌ها مجددا بنویسید. شاید منطق و الگوریتم همگی یکی باشند اما مسلما SDK و APIهای که برای هر کدام استفاده می‌کنید، متفاوت خواهند بود و از همه مهم‌تر باید وقت بیشتری برای کدنویسی آن بگذارید.

جاوا(Java): 

 زبان برنامه نویسی جاوا یک زبان شئ گرا بوده و برای اولین بار توسط جیمز گاسلینگ در شرکت(Sun Micro System) ابداع شد.

 

این زبان ساختاری مانند C و C++ داشته و با امکاناتی کمتر وتوابعی آسوده تر ولی امنیت بالا محبوبیت بسیاری در بین برنامه نویسان دارد.

 

جاوا بیشترین استفاده را در بین نرم افزار های برنامه نویسی داشته و طبق آمارجاوا حدود23% میزان سرچ زبان های برنامه نویسی را به خود اختصاص داده و بعد از آن پایتون با13% درصد در ردوه دوم قرار دارد.

 

از آنجا که سیستم عامل اندروید خود نیز توسط زبان برنامه نویسی جاوا نوشته شده است.

 

به همین علت یادگیری آن باعث می شود که هر نوع اپ(App) دلخواه اندرویدی را بنویسید.

 

از کاربرد های زبان جاوا میتوان به برنامه نویسی اپلیکیشن ، سرور وب ، برنامه های علمی ، بازی ها و وب سایت ها اشاره کرد.

 

چرا زبان برنامه نویسی جاوا در ایران زیاد مورد استقال قرار نمی گیرد؟

متاسفانه، زبان برنامه نویسی جاوا مقداری پیچیده است و این پیچیدگی بزرگ‌ترین مانع برای بسیاری از افرادی است که می خواهند شروع به برنامه نویسی اندروید کنند. اندروید یک زبان برنامه نویسی شی گرا با موضوعات گیج کننده است، مانند ساختارها، خطاهای اشاره گر و بسیاری از ساختارهای پیچیده دیگر که اگر جاوا SDK را به این‌ها اضافه کنیم، همه چیز پیچیده‌تر می شود. وقتی برای اولین بار سراغ کدنویسی اندروید می‌روید، باید به مبارزه‌ای برای دانستن اینکه جاوا چیست و اندروید چگونه کار می‌کند، بروید. برنامه نویسی با استفاده از جاوا همچنین نیاز به درک پایه‌ای از مفاهیم گریدل (مانند Manifest Android و XML) است.

 

با این تفاسیر نمی توان گفت زبان جاوا یک زبان بد و سخت می باشد تازه باید گفت جاوا، محبوبیت زبان برنامه نویسی جهان می باشد اما پیچیدگی های خودش را دارد. شما می توانید با جاوا هر نوع اپلیکیشنی بنویسید و یک کدنویسی تمیز داشته باشید. می توان گفت یکی از بهترین زبان های برنامه نویس اندروید، همین جاوا می باشد که بسیار هم مورد پسند برنامه نویسان جهان می باشد.

کاتلین یا جاوا(سوال همیشگی برای تازه کارها):

اگر شما هم نمی دانید از کدام شروع کنید حق دارید. اکثر کسانی که می خواهند شروع کنند گیج می شوند چرا که با انبوهی از پیشنهادها مواجه می شوند. در همین پست که سه سال قبل نوشته بودم تاکید می کردم که برای برنامه نویسی اندروید حتما جاوا یاد بگیرید. اما اکنون بعد از گذشت سه سال شرایط خیلی عوض شده است. اکنون یادگیری کاتلین برای اندروید به شدت منطقی تر است. گوگل زبان رسمی برای توسعه اندروید را کاتلین معرفی کرده است. اکثر شرکتهای بزرگ بدلیل همین موضوع و همچنین سرعت توسعه بالاتر با کاتلین در حال مهاجرت به سمت این زبان محبوب هستند. همچنین کد زدن با کاتلین مزیتهایی دارد که واقعا نمی شود از آنها چشم پوشی کرد. مهمترین مزیتهای کاتلین نسبت به جاوا وجود Coroutines و Higher-Order Functions است. به طور کل اگر کاتلین را حرفه ای یاد بگیرید به شدت سرعت شما در توسعه اندروید زیاد خواهد بود. البته یادگیری جاوا شاید در طول مسیر به درد شما بخورد ولی برای شروع نیاز نخواهد بود (اگر وقت اضافه دارید یا به جاوا علاقه دارید بحث دیگری است). در کل باید بگویم اکنون یادگیری کاتلین برای شما مزیت محسوب می شود و اگر هدف شما اندروید است بهتر است از ابتدا با کاتلین شروع کنید.