آموزش زبان کاتلین – مقدمه

نویسنده : سید ایوب کوکبی ۱۴ مهر ۱۳۹۷

آموزش زبان کاتلین - مقدمه

زبان برنامه‌نویسی کاتلین از سوی کمپانی JetBrain برای تولید اپلیکیشن‌های چندسکویی (Multiplatform) ساخته شده است. این زبان امن است ، خواندن و نوشتنش کوتاه و بسیار سرگرم‌کننده. در این پست خواهم گفت: چرا این زبان را باید آموخت، از کجا باید شروع کرد و چطور می‌شود آن را یاد گرفت. این مقاله را خوب بخوانید تا ان‌شاءا.. در پست‌های بعدی شروع کنیم به آموزش مقدمات این زبان. عنوان این پست را «آموزش کامل زبان کاتلین» انتخاب نکرده‌ام. چرا؟ چون هیچ آموزشی کامل نبوده و نقطه‌ای برای پایان وجود ندارد. اما سعی می‌کنم به صورت فشرده و کوتاه با مقدمات و عناصر اصلی این زبان آشنایتان کنم.

چرا باید کاتلین را یاد بگیریم؟

این زبان تحت مجوز آپاچی (نسخه ۲٫۰) توزیع شده و توسعه داده می‌شود. کدنویسی در این زبان در قیاس با زبان جاوا ۴۰ درصد به تعداد خطوط کمتری نیاز دارد. کاتلین ۱۰۰ درصد با زبان جاوا و پلتفرم اندروید سازگار است؛ این یعنی برای ساخت اپلیکیشن‌های اندروید، هم می‌توانید از فایل‌های جاوا و هم کاتلین در کنار هم استفاده کنید. یادگیری این زبان بسیار آسان است بخصوص اگر آشنایی قبلی با زبان جاوا داشته باشید. از شر خطای null exception که معضل زبان جاوا است راحت می‌شوید. در واقع این زبان به گونه‌ای طراحی شده که بروز خطای null exception به حداقل می‌رسد. از همه مهمتر، کمپانی مشهور و محبوب JetBrain پشت آن است. شرکتی که محصولات ارزنده‌ای همچون Intellij, PhpStorm, PyCharm, Resharper, RubyMine, AppCode, TeamCity و … را در کارنامه خود به ثبت رسانده است.

این زبان در Trello, UBER, Gradle, Pinterest, NETFLIX, Coursera, C.rda استفاده شده است بنابراین از بابت کارآمدی آن شک به دل راه ندهید. تنها در عرض یک سال (۲۰۱۶ تا ۲۰۱۷)، تعداد خطوط کاتلین که در پروژه‌های گیت‌هاب به کار رفته بود از ۲٫۱ میلیون خط به ۱۰ میلیون خط رسیده است و درحدود ۱۶۰ هزار نفر این زبان را تست کرده‌اند. گوگل در کنفرانس I/O اخیرش (۱۷ می ۲۰۱۷) اعلام کرد که این زبان را به صورت رسمی برای توسعه اندروید به کار خواهد برد. خبر خوبی است؛ این یعنی کاتلین زبانی گذرا نیست که بیاید و برود. وقتی شرکت بزرگی همچون گوگل از آن حمایت می‌کند دیگر دلمان قرص می‌شود.

چیزهایی که قبل از آموختن این زبان باید بدانید

کاتلین توسط JetBrain ساخته شده است. شرکتی که به ساخت ابزارهای برنامه‌نویسی مشهور است. در آگوست سال ۲۰۱۱، پستی تحت عنوان «چرا JetBrain به کاتلین نیاز دارد؟» در وبلاگ این شرکت منتشر شد که در آن به ذکر دلایل ساخت این زبان پرداخته شده بود. مهم‌ترین نکات آن پست از قرار ذیل است:

  • به منظور افزایش بهره‌وری JetBrain: تا پیش از ظهور زبان کاتلین، تقریباً تمام IDE های مبتنی بر Intellij به زبان جاوا نوشته می‌شدند. زمان زیادی صرف کامپایل با استفاده javac می‌شد. آن‌ها به دنبال زبان بهتری برای این کار بودند؛
  • افزایش فروش Intellij: آن‌ها دنبال ساخت فریم‌ورک‌ها و ابزارهایی تجاری برای زبان کاتلین بودند که به عنوان بخشی از نسخه تجاری Intellij بتوانند به فروش برسانند؛
  • رشد کمپانی با افزایش سطح اعتماد مشتریان: شرکت JetBrain مورداعتماد بسیاری از توسعه‌دهندگان حرفه‌ای است. آن‌ها دنبال راهی بودند که مردم بیشتری را به رویکرد خود در زمینه توسعه‌ ابزارها جذب کنند.
بخوانید  بهترین روش نام‌گذاری ریسورسها در اندروید

ویژگی‌های زبان کاتلین

این زبان Statically Typed است. که برخی از قابلیت‌های مهمش به شرح ذیل است:

  • متن‌باز: این زبان تحت لایسنس آپاچی (نسخه ۲٫۰) توزیع شده است. کامپایلر، پلاگین Intellij IDEA، بهبودهای ابتدایی در کتابخانه جاوا و ابزارهای Build همگی متن‌باز هستند؛
  • سازگاری ۱۰۰ درصد با جاوا و اندروید: این یعنی تمام کدهای فعلی جاوا/اندروید را در کنار کاتلین می‌توان استفاده کرد. برای کسب اطلاعات بیشتر به راهنمای ترکیب کدهای جاوا و کاتلین در یک پروژه واحد مراجعه کنید. در حقیقت تیم توسعه اندروید، کاتلین را به عنوان زبان اصلی ساخت برنامه‌های اندرویدی در نظر گرفته است. علاوه بر این می‌توانید تعدادی از پروژه‌های کاتلین را مستقیماً به ماژول‌های جاوا اسکریپت کامپایل کنید؛
  • ساده و گویا: طبق برآوردهای تقریبی، کدنویسی با کاتلین نسبت به جاوا ۴۰ درصد به تعداد خطوط کمتری نیاز دارد. این زبان گویا است طوری که هم انسان و هم کامپایلر به سادگی قادر به درک آن است؛
  • سهولت یادگیری: این زبان متاثر از جاوا، اسکالا، گرووی، سی‌شارپ، جاوا اسکریپت و گوسیو (Gosu) است. در صورت آشنایی با هر یک از آن‌ها (بخصوص جاوا) فراگیری کاتلین نیز ساده خواهد بود؛
  • ابزارپسند: کاتلین توسط JetBrain ساخته شده است. بنابراین شکی نیست که به لحاظ ابزار، کمبودی وجود ندارد. کاتلین را در هر IDE مبتنی بر جاوا یا از طریق خط فرمان می‌توانید استفاده کنید؛
  • ایمن: این زبان خیال شما را از بابت خطاهای null reference (که دردسر همیشگی برنامه‌نویسان جاوا است) راحت می‌کند. همچنین کاتلین یک زبان Statically Typed است بنابراین اجازه کنترل خطاهای بیشتری را در زمان اجرا خواهید داشت.

وضعیت کنونی و آینده زبان کاتلین

وضعیت کنونی

  • بسیاری از شرکت‌های مطرح همچون نت‌فلیکس، آبر، ترلو، پینترست، کوردا و … کاتلین را در کنار سایر زبان‌هایی که برای ساخت محصولات خود استفاده می‌کنند به کار می‌برند؛
  • همانطور که قبلا اشاره شد، حجم کدهای کاتلین در گیت‌هاب از ۲٫۱ میلیون خط کد به ۱۰ میلیون در سال ۲۰۱۷ رسید که رقم بالایی است؛نمودار رشد زبان کاتلین در چند سال اخیر
  • در کنفرانس ۱۷ می ۲۰۱۷ گوگل از کاتلین به عنوان زبان رسمی توسعه اندروید یاد کرد؛
  • در حال حاضر کدهای جاوا را به راحتی می‌توان با معادل کاتلین آن جایگزین کرد بدون اینکه مشکلی در عملکرد برنامه پیش آید؛
  • اگرچه پیشرفت‌های عمده در این زبان متعلق به جاوا و اندروید است ولی این بدان معنا نیست که کاتلین زبانی مختص جاوا و اندروید است. کدهای این زبان را می‌توان به جاوا اسکریپت هم کامپایل کرد. ضمناً Kotlin/Native که مستقیماً پروژه‌های کاتلین را به کدهای زبان ماشین کامپایل می‌کند نیز در حال پیشرفت است.
بخوانید  آموزش زبان کاتلین – درس 18 (سازنده‌ها)

آینده

برنامه‌ی آینده JetBrain تبدیل کاتلین به زبانی همه‌منظوره است. طوری که کدهای آن را بتوان بدون هیچ تغییری برای پلتفرم‌های مختلف استفاده کرد. یعنی چه؟ فرض کنید می‌خواهید برنامه‌ای برای پلتفرم اندروید و iOS بنویسید. این کار در حال حاضر نیازمند این است که برای ساخت نسخه‌ی اندرویدی سراغ جاوا، کاتلین و … بروید و همین کار برای پلتفرم iOS نیازمند یادگیری زبان‌های دیگری چون سوئیفت، آبجکتیو-سی و … است. اما در آینده قرار است اوضاع فرق کند. شما یکبار کد برنامه را به زبان کاتلین می‌نویسید و برای هر دو پلتفرم اندروید و iOS خروجی می‌گیرید. اندری برسلاو (Andrey Breslav) – طراح ارشد و مدیر پروژه کاتلین – در این باره می‌گوید: نمونه اولیه ساخته شده است ولی تا زمان سپری کردن تست‌ها و اطمینان از صحت عملکرد پروژه، منتشرش نمی‌کنیم ولی فاصله زیادی تا تحقق این ایده نداریم.

پروژه‌هایی که در آینده نه‌چندان دور از ثمرات این زبان خواهند بود:

  •  ساخت و توسعه بازی‌های کراس‌پلتفرم؛
  • ساخت و توسعه اپلیکیشن‌های موبایلی کراس‌پلتفرم؛
  • سرویس‌های سمت وب و میکروسرویس‌ها؛
  • آنالیز داده و یادگیری ماشینی؛
  • سیستم‌های نهفته (Embeded): از آردیونو و رزبری پای گرفته تا کنترلرهای پیشرفته.

روش اجرای کاتلین در سیستم

در صورت نصب جاوا روی سیستم، نصب کاتلین کار زیادی ندارد. اگرچه با هر IDE مشهور جاوا نصب افزونه لازم می‌توان به این زبان دسترسی داشت ولی بهترین روش، نصب Intellij IDEA (نسخه رایگان هم دارد Community Edition) است. آخرین نسخه ین IDE به صورت مستقیم از زبان کاتلین حمایت می‌کند بنابراین به نصب پلاگین هم نیازی ندارید. کافی است Intellij را دانلود کرده و شروع به کدنویسی کنید. در اکلیپس باید پلاگین کاتلین را نصب کنید.

با فرض نصب بودن Intellij قدم‌های ساخت یک پروژه به شرح ذیل است:

۱- Intellij IDEA را باز کنید؛

۲- روی Create New Project کلیک کنید؛

بخوانید  آموزش زبان کاتلین – درس 10 (حلقۀ while و do...while)

۳- از منوی سمت چپ، Kotlin و سپس (Kotlin (JVM را انتخاب کرده و Next کنید؛

۴- عنوانی برای پروژه انتخاب کنید و Finish بزنید، من نام Hello را انتخاب کرده‌ام؛

۵- اکنون پروژه را می‌توانید در سمت چپ IDE مشاهده کنید. در صورتی که به هر دلیلی قادر به مشاهده این قسمت نبودید به منوی Views بروید، روی Tool Windows و سپس Project کلیک کنید؛

۶- حالا می‌توانید با کلیک راست روی Hello و گزینه New>Kotlin File/Class اولین فایل کاتلین را بسازید؛

۷- یک پنجره پاپ‌آپ باز می‌شود که از شما می‌خواهد نامی برای فایل انتخاب کنید، من نام main را انتخاب کردم و OK زدم؛

۸- خب حالا فایل main.kt روبروی شما باز می‌شود. پسوند kt برای فایل‌های کاتلین است؛

۹- کد مورد نظر را بنویسید و با کلیدهای Ctrl+S ذخیره‌اش کنید. برای مک کلیدهای Cmd+S. برای اجرا هم از منوی Run گزینه Run را انتخاب کنید.

نوشتن اولین برنامۀ کاتلین

مرسوم است که هر زبان برنامه‌نویسی را با مثال معروف Hello World آموزش می‌دهند.


fun main(args : Array<String>) {
println(“Hello, world!”)
}

بعد از اجرای کد بالا، این خروجی را مشاهده می‌کنید:

Hello, world!

برنامه‌نویسان جاوا معادل این کد را می‌دانند:

class HelloWorldKt {
public static void main(String[] args) {
System.out.println(“Hello, World!”);
}
}

چگونه زبان کاتلین را یاد بگیریم

با وجود سن و سال کم این زبان، منابع آموزشی خوبی برای آن وجود دارد. اولین و معتبرترین منبع آموزشی، مستندات رسمی کاتلین است که به به صورت پیوسته با اطلاعات جدید بروز می‌شود. کتاب‌های خوبی هم برای این زبان منتشر شده است که می‌توانید اینجا و اینجا آن‌ها را پیدا کنید. برای ما ایرانی‌ها که محدودیت قانونی در دریافت این کتاب‌ها نداریم دانلود کردنشان کاری ندارد! در این وب‌سایت نیز لیستی از منابع آموزشی رایگان و پولی (ویدیو، کتاب و …) توسط کاربران معرفی شده است که از روی امتیازها می‌توانید محبوب‌ترین موارد را انتخاب کرده و شروع به یادگیری کنید. همچنین با عضویت در خبرنامه هفتگی یا فروم رسمی کاتلین در جریان جدیدترین اخبار، مباحثات و آموزش‌ها قرار بگیرید. مثل همیشه StackOverflow و Redit یاریگر شما در هنگام مواجهه با مشکلات هستند. هر جایی تلاشتان به نتیجه نرسید و در اینترنت هم به جوابی نرسیدید، سوالتان را در این سایت‌ها مطرح کنید تا پاسخ دریافت کنید. اگر توسعه‌دهنده اندروید یا جاوا هستید توصیه می‌کنم این زبان را نه برای سرگرمی و نه برای پربار کردن رزومه بلکه برای افزایش بهره‌وری خود یاد بگیرید. قطعاً یکبار که به آن عادت کنید بازگشت به روزهایی که با جاوا کد می‌زدید برایتان عذاب‌آور است.

 

سید ایوب کوکبی

نویسنده و مترجم...

0 دیدگاه

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