۵ زبان برنامه نویسی اندروید که باید بیاموزید!

تصمیم گرفتید که توسعه‌دهنده‌ی اپلیکیشن‌های اندرویدی بشید؟ بسیار خوب! البته باید بدونید که تصمیم کافی نیست، یادگیری این پروسه می تونه پیچیده باشه. بعضی اوقات حتی مشخص نیست از کجا باید شروع کرد! پس، احتمالاً شما هم قبل از شروع به کار، سوالات زیادی دارید که نیاز به پاسخ دارن.چه زبان برنامه نویسی را باید یاد گرفت؟از کجا می‌تونید درباره زبان انتخابی خودتون اطلاعات کسب کنید؟پس از یادگیری اصول اولیه، چطوری باید نوشتن کد رو شروع کرد؟توی این مقاله، ما می‌خوایم به سوال اول جواب بدیم. بخاطر همین نیازه که اول از همه با خودتون کنار بیاین! انتخاب یک زبان برنامه‌نویسی کاملا به این بستگی داره که می‌خواید به چه‌ چیزی دسترسی پیدا کنید.انتخاب خودتو بکن!برای توسعه اپلیکیشن‌های اندروید، قدم اول انتخاب زبان برنامه‌نویسیه. تفاوت‌های بین زبان‌های برنامه‌نویسی مختلف می‌تونن یه مقدار پیچیده و ظریف باشن.اما چیزی که حتی مهم‌تر از خود زبان هستش، ابزار متصل بهش و قابلیت‌ها و مقاصد اون ابزار هستن.زبان‌های رایجی که ممکنه برای برنامه‌نویسی اندروید در نظر بگیرین عبارتند از:جاوا) زبان رسمی توسعه‌ی برنامه‌های سیستم‌عامل اندروید که توسط اندروید استودیو نیز پشتیبانی می‌شه. برای مدت طولانی‌تری نسبت به کاتلین، زبان رسمی اندروید بوده و خب خارج از برنامه‌نویسی اندروید هم کاربرد‌های بی‌شماری داره.کاتلین) یکی دیگه از زبان‌های رسمی اندروید. شباهت‌های زیادی به جاوا داره ولی خب یه مقدار آسون‌تر هم می‌تونه باشه. گرچه خارج از برنامه‌نویسی اندروید کاربرد زیادی نداره اما در حال حاضر زبان ترجیحی گوگل برای برنامه‌نویسی اندروید هستش. اما در هر صورت می‌تونه واسه‌ی افرادی که قصد دارن توسعه‌دهنده‌ توی پروژه‌های مختلف (جدا از اندروید) باشن، خیلی جذاب به نظر نیاد.سی پلاس پلاس) اندروید استودیو از طریق جاوا ان‌دی‌کی از سی پلاس پلاس پشتیبانی می‌کنه. سی پلاس پلاس یه مقدار پیچیده تره البته، و معمولا مورد توجه تیم‌های حرفه‌ای و بزرگ هستش و خب هم‌چنین به علت پشتیبانی شدن توسط Unreal Engine می‌تونه برای بازی‌سازی بسیار مناسب باشه.سی‌شارپ) یک جایگزین ساده‌تر برای سی و یا سی‌ پلاس پلاس. این زبان حتی مقداری از جاوا هم آسون‌تره ولی در عین شباهات بسیاری بینشون هست. توسط ابزار‌های کاربردی زیادی از جمله Unity و Xamarin پشتیبانی می‌شه که برای توسعه‌های بین پلتفرمی و هم‌چنین توسعه‌ی بازی بسیار مناسبن.جاوا اسکریپت (PhoneGap)) اگه بلدین که چطوری صفحات وب پویا بسازین، می‌تونین از طریق PhoneGap از این دانشتون برای ساختن اپلیکیشن‌های بین‌ پلتفرمی استفاده کنین.جاواوقتی بحث توسعه اپلیکیشن‌های اندرویدی پیش می‌آد، جاوا یکی از دو گزینه‌ی رسمیه. و این مساله به این معنی هستش که این زبان از طریق گوگل پشتیبانی بسیاری دریافت می‌کنه. اکثر برنامه‌های اندرویدی (غیر بازی‌ها) احتمالا توسط جاوا و یا کاتلین نوشته شدن.راه اول برای توسعه‌ی اپلیکیشن‌های اندرویدی، دانلود کردن اندروید استودیو هستش. این برنامه Android SDK رو هم داخل پکیجش داره که مجموعا به شما هر ابزار که برای توسعه نیاز دارین رو می‌ده.منابع رسمی گوگل همواره برای جاوا (و یا کاتلین) هستن و پشتیبانی زیادی توی فضای نت متوجه این زبان هستش.خود زبان جاوا در سال ۱۹۹۵ توسط Sun Microsystems انتشار پیدا کردش و از اون زمان تا حالا برای بازه‌ی بسیار بزرگی از برنامه‌نویسی اپلیکیشن استفاده شده. حتی حالا که گوگل کاتلین رو زبان ترجیحی خودش قرار داده هم، جاوا به شکلی برای همه‌‌ آشنا و جا افتاده‌ست که تیم‌های توسعه‌ی خیلی زیادی هنوز هم این زبان رو انتخاب می‌کنن.کاتلینکاتلین مدتیه که یک زبان رسمی برای توسعه اندروید هست و گوگل حتی تا اونجا پیش رفته که این گزینه را به گزینه‌ای مناسب برای توسعه اندروید تبدیل کرده.مانند جاوا ، کاتلن هم روی ماشین مجازی جاوا کار می‌کنه. همچنین کاملاً قابل جابجایی با جاوا است و باعث کاهش یا افزایش اندازه پرونده نمیشه.کاتلین یک سیستم ساده‌تر و آسون برای خواندن کدها داره و همچنین خطاهایی مانند null point exceptions رو از بین می بره و حتی شما رو مجبور نمی‌کنه آخر هر لاینتون سمی‌کالن بذارین.C++ / Cعادلانه است که بگیم اکثر افرادی که این مطلب را می خونن ، نباید این مسیر را برای توسعه برنامه های اندروید انتخاب کنند.Android Studio با استفاده از Android NDK (کیت توسعه بومی) پشتیبانی از کد C / C ++ را ارائه میده. این یعنی شما کدی رو می‌نویسید که در دستگاه مجازی جاوا اجرا نمیشه ، بلکه بصورت محلی روی دستگاه اجرا میشه و کنترل بیشتری بر چیزهایی مثل تخصیص حافظه میده.برای برنامه‌های سنگین، مثل بازی‌های سه بعدی، این به شما امکان میده بتونید عملکرد بیشتری از دستگاه اندرویدی خودتون بکشید. همچنین یعنی که شما قادر خواهید بود از کتابخانه هایی که در C یا ++C نوشته شده اند استفاده کنید.با این حال ، تنظیم اون هم بسیار سخت‌تره ، اشکالات زیاد و انعطاف پذیری کمتری داره و اگه می‌خواید یک بازی رایانه‌ای درست کنید ، احتمالاً بهتره از یک موتور بازی آماده مانند Unity استفاده کنید.#CC # توسط مایکروسافت با هدف ترکیب قدرت ++C و سهولت ویژوال بیسیک ساخته شده. خیلی شبیه به جاوا عمل می‌کنه و اگه یکی از این زبان‌ها رو بدونید ، یادگیری زبان دیگه خیلیی ساده خواهد شد.درست مثل جاوا، سی‌شارپ هم قابلیت بازیافت‌ حافظه رو داره. به این معنی که نیاز نیست نگران مشکلات مربوط به استفاده‌ی نادرست از حافظه و تمیز کردنش به صورت دستی رو داشته باشین.(HTML / CSS / JavaScript (PhoneGapPhoneGap برنامه‌ای است که از Apache Cordova پشتیبانی می‌کنه و در اصل به شما این امکان میده برنامه‌هایی رو با استفاده از همان کدی که معمولاً برای ایجاد یک وب سایت استفاده می‌کنید ایجاد کنید.سپس از طریق وب‌ویو نمایش داده می‌شه (ابزاری که یک وبسایت رو از طریق اپلیکیشن نمایش می‌ده). PhoneGap مانند یک پل عمل می کند و به توسعه دهندگان امکان دسترسی به برخی ویژگی های اصلی تلفن یا تبلت مانند شتاب سنج یا دوربین را می دهد.هرچند این توسعه اندروید “واقعی” نیست و تنها برنامه نویسی واقعی جاوااسکریپت خواهد بود.اما اگر میخواید ادعای یک فرد توسعه دهنده‌ی اندروید رو داشته باشید، بهتره شجاع باشید و یکی دیگه از گزینه‌های لیست رو انتخاب کنید.نتیجهدر نتیجه انتخاب‌های زیادی برای توسعه‌ی اندروید وجود داره: از جاوا و کاتلین تا C# و جاوا اسکریپت.انتخاب شما به هدف و میزان حساسیت کار شما بستگی داره. اما هر تصمیمی که بگیرید متوجه میشید که هر زبان برنامه‌نویسی دنیایی از رمزهاست.امیدوارم الان که شما اطلاعات بیشتری در مورد چگونگی توسعه برنامه‌های اندرویدی دارید، بتونید راحت‌تر تصمیم بگیرید.موفق باشید.