تاریخ بروزرسانی : 18 شهریور 1399 | تعداد بازدید : 130 | زمان خواندن مقاله : 10دقیقه

چرا زبان برنامه نویسی کاتلین، رقیب سرسخت جاواست؟


امروز می خواهم مطلب خود را با این سوال آغاز کنم:
آیا می دانید زبان برنامه نویسی کاتلین به عنوان دومین زبان برنامه نویسی برای اندروید از سوی گوگل معرفی شده است؟
 در سال ۲۰۱۱  JetBrains  کاتلین را معرفی کرد که با استقبال خوبی از طرف برنامه نویسان مواجه شد. اولین ورژن پایدار آن در سال ۲۰۱۶ ارائه شد و سال ۲۰۱۷ در کنفرانس IO17 بود که گوگل رسما از این زبان پشتیبانی کرد و آن را زبان دوم برنامه نویسی برای اندروید معرفی کرد.
درست پس از پایان یافتن کنفرانس I/O گوگل، نمودار رشد زبان کاتلین شتاب عجیبی به خود گرفت و ناگهان بر تعداد توسعه‌ دهندگانی که کاتلین را برای برنامه‌نویسی اندروید انتخاب کردند، افزوده شد تا جایی که به یک رقیب سرسخت برای جاوا تبدیل شد و توانست در سال 2020 در برنامه‌نویسی اندروید از جاوا پیشی بگیرد.
البته استقبال از زبان برنامه نویسی کاتلین غیرمنتظره نبود چرا که این زبان ذاتا کامپایل شده است و سریع تر از زبان های دیگر عمل میکند. در نتیجه اپلیکیشن های بهتر و قوی تری میتوان با آن تولید کرد. از همه مهم تر اینکه این زبان با زبان های پر استفاده دیگر اندروید مانند جاوا کاملا سازگار است.
جالب است بدانید که نام کاتلین از جزیره ای به همین نام در اطراف سن پترزبورگ روسیه گرفته شده است. به این دلیل که بیشتر کارهای توسعه Kotlin در شعبه سن پترزبورگ JetBrains انجام شده بود.


فکر می کنید دلیل ایجاد زبان برنامه نویسی کاتلین چه بود؟


تصور کنید زبان "جاوا" اتومیبلی است که دارای موتوری سریع و قابل اعتماد است و چرخ هایی شگفت انگیز و شاسی فوق العاده ای دارد. اما ممکن است در ویژگی هایی دیگری چون راحتی، سیستم صدای بلند و ... کمبود داشته باشد. زبان کاتلین علاوه بر ارائه ویژگی های جاوا، برخی از ویژگی های اضافی که در بالا ذکر شد مانند سیستم صوتی عالی، صندلی راحت و غیره را دارا می باشد.


حالا چرا زبان برنامه نویسی کاتلین را انتخاب کنیم؟


بهتر است بدانید که زبان برنامه نویسی کاتلین یک زبان منبع باز، تایپ استاتیک و همه منظوره می باشد که ویژگی های برنامه نویسی شی گرا و ماژولار را با هم ترکیب کرده است. اولین دلیلی که میخواهیم برای استفاده از کاتلین نام ببریم، سازگاری کامل کاتلین با جاواست . شما در هر جای پروژه که با جاوا نوشته اید میتوانید از کدهای کاتلین هم استفاده کنید و نگران هیچ مشکلی مثل پایین آمدن سرعت اجرای پروژه خود نباشید. از طرف دیگر شما میتوانید کدهای جاوا را به کاتلین و بالعکس تبدیل کنید. 


اما چه مزیت یا ویژگی مهمی از زبان برنامه نویسی کاتیلن باعث شده که برنامه نویسان از جاوا به سمت کاتلین راغب ‌شوند؟ 


• اولین دلیل قدیمی بودن زبان جاواست که قدمتی ۲۲ ساله دارد و ممکن است خیلی از تکنولوژی های جدید را نتواند یا با سختی و پیچیدگی فراوان آن را پیاده سازی کند.
• جاوا ترکیبی از کدهای طولانی است.
• کامپایل کدهای جاوا بسیار کند است.

 

بیشتر بخوانید: برای متخصص اندروید چه ابزار هایی لازم است؟ چه مهارت هایی لازم است؟ در این مطلب راه متخصص شدن در حوزه اندروید را به شما عزیزان آموزش داده ایم.smiley


کامپایل شدن کد کاتلین به کدهای جاوا اسکریپت: 


خب اگه بخواهم از شگفتی دیگر زبان برنامه نویسی کاتلین خدمت شما عزیزان بگویم استفاده شدن کدهای کاتلین در جاوا اسکریپت است. یعنی کدهای کاتلین به خروجی 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 نیز وجود دارد.

و در انتها یک مژده به علاقه مندان کاتلین:

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

ممنونم که تا اینجا همراه بودید، پیشنهادات و انتقادات خود را با ما در میان بگذارید.


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

توضیحاتی در مورد نویسنده این مقاله :
مرضیه فتاحی مرضیه فتاحی

کارشناس کامپیوتر گرایش نرم افزار..... نویسندگی،تجربه ای انفرادی است یعنی به اشتراک گذاری.... این بخشی از ذات انسان است که بخواهد مسائل را به اشتراک بگذارد ازجمله:افکار،ایده ها،عقاید


نظر بدهید

نشانی ایمیل شما منتشر نخواهد شد .
برای ارسال نظر نیاز است وارد سایت شوید. در صورت نداشتن حساب کاربری عضو شوید.