کوتلین زبان برنامه‌نویسی است که در نهایت به کد #جاوا تبدیل می‌شود. در سال‌های اخیر از این زبان برنامه‌نویسی در ساخت اپلیکیشن‌های اندروید نیز استفاده می‌شود.

در این مطلب قصد دارم تا پرسش‌های رایجی را

کوتلین زبان برنامه‌نویسی است که در نهایت به کد #جاوا تبدیل می‌شود. در سال‌های اخیر از این زبان برنامه‌نویسی در ساخت اپلیکیشن‌های اندروید نیز استفاده می‌شود.

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

اگر زبان انگلیسی‌تون خوب است پیشنهاد می‌کنم که این مطلب را نادیده بگیرید و اصل #مقاله را از اینجا مطالعه کنید:

https://developer.android.com/kotlin/faq

توجه کنید که این ترجمه به صورت کلمه به کلمه نیست و سعی شده که مفهوم بهتری را برای #فارسی زبانان ارائه دهد.

چرا اندروید #کوتلین را به عنوان یک زبان اصلی که از آن پشتیبانی می‌کند قرار داد؟

کوتلین زبانی است که به طور کامل با اندروید سازگار بوده و دارای ویژگی‌های مختصر بودن و رسایی است. کوتلین طراحی شده تا نسبت به نوع تایپ‌ها [مثلا متغییرها] و مقدار هیچی [Null] ایمن باشد. کوتلین با زبان جاوا به طور کامل یکپارچه است. این ویژی به کسانی که با زبان جاوا کار می‌کنند این امکان را می‌دهد که در کنار جاوا از کتابخانه‌ها و توابع این زبان استفاده کنند. همچنین تاکنون بسیاری از توسعه‌دهندگان اندروید دریافته‌اند که #برنامه‌نویسی با #زبان کوتلین باعث سریع‌تر و جذاب‌تر شدن توسعه اپلیکیشن‌ها می‌شود. پس ما [#گوگل] تصمیم گرفتیم که از این دست از کاربران پشتیبانی بیشتری کنیم. می‌توانید در مورد ارتباط کوتلین و اندروید در اینجا بیشتر بخوانید:

https://developer.android.com/kotlin

من در حال حاضر از زبان کوتلین استفاده می‌کنم، چه چیزی برای من تغییر کرده است؟

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

[توضیح اینکه در گذشته نیز امکان برنامه‌نویسی به زبان کوتلین در اندروید استودیو وجود داشت ولی به شکل فعلی با پشتیبانی کامل نبود.]

چگونه در اندروید استودیو از کوتلین استفاده کنم؟

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

https://developer.android.com/kotlin/get-started

چگونه کوتلین را در اندروید استودیو عیب‌یابی (#Debug) کنم؟

عیب‌یابی کوتلین کاملا مشابه عیب‌یابی کدهای جاوا است. هیچ تفاوتی وجود ندارد.

چه محیط‌های توسعه جامع (#IDE) دیگری از کوتلین به طور کامل پشتیبانی می‌کنند؟

اندروید استودیو ۳ به طور کامل از کوتلین پشتیبانی می‌کند. اگرچه همچنان ایرادات شناخته‌شده‌ای وجود دارند که ما در حال کار بر روی آن‌ها هستیم. لیست این مشکلات:

https://developer.android.com/studio/preview/kotlin-issues.html

در آینده چه به سر کوتلین خواهد آمد؟

شرکت #JetBrains به عنوان سازنده زبان کوتلین فکر می‌کند که کار کردن بر روی طراحی کوتلین یکی از دلایلی است که ما این زبان را پذیرفته‌ایم. گوگل در حال همکاری با جت‌برینز است تا اطمینان حاصل شود که یک نتیجه شگفت انگیز برای مسیر توسعه، فریم‌ورک، ابزار و... حاصل می‌شود. ما از همکاری با هم برای انتقال کوتلین به یک نهاد غیر تجاری هیجان‌زده‌ایم.

[خلاصه‌اش داره میگه که آره فکر می‌کنیم آینده خوبی داره!]

آیا کوتلین منبع باز است؟

مجوز کوتلین #آپاچی ۲ (http://www.apache.org/licenses/LICENSE-2.0) است و بیشتر نرم‌افزارهای کوتلین تحت همین #مجوز هستند. پروژه در تلاش است تا تحت همین مجوز باقی بماند، اما در این بین ممکن است که استثنائاتی وجود داشته باشند که مورد به مورد می‌بایست به آن‌ها پرداخت. به عنوان مثال به طور قطع وابستگی‌های ثانویه که از کوتلین استفاده می‌کنند ممکن است که با مجوز منبع بازی به غیر از آپاچی ۲ منتشر شوند که البته همچنان با مجوز آپاچی ۲ سازگار هستند.

[خلاصه‌اش اینکه بله منبع باز است. نیازی نیست که در این مورد نگران چیزی باشید.]

چگونه بین کوتلین و جاوا انتخاب کنم؟

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

آیا امکان فراخوانی #API های اندروید و یا سایر توابع جاوا در کوتلین وجود دارد؟

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

آیا مرجعی برای استفاده از API های اندروید توسط کوتلین دارید؟

صد در دصد! ما در تلاشیم تا تمامی API های اندروید را به زبان کوتلین مستند کنیم. آن‌ها هنوز به طور کامل آماده نشده‌اند اما شما از همین حالا می‌تونید یک نگاهی بهشون بیاندازید:

https://developer.android.com/reference

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

https://kotlinlang.org/api/latest/jvm/stdlib/index.html

آیا امکان استفاده از کوتلین و جاوا در یک پروژه وجود دارد؟

بله. شما می‌توانید از هر دوی آن‌ها در یک #پروژه استفاده کرده و یا کدهای جاوا و کوتلین را با یکدیگر ترکیب کنید. برای کسب اطلاعات بیشتر به اینجا مراجعه کنید:

https://kotlinlang.org/docs/reference/java-interop.html

آیا می‌توانم کوتلین را با C++ استفاده کنم؟

بله. #JNI به طور کامل از کوتلین پشتیبانی می‌کند. برای کسب اطلاعات بیشتر به اینجا مراجعه کنید:

https://kotlinlang.org/docs/reference/java-interop.html#using-jni-with-kotlin

کوتلین چه تاثیری بر اندازه خروجی پروژه نظیر فایل‌های #APK دارد؟

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

کدام نسخه‌های اندروید از کوتلین پشتیبانی می‌کنند؟

تمام نسخه‌های آن! کوتلین با JDK 6 سازگار است، در نتیجه تمامی نسخه‌های قدیمی اندروید این امکان را دارند تا اپلیکیشن‌های ساخته شده توسط کوتلین را اجرا کنند.

کجا می‌توانم بیشتر در مورد استفاده از کوتلین بیاموزم؟

به اینجا مراجعه کنید: https://developer.android.com/kotlin/resources.html