برنامه نویسان تازه کار اندروید باید ابتدا جاوا را یاد بگیرند یا اینکه مستقیما وارد کار با Kotlin شوند؟

در این مقاله، فواید و کاربرد هر دو زبان، بررسی و ارائه خواهد شد.

از زمانی که گوگل در سال 2017 در  Google IO،  Kotlin را به عنوان زبان رسمی برنامه نویسی اندروید معرفی کرد برنامه نویسانی که قصد کار در زمینه ی اندروید را داشتند بر سر دوراهی قرار گرفتند. سوال بزرگ پیش روی آنها این است که باید جاوا یاد بگیرند یا کاتلین!

اگر تازه کار هستید و میخواهید توسعه ی اندروید را یاد بگیرید پاسخ ما به شما "جاوا" است اما اگر برنامه نویس جاوا هستید و قصد دارید وارد بازار پر زرق و برق برنامه نویسی اندروید شوید پاسخ ما "کاتلین" است.

در این مقاله میخواهیم در مورد اینکه چرا توسعه دهندگانِ تازه کارِ اندورید باید با جاوا شروع کنند و چرا برنامه نویسان جاوا باید کاتلین را یاد بگیرند صحبت کنیم.

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

توسعه دهندگان تازه کار اندورید باید با جاوا شروع کنند

اولین نکته این است که توسعه ی اندروید همه ی ماجرا نیست. شما به عنوان یک برنامه نویس، ممکن است حرفه ی خود را با توسعه ی اندروید آغاز کنید اما اگر کار خود را با یک زبان عالی مثل جاوا شروع کنید عضوی از جامعه و بازار بزرگترِ جاوا هم خواهید شد که این به معنای موقعیت های بیشتر شغلی است.

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

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

این مشکلات با بیشتر و بیشتر شدن برنامه نویسان کاتلین برطرف خواهد شد اما نمی توان به طور قطع گفت که این زبان به محبوبیت و  میزان استفاده ی جاوا می رسد یا خیر. به همین خاطر است که توصیه می کنیم برنامه نویسانی که قصد شروع به کار در زمینه ی توسعه ی اندروید را دارند  کار خود را با جاوا آغاز کنند نه کاتلین!

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

برنامه نویسان جاوا باید کاتلین را یاد بگیرند

حالا برمیگردیم به دسته ی دوم برنامه نویسانی که قصد یاد گیری توسعه ی اندروید را دارند: توسعه دهندگان جاوا!

برای این دسته بهترین توصیه این است که کاتلین را یاد بگیرند چرا که این کار بازدهی آنها را واقعا بالا می برد.

کلاسی که در جاوا به 50 خط کد نیاز دارد در کاتلین می تواند تنها با یک خط کد نوشته شود. بسیاری از کارهای اضافه را حذف می کند، به طور مثال نیازی نیست متدهای Getter  و Setter، Equals()، hashCode() یا toString() را مشخص کنید، خود کاتلین تمام این موارد را ایجاد می کند.

در این قسمت مقایسه ی خوبی میان کاتلین و جاوا از نظر بازدهی و تعداد خطوط کد برای عملیاتی یکسان را مشاهده می کنید:

اگر نمیدانید باید گفت که کاتلین ساخته ی کمپانی JetBrains است. کمپانی که در پس پرده ی یکی از معروفترین IDE های جاوا، یعنی Intellij IDEA  قرار دارد. JetBrains یک Java shop است و IDE های معروفی مثل IDEA، PyCharm و ReSharper را همه با زبان جاوا توسعه داده است. آنها کاتلین را برای بهبود بازدهی خود ساختند اما همزمان نمی توانستند تمام کدهای خود را به زبان کاتلین بنویسند، به همین علت کاتلین را به گونه ای ساختند که کاملا قابل جایگزینی با جاوا باشد.

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

حتی یکی از اصلی ترین فریم ورک های جاوا به نام Spring نیز پشتیبانی خود از کاتلین را از نسخه 5 خود آغاز کرده است.

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