جستجو برای:
سبد خرید 0
  • خانه
  • دوره های آموزشی
    • دوره های حضوری و آنلاین
      • دوره جامع برنامه نویسی اندروید
      • دوره جامع برنامه نویسی فلاتر
      • دوره برنامه نویسی React Native
      • دوره آموزشی برنامه نویسی iOS
    • دوره های متخصص و حرفه ای
      • دوره متخصص اندروید (پروژه محور)
      • دوره متخصص فلاتر (پروژه محور)
      • دوره آموزش امنیت در اندروید
      • دوره درآمدزایی دلاری از گوگل پلی در ایران
  • آموزش رایگان
    • دوره رایگان اندروید
    • دوره رایگان فلاتر
  • مشاورهجدید
  • دوره VIP
  • وبلاگ
ورود
گذرواژه خود را فراموش کرده اید؟
عضویت

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

ارسال مجدد کد یکبار مصرف (00:60)
  • 02188945907
  • info@amooznegar.com
  • لیست علاقه مندی ها
آکادمی آموزنگار
  • خانه
  • دوره های آموزشی
    • دوره های حضوری و آنلاین
      • دوره جامع برنامه نویسی اندروید
      • دوره جامع برنامه نویسی فلاتر
      • دوره برنامه نویسی React Native
      • دوره آموزشی برنامه نویسی iOS
    • دوره های متخصص و حرفه ای
      • دوره متخصص اندروید (پروژه محور)
      • دوره متخصص فلاتر (پروژه محور)
      • دوره آموزش امنیت در اندروید
      • دوره درآمدزایی دلاری از گوگل پلی در ایران
  • آموزش رایگان
    • دوره رایگان اندروید
    • دوره رایگان فلاتر
  • مشاورهجدید
  • دوره VIP
  • وبلاگ
شروع کنید
آخرین اطلاعیه ها
لطفا برای نمایش اطلاعیه ها وارد شوید
0

وبلاگ

آکادمی آموزنگار > اخبار > برنامه نویسی > اندروید > کاتلین > مقدمه ای بر زبان برنامه نویسی کاتلین

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

1401-12-12
ارسال شده توسط آموزنگار
کاتلین
مقدمه ای بر زبان برنامه نویسی کاتلین

کاتلین یک زبان برنامه نویسی همه منظوره از نوع ایستا است که توسط شرکت JetBrains توسعه یافته است. این شرکت خالق IDE هایی با سطح کاربری جهانی همچون IntelliJ IDEA و PhpStorm و Appcode و … می باشد.

این زبان برای اولین بار توسط Jetbrain در سال 2011 به عنوان یک زبان جدید بر پایه JVM معرفی شد. کاتلین یک زبان برنامه نویسی شی گرا است که بر زبان جاوا برتری دارد اما همچنان با زبان جاوا سازگار است.

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

نمونه کد کاتلینی:

1
2
3
4
fun main()
{
    println("Hello Geeks");
}

ویژگی های کلیدی کاتلین

1) استاتیک بودن

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

حال اینکه استاتیک بودن کاتلین سبب می شود شما نیاز نداشته باشید  نوع تمام متغیر ها را در زمان تعریف متغیر ، تعیین نیز بکنید.

2) کلاس های داده

در کاتلین کلاس های داده ای وجود دارد که از تکرار کد های تکراری مانند نوشتن مجدد متد های equalsو hashCode toString و getters/setters و… جلوگیری میکند.

برای مثال کد زیر را در نظر بگیرید که با زبان جاوا است :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class Book {
    private String title;
    private Author author;
    public String getTitle()
    {
        return title;
    }
    public void setTitle(String title)
    {
        this.title = title;
    }
    public Author getAuthor()
    {
        return author;
    }
    public void setAuthor(Author author)
    {
        this.author = author;
    }
}

در حالی که در کاتلین تنها یک خط کافیست تا کلاس بالا را تعریف کنیم:

1
data class Book(var title:String, var author:Author)

3) مختصر بودن

کاتلین به شدت کد اضافیی که در زبان های دیگر وجود دارد را کاهش می دهد.

4) امن بودن در برابر  NullPointerExceptions

این زبان ، از خطای NullPointerExceptions که یکی از آزار دهنده ترین خطاهاست با پشتیبانی از پوچ بودن (nullability) به عنوان یک بخش از سیستم ، جلوگیری میکند.

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

هر متغیری در کاتلین به طور پیش فرض غیر پوچ است.

1
String s = "Hello Geeks"    // Non-null

اگر تلاش کنیم به متغیر s مقدار پوچ (null) را نسبت دهیم آنگاه با خطای زمان کامپایل برخورد میکنیم.

1
s = null                    // compile time error

برای آنکه فرضا به یک رشته مقدار null نسبت دهیم باید آن null شدنی  (Null-able)تعریف شود.

1
String nullableStr? = null  // compiles successfully

همچنین متد length() روی رشته های null غیر فعال شده است.

5) قابلیت همکاری داشتن با جاوا

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

6) توانایی های عملکردی و شی گرایی

کاتلین مجموعه ای غنی از متد های مفید را داراست ،که شامل توابع درجه بالاتر ، عبارت ها لامبدایی ، اورلود کردن اپراتور ها ، لیزی اولوشن  (lazy evaluation)و … می باشد.

توابع درجه بالا توابعی هستند که میتوانند توابع دیگر را به عنوان ورودی بگیرند ، تابعی را به عنوان خروجی بدهند و یا هر دو را با هم انجام بدهند.

نمونه ای از توابع درجه بالا (High Order functions)

1
2
3
4
5
6
7
8
9
fun myFun(company: String,product: String, fn: (String,String) -> String): Unit {
    val result = fn(company,product)
    println(result)
}
  
fun main(args: Array){
    val fn:(String,String)->String={org,portal->"$org develops $portal"}
    myFun("JetBrains","Kotlin",fn)
}

7) تبدیل نوع هوشمند

کاتلین به طور ضمنی مقادیر غیرقابل تغییر را به قالب امن آن کست میکند.

در ضمن اگر ما تلاش کنیم بدون تبذیل نوع هوشمند به یک رشته پوچ (null) دسترسی پیدا کنیم ، یک خطای زمان کامپایل ایجاد می کند.

1
2
3
4
5
fun main(args: Array){
    var string: String? = "BYE"        
        print(string.length)       // compile time error
    }
}

8) زمان کامپایل کمتر

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

آموزش Dagger Hilt – راهنمای گام به گام
خواندن این مقاله
قدرت گرفته از افزونه نوشته‌های مرتبط هوشمند

9) دوستدار ابزار

این زبان پشتیبانی عالیی از ابزار دارد. هر کدام از محیط های توسعه ی جاوا ، مانند IntelliJ IDEA ، Eclipse ، Android Studio میتوانند با کاتلین کار کنند همچنین ما میتوانیم برنامه های کاتلینی را از خط فرمان (cmmand line) نیز اجرا کنیم.

مزایای زبان کاتلین

  • یادگیری آسان – مباحث پایه تقریبا شبیه جاوا است ، اگر کسی قبلا با زبان جاوا کار کرده باشد ، بدون صرف زمان زیادی میتواند کد های کاتلینی را متوجه شود.
  • کاتلین چند پلتفرمی است – کاتلین توسط تمام محیط های توسعه ی جاوایی پشتیبانی می شود ، بنابراین شما میتوانید کد خود را بنویسید و اجرا کنید روی هر دستگاهی که از ماشین مجازی جاوا (JVM) پشتیبانی می کند.
  • این زبان بسیار امن تر از جاوا است.
  • کاتلین به شما اجازه می دهد تا به وسیله فریمورک های پیشرفته در پروژه های جدید خود از فریمورک ها و کتابخانه های جاوا بدون نیاز به ایجاد تغییرات اساسی در پروژه ، استفاده کنید.
  • زبان برنامه نویسی کاتلین شامل کامپایلر ، کتابخانه ها و به طور کلی همه ابزار هایی است که به طور رایگان عرضه شده اند و به صورت متن باز بر روی گیت هاب در دسترس هستند. (برای مشاهده به این لینک مراجعه شود https://github.com/JetBrains/kotlin)

کاربرد های زبان کاتلین

  • شما میتوانید از زبان کاتلین برای ساخت برنامه های اندرویدی استفاده کنید.
  • همچنین کد کاتلینی می تواند در JavaScript ترجمه شود و برای بخش فرانت اند مورد استفاده قرار بگیرد.
  • به علاوه این زبان به گونه ای طراحی شده که بتوان از ان در توسعه وب و سمت
برچسب ها: کاتلین
قبلی ایجاد انواع Build Variant در اندروید
بعدی آشنایی با برنامه نویسی واکنش گرا RxJava، RxAndroid در اندروید

3 دیدگاه

به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.

  • کاوه گفت:
    1403-03-29 در 10:09

    سلام
    این مقاله کمی کوتاه بود، انتظار داشتم مطالب بیشتری ببینم.

    پاسخ
  • مینا گفت:
    1403-03-29 در 10:24

    سلام خیلی عالی و بی‌نقص توضیح داده‌اید.

    پاسخ
  • شهبازی گفت:
    1403-03-29 در 10:25

    سلام
    از این مقاله خیلی چیزها یاد گرفتم سپاسگذارم.

    پاسخ

دیدگاهتان را بنویسید لغو پاسخ

جستجو برای:
دسته‌ها
  • GoLang
  • jetpack compose
  • PHP
  • اپلیکیشن
  • امنیت
  • اندروید
  • اوپن سورس
  • برنامه نویسی
  • برنامه نویسی iOS
  • برنامه نویسی react native
  • پادکست صوتی
  • تکنولوژی
  • جاوا
  • طراح رابط کاربری
  • طراحی رابط کاربری
  • طراحی وب
  • عمومی
  • فریلنسر
  • فلاتر
  • فناوری
  • کاتلین
  • کتاب های آموزشی
  • کسب و کار
  • هوش مصنوعی
  • وردپرس
برچسب‌ها
admob coroutine dagger dagger-hilt jetpack nft rxandroid rxjava spring swift ارز دیجیتال امنیت در اندروید دارت فایربیس فوشیا مصاحبه کاری معماری mvi نقشه راه برنامه نویسی کاتلین گوگل

آکادمی آموزنگار، جایی برای آغاز یک سفر شگفت‌انگیز در دنیای برنامه‌نویسی است. آموزنگار تلاش می‌کند تا هر فردی را از هر سطحی از زندگی و تجربه به دنیای جذاب برنامه‌نویسی وارد کند.

دسترسی سریع
  • درباره ما
  • تماس با ما
  • حریم خصوصی
  • سوالات متداول
نمادها
شبکه های اجتماعی
Facebook Twitter Youtube icon--white Whatsapp

تهران، میدان ولی عصر،خیابان شهیدان سازش،کوچه سوم پلاک 5 طبقه سوم واحد 31

021-88945907

تمامی حقوق برای آکادمی آموزنگار محفوظ می باشد

اشتراک گذاری در شبکه های اجتماعی
ارسال به ایمیل
https://amooznegar.com/?p=11418
  • Afghanistan (+93)
  • Albania (+355)
  • Algeria (+213)
  • American Samoa (+1)
  • Andorra (+376)
  • Angola (+244)
  • Anguilla (+1)
  • Antigua (+1)
  • Argentina (+54)
  • Armenia (+374)
  • Aruba (+297)
  • Australia (+61)
  • Austria (+43)
  • Azerbaijan (+994)
  • Bahrain (+973)
  • Bangladesh (+880)
  • Barbados (+1)
  • Belarus (+375)
  • Belgium (+32)
  • Belize (+501)
  • Benin (+229)
  • Bermuda (+1)
  • Bhutan (+975)
  • Bolivia (+591)
  • Bonaire, Sint Eustatius and Saba (+599)
  • Bosnia and Herzegovina (+387)
  • Botswana (+267)
  • Brazil (+55)
  • British Indian Ocean Territory (+246)
  • British Virgin Islands (+1)
  • Brunei (+673)
  • Bulgaria (+359)
  • Burkina Faso (+226)
  • Burundi (+257)
  • Cambodia (+855)
  • Cameroon (+237)
  • Canada (+1)
  • Cape Verde (+238)
  • Cayman Islands (+1)
  • Central African Republic (+236)
  • Chad (+235)
  • Chile (+56)
  • China (+86)
  • Colombia (+57)
  • Comoros (+269)
  • Cook Islands (+682)
  • Côte d'Ivoire (+225)
  • Costa Rica (+506)
  • Croatia (+385)
  • Cuba (+53)
  • Curaçao (+599)
  • Cyprus (+357)
  • Czech Republic (+420)
  • Democratic Republic of the Congo (+243)
  • Denmark (+45)
  • Djibouti (+253)
  • Dominica (+1)
  • Dominican Republic (+1)
  • Ecuador (+593)
  • Egypt (+20)
  • El Salvador (+503)
  • Equatorial Guinea (+240)
  • Eritrea (+291)
  • Estonia (+372)
  • Ethiopia (+251)
  • Falkland Islands (+500)
  • Faroe Islands (+298)
  • Federated States of Micronesia (+691)
  • Fiji (+679)
  • Finland (+358)
  • France (+33)
  • French Guiana (+594)
  • French Polynesia (+689)
  • Gabon (+241)
  • Georgia (+995)
  • Germany (+49)
  • Ghana (+233)
  • Gibraltar (+350)
  • Greece (+30)
  • Greenland (+299)
  • Grenada (+1)
  • Guadeloupe (+590)
  • Guam (+1)
  • Guatemala (+502)
  • Guernsey (+44)
  • Guinea (+224)
  • Guinea-Bissau (+245)
  • Guyana (+592)
  • Haiti (+509)
  • Honduras (+504)
  • Hong Kong (+852)
  • Hungary (+36)
  • Iceland (+354)
  • India (+91)
  • Indonesia (+62)
  • Iran (+98)
  • Iraq (+964)
  • Ireland (+353)
  • Isle Of Man (+44)
  • Israel (+972)
  • Italy (+39)
  • Jamaica (+1)
  • Japan (+81)
  • Jersey (+44)
  • Jordan (+962)
  • Kazakhstan (+7)
  • Kenya (+254)
  • Kiribati (+686)
  • Kuwait (+965)
  • Kyrgyzstan (+996)
  • Laos (+856)
  • Latvia (+371)
  • Lebanon (+961)
  • Lesotho (+266)
  • Liberia (+231)
  • Libya (+218)
  • Liechtenstein (+423)
  • Lithuania (+370)
  • Luxembourg (+352)
  • Macau (+853)
  • Macedonia (+389)
  • Madagascar (+261)
  • Malawi (+265)
  • Malaysia (+60)
  • Maldives (+960)
  • Mali (+223)
  • Malta (+356)
  • Marshall Islands (+692)
  • Martinique (+596)
  • Mauritania (+222)
  • Mauritius (+230)
  • Mayotte (+262)
  • Mexico (+52)
  • Moldova (+373)
  • Monaco (+377)
  • Mongolia (+976)
  • Montenegro (+382)
  • Montserrat (+1)
  • Morocco (+212)
  • Mozambique (+258)
  • Myanmar (+95)
  • Namibia (+264)
  • Nauru (+674)
  • Nepal (+977)
  • Netherlands (+31)
  • New Caledonia (+687)
  • New Zealand (+64)
  • Nicaragua (+505)
  • Niger (+227)
  • Nigeria (+234)
  • Niue (+683)
  • Norfolk Island (+672)
  • North Korea (+850)
  • Northern Mariana Islands (+1)
  • Norway (+47)
  • Oman (+968)
  • Pakistan (+92)
  • Palau (+680)
  • Palestine (+970)
  • Panama (+507)
  • Papua New Guinea (+675)
  • Paraguay (+595)
  • Peru (+51)
  • Philippines (+63)
  • Poland (+48)
  • Portugal (+351)
  • Puerto Rico (+1)
  • Qatar (+974)
  • Republic of the Congo (+242)
  • Romania (+40)
  • Reunion (+262)
  • Russia (+7)
  • Rwanda (+250)
  • Saint Helena (+290)
  • Saint Kitts and Nevis (+1)
  • Saint Pierre and Miquelon (+508)
  • Saint Vincent and the Grenadines (+1)
  • Samoa (+685)
  • San Marino (+378)
  • Sao Tome and Principe (+239)
  • Saudi Arabia (+966)
  • Senegal (+221)
  • Serbia (+381)
  • Seychelles (+248)
  • Sierra Leone (+232)
  • Singapore (+65)
  • Sint Maarten (+1)
  • Slovakia (+421)
  • Slovenia (+386)
  • Solomon Islands (+677)
  • Somalia (+252)
  • South Africa (+27)
  • South Korea (+82)
  • South Sudan (+211)
  • Spain (+34)
  • Sri Lanka (+94)
  • St. Lucia (+1)
  • Sudan (+249)
  • Suriname (+597)
  • Swaziland (+268)
  • Sweden (+46)
  • Switzerland (+41)
  • Syria (+963)
  • Taiwan (+886)
  • Tajikistan (+992)
  • Tanzania (+255)
  • Thailand (+66)
  • The Bahamas (+1)
  • The Gambia (+220)
  • Timor-Leste (+670)
  • Togo (+228)
  • Tokelau (+690)
  • Tonga (+676)
  • Trinidad and Tobago (+1)
  • Tunisia (+216)
  • Turkey (+90)
  • Turkmenistan (+993)
  • Turks and Caicos Islands (+1)
  • Tuvalu (+688)
  • U.S. Virgin Islands (+1)
  • Uganda (+256)
  • Ukraine (+380)
  • United Arab Emirates (+971)
  • United Kingdom (+44)
  • United States (+1)
  • Uruguay (+598)
  • Uzbekistan (+998)
  • Vanuatu (+678)
  • Venezuela (+58)
  • Vietnam (+84)
  • Wallis and Futuna (+681)
  • Western Sahara (+212)
  • Yemen (+967)
  • Zambia (+260)
  • Zimbabwe (+263)
مرورگر شما از HTML5 پشتیبانی نمی کند.

سوالی دارید؟ از ما بپرسید، کارشناسان ما در اسرع وقت با شما تماس می گیرند.

آموزنگار

آکادمی آموزنگار

  • 021-88945907
  • شنبه تا چهارشنبه از ساعت 8 تا 17
  • info@amooznegar.com
ورود
استفاده از شماره تلفن
استفاده از آدرس ایمیل
آیا هنوز عضو نشده اید؟ ثبت نام کنید
بازیابی رمز عبور
استفاده از شماره تلفن
استفاده از آدرس ایمیل
ثبت نام
استفاده از شماره تلفن
استفاده از ایمیل
قبلا عضو شده اید؟ ورود به سیستم
محافظت توسط