0% found this document useful (0 votes)
10 views

kotlin

Uploaded by

zjadidfard
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views

kotlin

Uploaded by

zjadidfard
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

‫زبان برنامه نویسی کاتلین‬

‫مقدمه‬

‫زبان برنامه‌نویسی کاتلین یک زبان برنامه‌نویسی مدرن‪ ،‬قابل تفسیر و شیءگرا است که بر روی پلتفرم جاوا اجرا می‌شود‪ .‬این‬
‫زبان توسط شرکت ‪ 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
*/

// Short => (-2^16) to (2^16) -1


var Short: Short = 23

// UShort => (0) to (2^16) -1


var UShort: UShort = 23U

// Int or Integer => (-2^32) to (2^32) -1


var Int: Int = 23

// UInt => (0) to (2^32) -1


var UInt: UInt = 23U

// Long => (-2^64) to (2^64) -1


var Long: Long = 23

// ULong => (0) to (2^64) -1


11/18 var ULong: ULong = 23U
}
‫انواع متغیرها در کاتلین عبارتند از‪:‬‬

‫نوع داده‌ی ‪double‬برای اعداد با ممیز شناور استفاده می‌شود که برای نمایش‌شان به دقت باالتری از ‪float‬احتیاج‬
‫است و به طور معمول‪ ،‬متغیری از نوع ‪float‬دارای ‪ 4‬بایت و متغیری از نوع ‪double‬دارای ‪ 8‬بایت حجم از حافظه‬
‫هستند‪.‬‬

‫‪Char‬در‌کاتلین‬

‫برای‌نمایش‌یک‌کاراکتر‌در‌کاتلین‌‪‌،‬از‌انواع‌ ‪Char‬استفاده‌می‌شود‪.‬‬

‫‪val letter: Char‬‬


‫'‪letter = 'k‬‬
‫)"‪println("$letter‬‬

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


‫در کاتلین‪ ،‬رشته ها توسط کالس ‪String‬نمایش داده می شوند‪.‬‬

‫"‪val firstName: String = “Maryam‬‬


‫‪11/18‬‬
‫دستورات شرطی و حلقه ها در کاتلین‬

‫دستور ‪ : If‬برای‌مقایسه‌دو‌دستور‌به‌کار‌میرد‌و‌داخل‌{} عملیاتش‌را‌انجام‌می‌دهد‪.‬‬

‫دستور ‪ : when‬برای‌مقایسه‌چند‌دستور‌به‌کار‌میرد‌و‌داخل‌{} عملیاتش‌را‌انجام‌می‌دهد‪.‬‬

‫‪12/18‬‬
‫دستورات شرطی و حلقه ها در کاتلین (ادامه)‬

‫حلقه ‪ :for‬حلقه‌ها‌برای‌تکرار‌یک‌عملیات‌یا‌پیمایش‌لیست‌ها‌مورد‌استفاده‌قرار‌میگیرند‪.‬‬

‫حلقه ‪ :while‬یک‌شرط‌را‌چک‌میکند‌اگر‌شرط‌درست‌بود‌اجرا‌میشود‪.‬‬

‫‪13/18‬‬
‫مثال عملی‬
‫می‌خواهیم‌یک‌برنامه‌بنویسیم‌که‌نمره‌ی‌دانشجو‌را‌بررسی‌کرده‌و‌بر‌اساس‌آن‪‌،‬پیامی‌را‌چاپ‌کند‬

‫‪val score = 85‬‬


‫{ )‪if (score >= 90‬‬
‫)“عالی! "(‪println‬‬
‫{ )‪}else if (score >= 80‬‬
‫)”خوب!“(‪println‬‬
‫{ )‪}else if (score >= 70‬‬
‫)“ متوسط!"(‪println‬‬
‫{ )‪}else if (score >= 60‬‬
‫)”ضعیف! "(‪println‬‬
‫{ ‪}else‬‬
‫‪:‬‬
‫)”ناکافی!")‪println‬‬
‫}‬ ‫!‬

‫‪14/18‬‬
‫مقایسه زبان کاتلین با جاوا‬

‫توسعه‌دهندگان‌جاوا‌نیاز‌دارد‌تا‌نوع‌متغیر‌و‌قالب‌ها‌رو‌طبق هر‌‬ ‫ویژگی‌قالب‌های‌هوشمند‌کاتلین‌باعث‌می‌شود‌که‌بررسی‌قالب‌ها‌‬


‫عملکرد‌بررسی‌کند‪.‬‬ ‫رو‌با‌اپراتور‌(عملگر) "‪ " is‬که‌کارش‌بررسی‌ضمنی‌عملگر‌ها‌‬ ‫قالب‌های‌هوشمند‬
‫است‌انجام دهد‪.‬‬

‫جاوا‌استثنائات‌بررسی‌شده‌ای‌دارد و‌از‌اینکه‌کدام‌یک‌از‌توسعه‌‬ ‫کاتلین‌هیچ‌استثنائات‌بررسی‌شده‌ای‌ندارد‪ .‬بنابراین‪‌،‬نیازی‌به‌گرفتن‌‬


‫دهندگان‌می‌توانند استثنائات‌رو‌بدست‌بیاورند‌یا‌اعالم‌کنن‌پشتیبانی‌‬ ‫یا‌اعالم‌هیچ‌استثنائی‌نیست‪.‬‬ ‫استثنائات‌بررسی‌شده‬
‫میکند‪.‬‬

‫نیاز‌دارد‌تا‌نوع‌متغیرها‌رو‌به‌صراحت‌در‌‬ ‫توسعه‌دهندگان‌‬ ‫کاتلین استنباط نوع رو به سطح دیگری می‌برد‪ .‬نیازی به تعیین نوع‬
‫هنگام‌کدنویسی‌اعالم‌کنند‪.‬‬ ‫متغیر نیست‪ .‬چون کامپایلر نوع رو خودش به تنهایی حدس می‌زند‪.‬‬ ‫استنباط‌نوع‬

‫برای‌گسترش‌یک‌کالس‌با‌قابلیت‌های‌جدید‌در‌جاوا‪‌،‬توسعه‌‬ ‫توسعه‌دهندگان‌می‌توانند با‌استفاده‌از‌توابع‌پسوند‪‌،‬عملکرد‌یک‌‬


‫دهندگان‌باید‌یک‌کالس‌جدید‌ایجاد‌کنند‌و‌ان‌را‌از‌کالس‌والد به‌‬ ‫کالس‌رو‌گسترش‌دهد‪ .‬این‌توابع‌را می‌توان‌با‌پیشوند‌نام‌کالس‌‬
‫توابع‌پسوند‬
‫ایجاد‌کرد‌که‌باید‌به‌نام‌تابع‌ایجاد‌شده‌افزوده‌شود‪.‬‬
‫فاقد‌توابع‌پسوند‌هست‪.‬‬ ‫ارث‌ببرند‪.‬‬

‫‪15/18‬‬
‫نتیجه گیری‬
‫✓ از آنجا که کاتلین به عنوان یک زبان جدید در حال رشد است‪ ،‬امکانات و ابزارهای آن همچنان در حال توسعه و بهبود‬
‫است‪ .‬با این حال‪ ،‬به لحاظ کلی‪ ،‬کاتلین یک زبان برنامه نویسی قدرتمند و مورد استفاده بسیاری از توسعه‌دهندگان قرار‬
‫دارد‪.‬‬

‫✓ کاتلین یک زبان برنامه‌نویسی پرقدرت و مناسب برای توسعه برنامه‌های اندروید‪ ،‬سرور و وب است که با سادگی و‬
‫خوانایی باال‪ ،‬امکانات تابعی و پشتیبانی از جاوا را فراهم می‌کند‪.‬‬

‫✓ کاتلین از جامعه برنامه‌نویسان فعال و پشتیبانی قوی برخوردار است‪ .‬این به معنای وجود منابع آموزشی‪ ،‬کتابخانه‌های مفید‬
‫و ابزارهای توسعه قدرتمند است که به برنامه‌نویسان در فرآیند توسعه کمک می‌کند‪.‬‬

You might also like