بهترین زبان برنامه نویسی برای اندروید

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



بهترین زبان برای توسعه اندروید

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

۱ . جاوا

باور کنید اگر از جاوا برای توسعه اندروید استفاده کنید هیچوقت پشیمون نمی‌شید. این زبان رسمی سیستمه. زبان رسمی گوگل برای توسعه اندروید.
جاوا دومین زبان فعال در گیت هاب هست و تقریبا ۲۰ سال قدمت داره.
همچنین از سال ۲۰۰۷ تا سال ۲۰۱۸ جاوا فعال ترین زبان در سایت استک‌اور‌فلو بود.
همه این‌ها به معنی منابع بسیار زیاد جاوا است. یعنی هر مشکلی که داشتید به راحتی با یک جستجو می‌تونید حلش کنید.
البته اینم اضافه کنم که جاوا به دلیل قدیمی بودنش ظرافت ها و ویژگی‌های خوب زبان‌های جدید رو نداره.
اگر شما تو برنامه نویسی تازه کار هستید، جاوا واسه شما بسیار مناسبه اما اگر قبلا با زبان دیگه ای مثل سویفت کار کردید شاید یادگیری جاوا واستون‌ خوش‌آیند نباشه.

۲. کاتلین

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

۳. سی شارپ

سی شارپ یک زبان برنامه نویسی فوق العاده‌ست. یادگیریش آسونه و کار کردن باهاش راحته.
برای مدتی بزرگترین مشکل سی‌شارپ این بود که فقط بر روی سیستم‌های تحت ویندوز اجرا می‌شد.
اما بعد از اینکه مایکروسافت در سال ۲۰۱۴ فریم ورک دات‌نت رو متن-باز اعلام کرد همه چیز عوض شد.
در سال ۲۰۱۶ مایکروسافت از پروژه زامارین (Xamarin) رونمایی کرد که تحت سی‌شارپ بود و می‌تونست تقریبا روی هر سیستمی اجرا بشه.
شما میتونید با Xamarin.Android و Xamarin.IOS و با استفاده از ویژوال استدیو یا زامارین استدیو برای هر کدام از پلتفرم های اندروید و ای او اس برنامه بسازید.

۴. پایتون

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

Kivy
Kivy

کیوی (kivy) در واقع پرطرفدارترین ابزار برای این کار هست.
جدا از اینکه متن-باز هست، ویندوز، لینوکس، مک و ای او اس رو هم پشتیبانی میکنه.
اما از اونجا که جزوه زبان های بومی اندروید نیست پس همه ویژگی های اندروید رو نداره و معمولا خروجی برنامه سنگین و مقداری کند میشه.
اما با قدرتی که امروزه گوشی های هوشمند دارن این مشکلات زیاد اهمیتی نداره پس ناامید نشید.

۵. اچ‌تی‌ام‌ال + سی‌اس‌اس + جاوا اسکریپت

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

برای توسعه اندروید با این سه زبان می‌تونید از  Adobe Cordova استفاده کنید که متن-باز هم هست.
همچنین از ای او اس، ویندوز موبایل و بلک بری هم پشتیبانی میکنه.
اما باید گفت که توسعه با این فریم ورک کار ساده ای نیست و برای ساخت یک برنامه ساده به کلی مشکل برمی‌خورید.
به خاطر همین هم معمولا خیلی ها به فریم ورک  Ionic مهاجرت می‌کنند که کار کردن باهاش آسونتره.
برنامه‌های  Untappd و  TripCase با این فریم ورک توسعه داده شدن.
یکی دیگه از گزینه ها استفاده از  React Native هست که کلی هم طرفدار داره.
بسیار قدرتمنده و کمپانی های بزرگی مثل فیسبوک و اینستاگرام ازش استفاده می‌کنن.
شما می‌تونید با ریکت‌نیتیو هم برای اندروید و هم برای ای او اس برنامه بسازید.

۶. سی و سی پلاس پلاس

در واقع گوگل دو کیت یا ابزار برای توسعه برنامه های اندرویدی فراهم کرده:
- اس‌دی‌کی (SDK) که از جاوا استفاده می‌کنه.
- ان‌دی‌کی (NDK) که از زبان های بومی مانند سی و سی پلاس پلاس استفاده می‌کنه.
مهمه که بدونید شما نمی‌تونید فقط با ان‌دی‌کی و بدون به کار بردن اس‌دی‌کی یک برنامه کامل بسازید.
ان‌دی‌کی به شما اجازه میده یک کتابخانه در برنامه خود ایجاد کنید و بعدا در کدهای جاوا از اون کتابخانه استفاده کنید.
در اکثر مواقع شما از ان‌دی‌کی استفاده نمی‌کنید.
معمولا بهتره در مواردی که کدها و کارهایی که انجام دادنشون با جاوا برنامه رو سنگین می‌کنه، از ان دی کی استفاده کنید.

چند نکته کوتاه

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