چرا Kotlin چیز بزرگی برای توسعهدهندگان جاواست؟
Kotlin شبیه ابزاری است که خلاقیت را به طرز چشمگیری بهبود میبخشد. ما پیشبینی میکنیم که مشکلاتی که توسعهدهندگان با جاوا داشتند را برطرف خواهد کرد.در ادامه توضیح میدهیم که چرا جاوا چیز بزرگی برای توسعهدهندگان خواهد بود.
kotlin یک زبان با کارایی بالاست، این زبان روی JVM کار میکند و از کتابخانهها و ابزارهای موجود در جاوا استفاده مینماید. به علاوه، جاوا میتواند با مولفههای Kotlin هم به شکل یکپارچه تعامل داشته باشد. هدف اولیه Kotlin این است که آن را برای پروژههای واقعی و عملی قابل استفاده نماید. یک فرد به سادگی میتواند آن را در مقایسه با سایر زبانهای مبتنی بر JVM مانند اسکالا یاد بگیرد. از آنجایی که جاوا قابلیت همکاری عمیقی با Kotlin دارد، توسعهدهندگان جاوا احتمالا برای یادگیری و امتحان کردن آن جذب آن خواهند شد.
به علاوه، Kotlin پشتیبانی تجاری عمیق و مدل تجاری پایداری دارد. از نقطه نظر توسعهدهندگان، Kotlin با هر انتشار بهبود پیدا میکند. به همین دلیل میتوانیم پیشبینی کنیم که Kotlin چیز بزرگی برای جامعه جاوا خواهد بود.
آیا Kotlin چیزمناسبی برای توسعهدهندگان جاواست؟
کل چیزی که Jetbrains میخواست این بود که زبانی مفید برای حل مشکلات موجود ارائه دهد. Kotlin اهداف زیر را داشت که به توسعهدهندگان کمک میکرد مسائل موجود در جاوا را حل کنند یا از وقوع آنان جلوگیری نمایند و اینکه در نهایت عملکرد بهتری داشته باشد.
- یک زبان قابل درک فراهم کند که میتواند با استفاده از کد توسعهدهندگان فهمیده شود و کارهای زیادی را از جانب توسعهدهندگان انجام دهد.
- با کاهش تلاشهایی که برای نوشتن کد نیاز است، خلاقیت را بهبود بخشد. برای مثال، یک کد تقریبا ۵۰ خطی در جاوا به طور تخمینی به میزان ۲/۳ در Kotlin کاهش پیدا میکند.
- از null pointer exceptionها جلوگیری میکند.
- کامپایل کد را تسریع میبخشد.
- با فراهم کردن مستندات و پشتیبانی، زمان یادگیری را برای توسعهدهندگان کاهش میدهد.
- سینتکس کد Kotlin بسیار ساده قابل فهم است، بنابراین مرور کد حتی برای تازهواردها هم ساده است.
- سربار زمان اجرا نیز اندک است. چرا که کتابخانه استاندارد آن کوچک و فشرده است.
جدا از مزایای ذکر شده، Kotlin تبدیل سادهای بین جاوا و Kotlin، یکپارچهسازی ساده با IDE، دیباگ کامل، بازآرایی و پروفایل کد و … فراهم میکند. بنابراین پیشبینی میکنیم Kotlin مشکلاتی که توسعهدهندگان جاوا با آن روبرو میشوند را کاهش میدهد.
ویژگیهای Kotlin که توسعهدهندگان جاوا باید دوست داشته باشند.
1. حذف null pointer exception
این احتمالا مهمترین ویژگی این زبان است. null pointer exception یکی از ترسناکترین مسائل از نگاه توسعهدهندگان است. سیستم نوع داده Kotlin کدی که مقدار null را انتساب میدهد یا بازمیگرداند را کامپایل نمیکند. مثال زیر را ببینید:
val name: String = null // tries to assign null, won't compile stephen getName() : String = null // tries to return null, won't compile
از آنجایی که هر فراخوانی تابع روی یک نوع هیچمقدار پذیر میتواند به صورت بالقوه خطای null pointer ایجاد کند، کامپایلر Kotlin توسعهدهنده را مجبور میکند که هرجایی که نتیجه خروی به یک مقدار غیر null انتساب داده میشود،از عملگر Elvis استفاده کند. در واقع با استفاده از آن میگوییم اگر یک متغیری null نبود از آن استفاده کن وگرنه یک مقدار غیر null دیگر را مورد استفاده قرار بده. این عملگر به شکل ?: نوشته میشود.
2. کد کمتر
کامپایلر Kotlin میتواند استنتاج کند یا از کدی که توسط توسعهدهنده نوشته شده یاد بگیرد یا باقیمانده کد را بنویسد. جاوا از توسعهدهندگان میخواهد که هرچیزی را صراحتا یادداشت کنند که زمان و انرژی زیادی میبرد. Kotlin انرژی و زمان را ذخیره میکند و خلاقیت را بیشتر مینماید.
برای مثال کامپایلر Kotlin میتواند نوع داده را در تعریف متغیرها استنتاج کند، همینطور getter/setter/equals/hashCode نیز توسط کامپایلر میتواند تولید شود. در حالیکه جاوا کامپایلر جاوا خیلی اهل استنتاج کردن نیست و از توسعهدهنده میخواهد همه چیز را خودشان بنویسند.
3. سادگی در یادگیری و استفاده
از آنجایی که هیچ انقلابی در Kotlin وجود نداشته، هر توسعهدهنده نرمافزاری میتواند آن را یادگرفته و از آن استفاده کند، به ویژه توسعهدهندگان جاوا و اسکالا. دلیل اصلی هم این است که Kotlin به طرق مختلفی به جاوا وابسته است و به میزان زیادی از کتابخانه جاوا استفاده میکند.
به علاوه، Kotlin از اسکالا الهام گرفته و طبق نظر بسیاری از مردم، خیلی شبیه اسکالاست. کد آن از JVM و javac، کامپایلر اولیه جاوا، استفاده میکند و برای یادگیری و شروع سریع از مستندات خوبی برخوردارست.
4. سازگاری نسخه های قبلی (Backward compatible)
Kotlin از نسخههای ۶ و ۷ جاوا نیز پشتیبانی میکند. گفته شده است که در انتشارهای آتی این زبان، فرآیند توسعه را سرعت میبخشد، سایز کتابخانه زمان اجرا را کاهش میدهد و از ابزارهای بیشتری پشتیبانی میکند. Kotlin یک ویژگی به نام کامپایل افزایشی را در پلاگین Gradle خود معرفی میکند. این ویژگی این قابلیت را میدهد که تنها تغییرات موجود در کد را کامپایل کرده و کل کد را کامپایل نکند. این کار در صرفهجویی در زمان کمک بسیاری میکند.
5. قابلیت همکاری IDE
و Kotlin پشتیبانی زیادی برای بهبود تولید دارد. این زبان همکاری زیادی با IDEها دارد و بازآرایی، دیباگ، جستجو و تست واحد به سادگی انجام میگیرد.
احتمالا یک توسعهدهنده جاوا میتواند بخشی از کد جاوای خود را تبدیل به Kotlin بکند و ببیند که چطور کار میکند. مهم نیست چه مسیری را انتخاب میکنید، Kotlin حتما شما را تحت تاثیر قرار میدهد.
توسعهدهندگان زیادی نگاه مثبتی به Kotlin دارند و بحثهای زیادی شده است که این زبان مشکلات جاوا را حل میکند اما در گام اول باید شرکتهایی مثل گوگل که تعداد زیادی توسعهدهنده جاوا دارند را تحت تاثیر قرار دهد.
بررسی اینکه Kotlin چگونه اهداف خود را محقق میکند و با چالشهای پیشروی خود مواجهه میشود قطعا جذاب خواهد بود. نگاه شما به این زبان چیست؟
منبع:
امروز متوجه شدم برای نوشتن اپ اندرویدی هم میشه ازش استفاده کرد!
جدااااا؟؟؟؟؟؟!!!!!