کاتلین فارسی

فهرست

1 - مقدمه

1.1 ) به دوره خوش آمدید

1.2 ) چرا کاتلین؟

2 - مبانی کاتلین

2.1 ) آشنایی با JVM

2.2 ) نصب کردن ابزارآلات

2.3 ) کاتلین REPL

2.4 ) ساختار یک برنامه کاتلین

2.5 ) کاتلین با IntelliJ IDEA

2.6 ) خلاصه بخش دوم

3 - کد نویسی مقدماتی کاتلین

3.1 ) تعریف متغیر در کاتلین

3.2 ) کار با Type های پایه ای

3.3 ) حلقه ها در کاتلین

3.4 ) عبارت های شرطی در کاتلین

3.5 ) اضافه کردن پگیج ها در کاتلین و خلاصه بخض سوم

4 - توابع

4.1 ) توابع در کاتلین

4.2 ) تابع با پارامترهای پیشفرض و نامیده شده

4.3 ) تابع با پرامترهای نامحدود و خلاصه بخش چهارم

5 - کلاس ها

5.1 ) کلاس ها در کاتلین

5.2 ) توابعِ عضو در کاتلین

5.3 ) visibility modifier ها در کاتلین

5.4 ) کلاس های دیتا در کاتلین

5.5 ) کلاس های enum در کاتلین

5.6 ) Object ها در کاتلین و خلاصه بخش پنج

6 - ارث بری

6.1 ) ارث بری در کاتلین

6.2 ) کارکردن با کلاس های abstract در کاتلین

6.3 ) کلاس های interface در کاتلین

6.4 ) نگاه کوتاه به generic ها و خلاصه بخش شش

7 - کارکردن با Null ها

7.1 ) null safety و خلاصه بخش هفت

8 - نکات اضافه

8.1 ) type casting در کاتلین

8.2 ) چندتایی ها (Tuples)

8.3 ) deconstructing values

8.4 ) کار کردن با exception ها

8.5 ) constant ها

8.6 ) annotation ها در کاتلین و خلاصه بخش هشت

9 - نگاه functionalای

9.1 ) توابع Higher-Order

9.2 ) عبارت های لاندا در کاتلین

9.3 ) closure ها در کاتلین

9.4 ) عبارت های الحاقی در کاتلین و خلاصه بخش نهم

10 - قابلیت همکاری و Interoperability

10.1 ) همکاری با جاوا

10.2 ) صحبت کردن با جاوا از کاتلین

10.3 ) کار کردن با null ها از جاوا

10.4 ) صحبت کردن با کاتلین از جاوا

10.5 ) توابع و خصیصه های درجه اول

10.6 ) توابع الحاقی کاتلین از جاوا

10.7 ) همکاری با جاوا 7 و 8 و خلاصه بخش دهم

11 - کتابخانه استاندارد

11.1 ) کتابخانه استاندارد کاتلین و کارکردن با کالکشن ها در کاتلین

11.2 ) مرور کوتاه بر روی filtering و mapping و flatmapping در کاتلین

همکاری با جاوا

ویرایش

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

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

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