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

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

زبان کاتلین (به انگلیسی: Kotlin) یک زبان ایستا است که در سال ۲۰۱۱ توسط تیم برنامه نویسان Jetbrains مستقر در سن پترزبورگ روسیه توسعه داده شده است. نام Kotlin نیز از جزیره ای با همین نام در نزدیکی سن پترزبورگ گرفته شده است. در سال ۲۰۱۲ منبع باز این پروژه تحت مجوز Apache 2 ارائه گردید.

کاتلین این قابلیت را دارد تا بر روی ماشین مجازی جاوا اجرا شود و همینطور می توان به زبان جاوا اسکریپت نیز آن را کامپایل نمود. اولین ورژن پایدار آن در سال ۲۰۱۶ تحت عنوان ورژن ۱.۰ ارائه شد.

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

کاتلین بر روی پلتفرم های مختلفی اجرا و پیاده سازی می شود. از جمله سرور یا اندروید یا بصورت محلی (Native) که توسط کامپایلر LLVM کامپایل می شود و قابل پیاده سازی بر روی سیستم های زیر می باشد:

  • Windows (x86_64 only at the moment)
  • Linux (x86_64, arm32, MIPS, MIPS little endian)
  • MacOS (x86_64)
  • IOS (arm64 only)
  • Android (arm32 and arm64)
  • WebAssembly (wasm32 only)

کاتلین و اندورید

از سال ۲۰۱۷ گوگل رسما کاتلین را به عنوان زبان دوم توسعه اندروید معرفی کرده است. و برای توسعه اپلیکیشن های اندروید کاتلین یک انتخاب بسیار عالی است. ویژگی های آن عبارتند از:

  • کاتلین با نسخه JDK6 سازگاری بالا دارد و بطور کامل توسط اندروید استودیو پشتیبانی می شود.
  • به خاطر استفاده از بایت کدهای ساده تر، کاتلین با سرعت بیشتری نسبت به جاوا اجرا می شود. کاتلین از Inline function ها و Lambda پشتیبانی می کند.
  • کاتلین دارای کتابخانه Runtime بسیار کم حجم است که می تواند از طریق استفاده از ProGuard نیز کاهش یابد.
  • معمولا زمان کاپایل سریعتر از جاواست.
  • توسط Android Studio پشتیبانی می شود.

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

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

  • وضوح
  • مقیاس پذیری
  • هماهنگی و سازگاری با کتابخانه های جاوا
  • ابزارهای زیاد مثل پشتیبانی IDE های مختلف و ..

فریمورک های سمت سرور :

فریمورک Spring: یکی از فریمورک های قدرتمند جاوا که برای توسعه سمت سرور است و ابزارها و کتابخانه های بیشماری در اختیار توسعه دهندگان قرار می دهد.

فریمورک Vert.x: یک فریمورک قدرتمند برای توسعه وب اپلیکیشن ها به صورت واکنش پذیر(reactive) که بر روی JVM اجرا می شود.

فریمورک Ktor: یک فریمورک مخصوص خود کاتلین می باشد که توسط کمپانی JetBrains توسعه داده شده است برای وب اپلیکیشن های با مقیاس پذیری بالا.

ابزار Kotlinx.html: برای ساختن کد های HTML توسط وب اپلیکیشن مثل JSP.

برای کار با پایگاه داده نیز دسترسی های مثل JDBC و JPA فراهم شده است و برای NoSQL هم می توان از کتابخانه های جاوا استفاده نمود.

وب اپلیکیشن های نوشته شده با کاتلین بر روی تمام وب سرورهایی که جاوا بر روی آن ها اجرا می شود قابل نصب می باشند.

استفاده از کاتلین در جاوا اسکریپت

کد کاتلین به کدهای جاوا اسکریپت نیز کامپایل می شود. در حال حاضر کدهای کاتلین به خروجی ECMAScript 5.1 تبدیل می شود.

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

خروجی کدهای جاوا اسکریپت دارای ویژگی های زیر می باشد:

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

کمپانی JetBrains چندین ابزار مخصوص را برای جامعه React توسعه و نگهداری می کند.

همچنین کاتلین با ماژول های CommonJS, AMD and UMD سازگاری کامل دارد.

استفاده از کاتلین به صورت محلی Kotlin/Native

تکنولوژی Kotlin/Native به شما این امکان را می دهد که بدون استفاده از ماشین مجازی خاص، کدهای کاتلین را به کدهای باینری تبدیل و اجرا کنید.

تکنولوژی Kotlin/Native بطور کامل با کد بومی یک سیستم عامل همکاری دارد. همچنین با کتابخانه های مختلفی همکاری دارد. می توان کدهای کاتلین را به زبان C خروجی گرفت که با تمام پلتفرم هایی که از این زبان پشتیبانی می کنند اجرا می شود. همچنین قابلیت همکاری با کد Objective-C را نیز دارا می باشد.

نمایش بیشتر

نوشته های مشابه

دیدگاهتان را بنویسید

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

همچنین ببینید
بستن
دکمه بازگشت به بالا