برنامه نویسی اندروید با کاتلین – راهنمای شروع به کار

۷۱۵ بازدید
آخرین به‌روزرسانی: ۱ مهر ۱۴۰۲
زمان مطالعه: ۷ دقیقه
دانلود PDF مقاله
برنامه نویسی اندروید با کاتلین – راهنمای شروع به کاربرنامه نویسی اندروید با کاتلین – راهنمای شروع به کار

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

997696
  • کاتلین چیست؟
  • چرا باید از کاتلین در اندروید استفاده کرد؟
  • ساختار درونی کاتلین چگونه است؟
  • جاوا چه تفاوتی با کاتلین دارد؟
  • قابلیت‌های موجود کاتلین کدام هستند؟

کاتلین چیست؟

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

«کاتلین» (Kotlin) یک زبان برنامه‌نویسی چندمنظوره، متن-باز و با نوع‌بندی استاتیک برای JVM، مرورگر، نیتیو و اندروید است که قابلیت‌های برنامه‌نویسی شیءگرا و برنامه‌نویسی تابعی را با هم ترکیب می‌کند.

در جولای سال 2011 میلادی JetBrains از پروژه کاتلین که زبانی برای HVM بود رونمایی کرد و پس از آن نیز یک سال تحت توسعه بود.

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

چرا برنامه نویسی اندروید با کاتلین توصیه می‌شود؟

نام زبان برنامه‌نویسی کاتلین از جزیره‌ای به همین نام در نزدیکی سنت پترزبورگ می‌آید. «آندری بریسلاو» (Andrey Breslav) اعلام کرده است که تیم تصمیم گفته است نام این زبان را همانند جاوا که نام خود را از جزیره‌ای در اندونزی گرفته است، از روی این جزیره اخذ کند.

کاتلین به طور رسمی از سوی گوگل برای توسعه موبایل روی اندروید پشتیبانی می‌شود. از زمان انتشار اندروید استودیو 3.0 در اکتبر 2017، کاتلین به عنوان جایگزین برای کامپایلر استاندارد جاوا در آن گنجانده شده است. کامپایلر کاتلین اندروید به کاربر امکان می‌دهد که بین بایت‌کد سازگار با جاوا 6 یا 8 انتخاب کند.

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

  • سازگاری: کاتلین با JDK6 سازگار است، از این رو دستگاه‌های قدیمی از گردونه عقب نمی‌مانند.
  • عملکرد: کاتلین از نظر عملکردی با جاوا برابری می‌کند.
  • هم‌کنش‌پذیری: کاتلین 100% با جاوا از جمله با «حاشیه‌نویسی‌ها» (annotations) همکنش پذیر است.
  • زمان کامپایل: در بیلد‌های تمیز مقداری سربار وجود دارد، اما در بیلدهای افزایشی کمی سریع‌تر است.
  • منحنی یادگیری: یادگیری کاتلین به خصوص برای کسانی که به زبان‌های مدرن عادت دارند، آسان است. مبدل جاوا به کاتلین در IntelliJ یا اندروید استودیو این یادگیری را هر چه بیشتر تسهیل می‌کند. می‌توان از ترکیبی از کاتلین و جاوا نیز در یک پروژه استفاده کرد، بنابراین می‌توانید زمان خود را صرف یادگیری کاتلین بکنید و زمانی که کاملاً مطمئن بودید از آن استفاده عملی بکنید.

ساختار داخلی کاتلین چگونه است؟

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

کد منبع کاتلین به طور معمول در فایل‌هایی با پسوند kt. نگهداری می‌شود. کامپایلر کاتلین کد منبع را آنالیز می‌کند و فایل‌های class. را تولید می‌کند که دقیقاً همانند کاری است که کامپایلر جاوا انجام می‌دهد. در ادامه فایل‌های ‎.class تولید شده، بسته‌بندی‌شده و با استفاده از رویه استاندارد برای نوع اپلیکیشنی که روی آن کار می‌کنید، اجرا می‌شوند.

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

در این بخش برخی از تفاوت‌های جاوا با کاتلین را به صورت عملی نمایش می‌دهیم.

پرینت کردن در کنسول

Java
System.out.print("Amit Shekhar");
System.out.println("Amit Shekhar");

Kotlin
print("Amit Shekhar")
println("Amit Shekhar")

ثابت‌ها و متغیرها

*var (Mutable variable)

*val (Immutable variable)

Java
String name = "Amit Shekhar";
final String name = "Amit Shekhar";

Kotlin
var name = "Amit Shekhar"
val name = "Amit Shekhar"

انواع داده

منظور از نوع داده، نوع و اندازه داده‌هایی مرتبط با متغیرها و تابع‌ها است. نوع داده برای اعلان موقعیت حافظه‌ی متغیر که قابلیت‌های داده را تعیین می‌کند استفاده می‌شود. در کاتلین همه چیز یک شیء است. معنی این حرف آن است که می‌توانیم تابع عضو و مشخصه‌های روی هر متغیر را فراخوانی کنیم.

  • Number
  • Character
  • Boolean
  • Array
  • String

انتساب مقدار تهی

Java
String otherName;
otherName = null;

Kotlin
var otherName: String?
otherName = null

بررسی تهی بودن یک مقدار

الحاق رشته‌ها

ایجاد خط جدید در یک رشته

عملگر سه‌تایی

عملگرهای بیتی

بررسی نوع و تبدیل نوع

شرایط چندگانه (Switch Case)

حلقه for

کلکسیون‌ها

تعریف متدها

تعداد آرگومان‌های متغیر

تعریف متدها با return

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

در این بخش برخی از قابلیت‌هایی که صرفاً در کاتلین وجود دارند را معرفی می‌کنیم.

مقداردهی اولیه با تأخیر (lazy Initialization)

مقداردهی با تأخیر (by lazy) در مواردی که مشغول پیاده‌سازی مشخصه‌های فقط-خواندنی هستیم که به صورت با تأخیر در کاتلین اجرا می‌شوند مفید خواهد بود. by lazy { … } مقداردهی اولیه خود را جایی انجام می‌دهد که مشخصه اولین بار استفاده می‌شود و نه در زمان اعلان کردن آن.

class Demo { val myName: String by lazy { "John" } }

مقداردهی کند

مقداردهی کند متغیرها به این معنی است که توسعه‌دهندگان قبل از دسترسی به متغیر آن را جایی در کد مقداردهی اولیه می‌کنند.

class Demo { val myName: String by lazy { "John" } }

کلاس داده

ما به طور مکرر کلاس‌هایی می‌سازیم که کاری به جز نگهداری داده‌ها ندارند. در چنین کلاس‌هایی برخی کارکردهای استاندارد غالباً به صورت مکانیکی از داده‌ها مشتق می‌شوند. در کاتلین، این کار در کلاس داده اجرا می‌شود و به صورت داده‌ای علامت‌گذاری می‌شود.

data class Developer(val name: String, val age: Int)

زمانی که یک کلاس به صورت کلاس داده علامت‌گذاری شود، نیاز نیست که تابع‌های زیر را مانند جاوا در آن پیاده‌سازی یا ایجاد کنیم:

  • ()hashCode
  • ()equals
  • ()toString
  • ()copy

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

کلاس‌های مهر و موم شده

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

تابع‌های اکستنشن

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

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

اگر این مطلب برای شما مفید بوده است، آموزش‌های زیر نیز به شما پیشنهاد می‌شوند:

==

بر اساس رای ۱۴ نفر
آیا این مطلب برای شما مفید بود؟
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع:
swlh
دانلود PDF مقاله
۱ دیدگاه برای «برنامه نویسی اندروید با کاتلین – راهنمای شروع به کار»

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

نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *