تا پایان امشب - بیشترین تخفیف تا امروز (%۷۰ و %۸۷) ویژه حمایت از دانشجویان‌ و کسب‌وکارهای آسیب‌دیده جزئیات

دلیل استفاده از کاتلین – ویژگی های زبان کاتلین


دلیل استفاده از کاتلین - ویژگی های زبان کاتلین

ویژگی های زبان کاتلین چیست؟

مدتی است که کاتلین به نقل محفل برنامه نویسان اندروید و Trend روز برنامه نویسان ایرانی و جهانی تبدیل شده است. در حال حاضر کمتر وب سایتی را مشاهده خواهید کرد که آموزش کاتلین و یا معرفی آن را به گونه ای پوشش نداده باشد . در این مقاله به معرفی جامعی از کاتلین و ویژگی های آن می پردازیم همچنین شرکت های معروفی که از این زبان بهره برده اند را معرفی خواهیم کرد.

دلیل استفاده از کاتلین - ویژگی های زبان کاتلین

کاتلین در سال 2011 توسط JetBrains معرفی شد و در همان تاریخ هم با استقبال خوبی از طرف برنامه نویسان مواجه شد ولی در کنفرانس IO17 گوگل بود که گوگل رسما از این زبان پشتیبانی کرد و آن را به Trend روز جهان و همچنین ایران در حوزه برنامه نویسی تبدیل کرد.

از بدو تولد اندروید معضلی که همه برنامه نویسان اندروید رو آزرده خاطر کرده بود استفاده از یک زبان قدیمی (جاوا) و از محیط برنامه نویسی قدیمی (IDE : Eclipse) برای توسعه اپلیکیشن های اندرویدی بود که بعدا با معرفی اندروید استودیو مقداری از این آزرده خاطری کاهش پیدا کرد ولی هنوز پابرجا بود.

کاتلین چیست ؟

کاتلین یک زبان برنامه نویسی ایستا (Statically typed) که برای چهار هدف قابل استفاده است :

  • برای ماشین مجازی جاوا(JVM)
  • برای توسعه اپلیکیشن های اندرویدی
  • برای مرورگر ها به کمک جاوااسکریپت
  • برای kotlin/Native

دلیل استفاده از کاتلین - ویژگی های زبان کاتلین

کنفرانس IO17 گوگل رسما از کاتلین پشتیبانی کرد و آن را زبانی جدید برای توسعه اپلیکیشن های اندروید قرار داد، کاتلین بیشتر برای توسعه اپلیکیشن های اندروید شناخته شد. در حقیقت از این تاریخ به بعد بود که Kotlin توجه بیشتری از برنامه نویسان به خود جلب کرد. البته این جلب توجه غیرمنتظره نبود زیرا کاتلین زبانی ذاتا کامپایل شده است و سریع تر از زبان های دیگر عمل میکند و در نتیجه اپلیکیشن هایی بهتر و قوی تری میتوان با آن تولید کرد . از همه مهم تر اینکه این زبان با زبان های پر استفاده دیگر اندروید مانند جاوا کاملا سازگار است.

کاتلین یک زبان منبع باز محسوب میشود که ویژگی های برنامه نویسی شی گرا و ماژولار را با هم ترکیب کرده است  . نام کاتلین از جزیره ای به همین نام در اطراف سن پترزبورگ روسیه گرفته شده است . به این دلیل که بیشتر کارهای توسعه Kotlin در شعبه سن پترزبورگ JetBrains انجام شد.

چرا کاتلین ؟

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

سه مزیت و ویژگی مهم زبان کاتلین که برنامه نویسان را از زبان جاوا به زبان کاتلین راغب می‌کند:

  • 1. اولین دلیل قدیمی بودن زبان جاواست که قدمتی 22 ساله دارد و شاید خیلی از تکنولوژی های جدید را نتوان و یا به سختی و پیچیدگی فراوان بتوان با آن پیاده سازی کرد.
  • 2. جاوا ترکیبی از کدهای طولانی است.
  • 3. کامپایل کدهای جاوا بسیار کند است.
  • 4. همچنین قابلیت برنامه نویسی End-To-End کاتلین نیز وجود دارد که امکان استفاده از آن در بسیاری از پلتفرم ها را فراهم میکند.

دلیل استفاده از کاتلین - ویژگی های زبان کاتلین

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

از کوتلین می توانید برای هر نوع برنامه نویسی چه در سمت سرور و client و چه اندروید استفاده کنید. با کمک Kotlin/Native شما می توانید از پشتیبانی مک و IOS نیز بزودی بهره مند شوید. بیشتر افراد از کوتلین برای موبایل و تحت وب استفاده می کنند و برای برنامه نویسی سمت Client از جاوا اسکریپت و جاوا Fx استفاده می شود. Data science نیز جزو گزینه های موجود است.

Kotlin برای توسعه سرور

کاتلین سازگار با JVM است و به همین علت می توانید از هر فریم ورک موجود مانند Spring Boot، vert.x یا JSF استفاده کنید. علاوه بر این، فریم ورک خاصی در کوتلین مانند Ktor وجود دارد.

Kotlin برای توسعه وب

شما می توانید از  kotlin js نه تنها برای کدنویسی در سمت سرور بلکه برای client نیز استفاده کنید . کمترین از تعاریف موجود در  definitely Typedاستفاده می کند تا دستور های رایج در کتابخانه های جاوا را اجرا کند. ابن برنامه با سیستم های ماژولی مپل AMDو  common js  نیز هم خوانی دارد.

Kotlin برای توسعه دسکتاپ

 همچنین شما می توانید از هر فریم ورک رابط کاربری جاوا مانند JavaFx، Swing یا دیگر استفاده کنید. علاوه بر این، فریم ورک خاص Kotlin مانند TornadoFX وجود دارد.

Kotlin برای توسعه بومی (Kotlin / Native)

Kotlin / Native در حال حاضر در حال بررسی است. Kotlin / Native کاتلین را به کد های  native کامپایل می کند که این کدها می تواند بدون VM (ماشین مجازی) اجرا شود. پیشن مایش این فناوری منتشر شده است اما هنوز آماده تولید نیست و در حال حاضر تمام سیستم عاملها برای پشتیبانی از آن مورد هدف نیستند.

Kotlin برای توسعه اندروید

دلیل استفاده از کاتلین - ویژگی های زبان کاتلین

Kotlin به عنوان یک زبان درجه اول در اندروید پشتیبانی می شود. صدها برنامه کاربردی که از Kotlin برای اندروید استفاده می کنند که به چند مورد از آن‌ها اشاره می کنیم:

تعدادی از برنامه هایی که با کاتلین نوشته شده اند:

Pinterest

سرویس اجتماعی معروف اشتراک عکس تصمیم گرفت از Kotlin استفاده کند و در برنامه Android خود از جاوا بهره ببرد. آنها مزایا و معایب استفاده از Kotlin را در تولید در Droidcon NYC 2016 ارائه دادند. چیزی که ممکن است کمی عجیب باشد، این است که Kotlin در چنین برنامه محبوب با پایگاه کاربری گسترده اش حتی قبل از اینکه گوگل اولین پشتیبانی از این زبان را اعلام کند، استفاده کرد.

Coursera (کورسرا)

Coursera یک شرکت آموزشی است که دوره های آموزشی آنلاین را که توسط دانشگاه ها و موسسات برجسته مانند استنفورد و ییل برگزار می شود، ارائه می دهد. Coursera سازمان های Android و iOS جداگانه ندارد. آنها فقط مفهوم تلفن همراه را دارند و به همین دلیل تصمیم گرفتند از Kotlin استفاده کنند. Kotlin شبیه Swift است، یک زبان برنامه نویسی نسبتا جدید برای توسعه iOS است که این موضوع باعث ساده تر به اشتراک گذاری دانش بین مهندسان، ارتباطات بهتر و توسعه کلی کارآمدتر می شود.

Trello (ترلو)

Trello یک برنامه مدیریت شناخته شده پروژه است که در حال حاضر متعلق به Atlassian است. ترلو برای برنامه ی Android خود، کد های جدید ش را در Kotlin نوشته است.همکاری با Java و Kotlin ممکن است به لطف قابلیت همکاری عالی بین دو زبان باشد.

Evernote

Evernote یک برنامه طراحی شده برای ضبط، سازماندهی، لیست کارها و بایگانی است. Evernote  برای مشتریان اندروید خود از زبان کاتلین بهره برده است.

Basecamp 3

برنامه ای که به مدیریت کسب و کارهای کوچک در حال رشد کمک می کند. این به طور کامل در Kotlin نوشته شده است و توسعه دهندگان Basecamp ادعا می کنند که انتخاب Kotlin منجر به تفاوت های بزرگی در آسایش، کیفیت و سرعت کار آنها شد.

Twidere برای توییتر

منبع باز، 100 درصد طراحی مرورگر توییتر با material design، افزایش تجربه کاربر توییتر. همه‌ی  این ها  در کوتلین نوشته شده است، اگر چه برخی از کدهای جاوا هنوز در آن وجود دارد.

 Shadowsocks (سایه ها)

یک cross-platform با عملکرد و امنیت بالا است که از Proxy Socks5 پشتیبانی کرده و کمک می کند تا در هنگام مرور اینترنت افزایش امنیت و حریم خصوصی داشته باشید. Shadowsocks از زبان کاتلین برای مشتریان اندرویدی خود بهره برده است. Shadowsocks هر دو توسط کاربران در Google Play و سایر توسعه دهندگان قدردانی می شود.

Simple Calendar

یک تقویم ساده و Open source بدون نیاز به مجوز های خاص. این برنامه، جزئی از پک کامل موبایلی Simple Mobile Tools می باشد. همه‌ی این برنامه ها Open Source بوده و در کوتلین نوشته شدند.

برنامه KotlinConf

KotlinConf یک کنفرانس توسعه دهندگان است که توسط سازندگان کوتلین JetBrains میزبانی شده است. هیچ راهی وجود ندارد که برنامه کنفرانس رسمی در یک زبان دیگر نوشته شود. واقعا جالب است این است که نه تنها برای مشتریان Android این برنامه در Kotlin نوشته شده بلکه برنامه وب، سرور و IOS نیز دارد. این فقط نشان دهنده پتانسیل عالی این زبان است.

برنامه رسمی کنفرانس Driodkaigi 2018

DroidKaigi 2018  یک کنفرانس برای برنامه نویسان اندرویدی است که در توکیو سازمان دهی می شود. این یکی  دیگر از برنامه هایی است که توسط کوتلین نوشته شده ولی این بار کنفرانس توسط خلاقان این برنامه برگزار نمی شود. این موضوع نشان دهنده ی محبوبیت بالای کوتلین در بین اندرویدی هاست

IDEهای پشتیبانی شده از Kotlin کدام‌اند؟

دلیل استفاده از کاتلین - ویژگی های زبان کاتلین

Kotlin توسط تمام IDE های اصلی Java شامل IntelliJ IDEA، Android Studio، Eclipse و NetBeans پشتیبانی می شود. علاوه بر این، کامپایلر خط فرمان در دسترس است و پشتیبانی مستقیم برای کامپایل و اجرای برنامه ها را فراهم می کند.

ساخت ابزارهای پشتیبانی شده توسط کوتلین 

در سمت JVM ابزار اصلی ساخت شامل Gradle، Maven، Ant و Kobalt است. همچنین برخی از ابزارهای ساخت موجود وجود دارد که جاوا اسکریپت سمت کلاینت را هدف قرار می دهند.

کوتلین یا همان کاتلین چه چیزی را تشکیل می دهد؟

هنگامی که JVM را هدف قرار می دهد، کوتلین بایت کد های سازگار با جاوا را تولید می کند. هنگامی که جاوا اسکریپت را هدف قرار می دهد، کوتلین به ES5.1 رجوع می کند و کد را تولید می کند که سازگار با سیستم های ماژول از جمله AMD و CommonJS است. وقتی کوتلین بومی (Kotlin / Native) را هدف قرار می‌دهد، کد مخصوص پلتفرم را تولید می کند (از طریق LLVM).

آیا کوتلین فقط جاوا 6 را هدف قرار می دهد؟

 Kotlin به شما اجازه می دهد بین تولید کننده های Java 6 و  Java 8 کدهای سازگار با نسخه موردنظر را انتخاب کنید. اکثر کد های بهینه  ممکن است برای نسخه های بالاتر پلتفرم تولید شود.

کدام شرکت ها از Kotlin استفاده می کنند؟

شرکت های زیادی وجود دارند که از Kotlin استفاده می کنند، اما برخی از شرکت های مشهور دیگری که به طور عمومی استفاده از Kotlin اعلام کرده اند، از طریق پست های وبلاگ، مخازن GitHub یا مذاکرات شامل Square، Pinterest یا Basecamp است.

آیا کوتلین یک جامعه دارد؟

بله کوتلین جامعه بسیار پر جنب و جوش دارد. توسعه دهندگان Kotlin در انجمن های Kotlin، StackOverflow و فعالانه در Kotlin Slack (نزدیک به 7000 عضو تا ماه مه 2017) فعال هستند.

آیا کوتلین در رسانه های اجتماعی است؟

بله فعال ترین حساب Kotlin در توییتر است. همچنین یک گروه + Google وجود دارد.

نتیجه گیری :

زبان کاتلین از کاربرد دو سویه bi directional usage پشتیبانی میکند . یعنی شما به راحتی میتوانید کدهای خودتون رو از جاوا به کاتلین و بالعکس تبدیل کنید. همچنین کاتلین از تمام ویژگی ها و ابزار های اندروید استودیو به خوبی پشتیبانی میکند و با آن سازگار است . کاتلین همه کارها را برای کوچ راحت از جاوا به کاتلین و یا استفاده همزمان از این دو زبان برنامه نویسی را برای شما فراهم کرده است و با توجه به ویژگی های که دارد یادگیری زبان برنامه نویسی کاتلین را بسیار راحت کرده است. برای یادگیری این زبان قدرتمند می توانید آموزش کامل کاتلین را در سایت لرن فایلز تهیه فرمایید. پس همین الان یادگیری را شروع کنید!

نظرات کاربران

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

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

0 نظر ثبت شده است
میهمان
mb (5 مهر 1398 | 18:41)

سلام
آیا تمام IDE های بالا (IntelliJ IDEA، Android Studio، Eclipse و NetBeans) نییاز دارن به jdk؟
و چطور ورژن مناسب jdk ، برای سیستم رو تشخص بدم ؟

ارسال پاسخ

نوشته های دیگر در دسته بندی مقالات آموزشی

ایندکس مطالب با سرعتی باور نکردنی

ایندکس مطالب با سرعتی باور نکردنی

آموزش سرعت بخشیدن به ایندکس شدن مطالب در کوتاه ترین زمان
10سوال برتر وب سایت کورا

10سوال برتر وب سایت کورا

معرفی 10 سوال برتر برنامه نویسی از وب سایت محبوب و مطرح کورا (Quora)
بهترین فریم ورک های PHP در سال ۲۰۱۸

بهترین فریم ورک های PHP در سال ۲۰۱۸

معرفی بهترین و پر طرفدار ترین فریم ورک های زبان برنامه نویسی PHP
آموزش هک

آموزش هک