kotlin
kotlin
مقدمه
زبان برنامهنویسی کاتلین یک زبان برنامهنویسی مدرن ،قابل تفسیر و شیءگرا است که بر روی پلتفرم جاوا اجرا میشود .این
زبان توسط شرکت JetBrainsدر سال 2011معرفی شد و در سال 2016توسط شرکت گوگل به عنوان زبان اصلی
برای توسعه نرمافزارهای اندروید انتخاب شد.
هدف اصلی توسعه دهندگان کاتلین ایجاد یک زبان برنامهنویسی ساده ،قابل
فهم و قابل خواندن بوده است که بهرهوری و سرعت توسعه را افزایش دهد.
کاتلین یک زبان برنامهنویسی که بر روی پلتفرم جاوا اجرا میشود و قابلیت
توسعه اپلیکیشنهای مختلف را دارد.
3/18
تاریخچه
❑ توسعه اولیه کاتلین ،در اواسط سال 2011در شهر زیبای سن پترزبورگ روسیه توسط تیم برنامهنویسی JetBrainsصورت
گرفته است .اسم زبان برنامه نویسی کاتلین از روی جزیره کاتلین در نزدیکی سن پترزبورگ گرفته شده است .حدود شش ماه
بعد رونمایی یعنی در ژانویهٔ سال 2012کاتلین به عنوان زبان ماه انتخاب شد.
❑ در ۷می ،۲۰۱۹گوگل اعالم کرد که زبان برنامه نویسی Kotlinاکنون زبان ترجیحی آن برای توسعه و
Reillyرا ساخت برنامه های اندروید است .کاتلین همچنین جایزه برک آوت کنفرانس نرم افزار منبع باز
برای سال ۲۰۱۹دریافت کرده است.
4/18
کاتلین چیست؟
کاتلین یک زبان برنامه نویسی مدرن و پرطرفدار است که امروزه بیش از 60درصد توسعه دهندگان اندروید از آن استفاده
میکنند .این زبان با الگوبرداری از زبان برنامه نویسی جاوا طراحی و تولید شده است؛ البته بسیاری از مشکالت جاوا در نسخه
کاتلین وجود ندارد .به همین علت امروزه بیشتر برنامه نویسان و توسعه دهندگان اندروید ترجیح میدهند از کاتلین استفاده کنند.
5/18
اپلیکشن های طراحی شده با کاتلین
❑ اپلیکیشنهای اندروید :کاتلین به خوبی با پلتفرم اندروید هماهنگی دارد و میتوان اپلیکیشنهای اندروید با آن طراحی کرد.
❑ اپلیکیشنهای دسکتاپ :کاتلین همچنین قابلیت توسعه اپلیکیشنهای دسکتاپ را نیز دارد .با استفاده از
فریمورکهایی مانند JavaFXو TornadoFXمیتوانید اپلیکیشنهای دسکتاپ چندسکویی و کارآمد را با
کاتلین طراحی کنید.
6/18
مزایایزبانکاتلین
جاوا خوانایی
امکان
توسعه نوعدهی
برنامهنویسی
مولتیپلتفرم استاتیک و پویا
شیءگرا و تابعی
7/18
معایب زبان کاتلین
عدم پشتیبانی
از جاوا
اسکریپت
تغییرات مکرر
در نسخههای
جدید
8/18
آینده زبان کاتلین
➢ این زبان برنامهنویسی در حال رشد و پیشرفت است و با توجه به مزایایی که دارد توسعهدهندگان بیشتری به سمت استفاده
از آن روی میآورند.
➢ به عنوان یک زبان مولتیپلتفرم ،کاتلین قابلیت توسعه برنامههای کاربردی برای چندین پلتفرم را فراهم میکند .این امکان
به توسعهدهندگان اجازه میدهد که برنامههای قابل استفاده در چندین پلتفرم را با استفاده از یک زبان برنامهنویسی توسعه
دهند و از اشتراک کدها و منابع بهرهبرداری کنند.
➢ کاتلین در حال توسعه و بهبود است و با اضافه شدن ویژگیهای جدید ،توسعهدهندگان میتوانند به طور مداوم از آن استفاده
کنند .به عنوان مثال ،اضافه شدن کتابخانههای جدید و بهبود عملکرد و سرعت زبان ،از جمله بهبودهایی هستند که در آینده
برای کاتلین قابل انتظار است.
9/18
دالیل استقبال برنامه نویسان از کاتلین
❖ نیاز بازار کار به کاتلین :بسیاری از شرکتهای توسعه دهنده به دنبال نیروی متخصص کاتلین هستند .افزایش میزان تقاضای
این شرکتها به برنامه نویس مسلط به زبان برنامه نویسی کاتلین ،نشان دهنده اهمیت این زبان در آینده برنامه نویسی است.
❖ افزایش سرعت توسعه پروژه ها :کد ها در زبان برنامه نویسی کاتلین به صورت کامال خالصه و بهینه نوشته میشوند؛
به گونهای که 10خط کد در جاوا میتواند عملکرد یکسانی با 2خط کد در کاتلین داشته باشد.
❖ استفاده از کتابخانه های موجود در جاوا :جامعه جهانی کاتلین با سرعت باالیی در حال رشد است اما همچنان جای
توسعه و بهبود بیشتر دارد .البته طراحی این زبان به گونهای بوده که با زبانهای دیگر هم سازگاری داشته باشد .این
قابلیت باعث میشود که برنامه نویس بتواند از مزایای یک اکوسیستم بزرگتر مانند جاوا با کتابخانههای غنی هم بهره
ببرد.
10/18
:انواع دادههای اصلی در کاتلین عبارتند از
)Integers(➢ اعدادصحیح
val age: Int = 25
(Floating-Point Numbers(➢ اعداداعشاری
val pi: Double = 3.14159
)Strings(➢ رشتهها
val name: String = "John Doe"
)Booleans) ➢ بولی
val isStudent: Boolean = true
(Arrays)➢ آرایهها
val numbers: Array<Int> = arrayOf(1, 2, 3, 4, 5)
)Maps)➢ دیکشنریها
val ages: Map<String, Int> = mapOf
11/18
:انواع متغیرها در کاتلین عبارتند از
/*
Variable is Space or Bucket to put information in it
Type : Short , UShort , Int , UInt , Long , ULong
*/
نوع دادهی doubleبرای اعداد با ممیز شناور استفاده میشود که برای نمایششان به دقت باالتری از floatاحتیاج
است و به طور معمول ،متغیری از نوع floatدارای 4بایت و متغیری از نوع doubleدارای 8بایت حجم از حافظه
هستند.
Charدرکاتلین
براینمایشیککاراکتردرکاتلین،ازانواع Charاستفادهمیشود.
12/18
دستورات شرطی و حلقه ها در کاتلین (ادامه)
حلقه :forحلقههابرایتکراریکعملیاتیاپیمایشلیستهامورداستفادهقرارمیگیرند.
حلقه :whileیکشرطراچکمیکنداگرشرطدرستبوداجرامیشود.
13/18
مثال عملی
میخواهیمیکبرنامهبنویسیمکهنمرهیدانشجورابررسیکردهوبراساسآن،پیامیراچاپکند
14/18
مقایسه زبان کاتلین با جاوا
نیازداردتانوعمتغیرهاروبهصراحتدر توسعهدهندگان کاتلین استنباط نوع رو به سطح دیگری میبرد .نیازی به تعیین نوع
هنگامکدنویسیاعالمکنند. متغیر نیست .چون کامپایلر نوع رو خودش به تنهایی حدس میزند. استنباطنوع
15/18
نتیجه گیری
✓ از آنجا که کاتلین به عنوان یک زبان جدید در حال رشد است ،امکانات و ابزارهای آن همچنان در حال توسعه و بهبود
است .با این حال ،به لحاظ کلی ،کاتلین یک زبان برنامه نویسی قدرتمند و مورد استفاده بسیاری از توسعهدهندگان قرار
دارد.
✓ کاتلین یک زبان برنامهنویسی پرقدرت و مناسب برای توسعه برنامههای اندروید ،سرور و وب است که با سادگی و
خوانایی باال ،امکانات تابعی و پشتیبانی از جاوا را فراهم میکند.
✓ کاتلین از جامعه برنامهنویسان فعال و پشتیبانی قوی برخوردار است .این به معنای وجود منابع آموزشی ،کتابخانههای مفید
و ابزارهای توسعه قدرتمند است که به برنامهنویسان در فرآیند توسعه کمک میکند.