امروز میخواهم مطلب خود را با این سوال آغاز کنم:
"آیا میدانید زبان برنامه نویسی کاتلین به عنوان دومین زبان برنامهنویسی برای اندروید از سوی گوگل معرفی شده است؟"
JetBrains در سال ۲۰۱۱، کاتلین را معرفی کرد که با استقبال خوبی از طرف برنامهنویسان مواجه شد. اولین ورژن پایدار آن در سال ۲۰۱۶ ارائه شد و سال ۲۰۱۷ در کنفرانس IO17 بود که گوگل رسما از این زبان پشتیبانی کرد و آن را زبان دوم برنامهنویسی برای اندروید معرفی کرد.
درست پس از پایان یافتن کنفرانس I/O گوگل، نمودار رشد زبان کاتلین شتاب عجیبی به خود گرفت و ناگهان بر تعداد توسعهدهندگانی که کاتلین را برای برنامهنویسی اندروید انتخاب کردند، افزود تا جایی که به یک رقیب سرسخت برای جاوا تبدیل شد و توانست در سال 2020 در برنامهنویسی اندروید از جاوا پیشی بگیرد.
البته استقبال از زبان برنامهنویسی کاتلین غیر منتظره نبود چرا که این زبان ذاتا کامپایل شده است و سریعتر از زبانهای دیگر عمل میکند؛ در نتیجه اپلیکیشنهای بهتر و قویتری میتوان با آن تولید کرد. از همه مهمتر این است که زبان برنامه نویسی کاتلین با زبانهای پر استفاده دیگر اندروید مانند جاوا کاملا سازگار است.
جالب است بدانید که نام کاتلین از جزیرهای به همین نام در اطراف سن پترزبورگ روسیه گرفته شده است. به این دلیل که بیشتر کارهای توسعه Kotlin در شعبه سن پترزبورگ JetBrains انجام شده بود.
فکر میکنید دلیل ایجاد زبان برنامه نویسی کاتلین چه بود؟
تصور کنید زبان "جاوا" اتومیبلی است که دارای موتوری سریع و قابل اعتماد است و چرخهایی شگفتانگیز و شاسی فوقالعادهای دارد. اما ممکن است در ویژگیهایی دیگری چون راحتی، سیستم صدای بلند و ... کمبود داشته باشد. زبان کاتلین علاوه بر ارائه ویژگیهای جاوا، برخی از ویژگی اضافی که در بالا ذکر شد مانند سیستم صوتی عالی، صندلی راحت و غیره را دارا میباشد.
حالا چرا زبان برنامه نویسی کاتلین را انتخاب کنیم؟
بهتر است بدانید که زبان برنامه نویسی کاتلین یک زبان منبع-باز، تایپ استاتیک و همه منظوره میباشد که ویژگیهای برنامه نویسی شیگرا و ماژولار را با هم ترکیب کرده است. اولین دلیلی که میخواهیم برای استفاده از کاتلین نام ببریم، سازگاری کامل کاتلین با جاواست. شما در هر جای پروژه که از جاوا استفاده کرده باشید، میتوانید از کدهای کاتلین هم استفاده کنید و نگران هیچ مشکلی مثل پایین آمدن سرعت اجرای پروژه خود نباشید. از طرف دیگر شما میتوانید کدهای جاوا را به کاتلین و بالعکس تبدیل کنید.
اما چه مزیت یا ویژگی مهمی از زبان برنامه نویسی کاتیلن باعث شده که برنامه نویسان از جاوا به سمت کاتلین راغب شوند؟
-
اولین دلیل قدیمی بودن زبان جاواست که قدمتی ۲۲ ساله دارد و ممکن است خیلی از تکنولوژی های جدید را نتواند یا با سختی و پیچیدگی فراوان آن را پیاده سازی کند.
-
جاوا ترکیبی از کدهای طولانی است.
-
کامپایل کدهای جاوا بسیار کند است.
کامپایل شدن کد کاتلین به کدهای جاوا اسکریپت:
خب اگه بخواهم از شگفتی دیگر زبان برنامه نویسی کاتلین خدمت شما عزیزان بگویم، استفاده شدن کدهای کاتلین در جاوا اسکریپت است. یعنی کدهای کاتلین به خروجی ECMAScript 5.1 تبدیل می شود.
اما ویژگیهای خروجی کدهای جاوا اسکریپت:
-
بهینه بودن خروجی کدها
-
خوانایی بالای کدها
-
همکاری خروجی کد با کتابخانه های موجود
-
خروجی کدها به صورت استاندارد زبان برنامه نویسی
چگونه از آنها استفاده کنیم؟
تبدیل به کدهای سمت کاربر به دو صورت انجام میگیرد:
-
تعامل با DOM Element: کاتلین اینترفیسهایی برای کار با Document Object Element فراهم میکند که میتوان آنها را ایجاد و بروزرسانی کرد.
-
تعامل با کتابخانههای گرافیکی مثل WebGL
در سمت تبدیل به کدهای سرور به صورت زیر است:
- تعامل داشتن با تکنولوژیهای سمت سرور مثل Node.js
کاتلین میتواند همراه با کتابخانهها و فریمورکهای موجود مانند JQuery یا React استفاده شود. همچنین میتوان به همراه یک API قوی، کدهای TypeScript را به Kotlin با استفاده از ابزار ts2kt تبدیل کرد و با ماژولهای CommonJS ،AMD and UMD نیز سازگاری کامل دارد.
آیا استفاده از کاتلین به صورت محلی Kotlin/Native امکانپذیر است؟
در پاسخ به این سوال باید بگویم بله؛ تکنولوژی Kotlin/Native به شما این امکان را میدهد که بدون استفاده از ماشین مجازی خاص، کدهای کاتلین را به کدهای باینری تبدیل و اجرا کنیم آن هم به وسیلهی کامپایلر (LLVM (Low Level Virtual Machine.
این تکنولوژی برای جاهایی که امکان اجرای هیچ VM امکانپذیر نیست، طراحی شده است مثل IOS یا Embedded system یا هر جایی که یک توسعهدهنده نیاز به اجرای یک برنامه مستقل با اندازه مناسب و نیاز به اجرای سریع داشته باشد. تکنولوژی Kotlin/Native به طور کامل با کد بومی یک سیستمعامل همکاری دارد و با کتابخانههای مختلفی همکاری میکند. مثلا میتوان کدهای کاتلین را به زبان C خروجی گرفت. همچنین قابلیت همکاری با کد Objective-C را دارا میباشد.
جمع بندی:
امیدوارم از مطلب امروز لذت برده باشید اما به عنوان کلام آخر و جمعبندی این مطلب میخواهم شما را با IDEهای پشتیبانی شده از KOTLIN و کاربردهای این زبان آشنا کنم.
Kotlin توسط تمام IDEهای اصلی Java شامل IntelliJ IDEA ،Android Studio ،Eclipse و NetBeans پشتیبانی میشود.
از زبان برنامه نویسی کاتلین میتوانید برای توسعه سمت سرور، وب، دسکتاپ و از همه مهمتر اندورید استفاده کنید.
در توسعه سرور به دلیل سازگار بودن کاتلین با JVM، میتوانید از هر فریمورک موجود مانند Spring Boot ،vert.x ،JSF یا حتی فریمورک خاص این زبان به نام Ktor استفاده کنید. اما اگر میخواهید برای توسعه از این زبان استفاده کنید، پیشنهاد ما استفاده از kotlin js است که نه تنها برای کدنویسی در سمت سرور، بلکه برای client نیز استفاده میشود و با سیستمهای ماژولی مپل AMD و common js نیز همخوانی دارد.
برای توسعه دسکتاپ نیز میتوانید از هر فریمورک رابط کاربری جاوا مانند JavaFx ،Swing یا ..... استفاده کنید. علاوه بر آن، فریمورک خاص Kotlin مانند TornadoFX نیز وجود دارد.
نظر شما در تصمیم دیگران اثرگذار است.
لطفا برای همراهان درسمن و بهتر شدن دوره نظر خود را بنویسید.