پروژه Kotlin

  • برچسب ها

    ++C, Android platform, Java, Kotlin, open-source, اپلیکیشن, اندروید, برنامه نویسی, رایگان, قابلیت تعامل, کد امن, متد, مدرن, ویژگی

  • تاریخ

    26 اسفند, 1398

Kotlin

Kotlin یک پروژه رایگان و open source تحت مجوز Apache 2.0. ساخت و توزیع آن به عنوان یک نرم افزار رایگان توسط Kotlin Foundation تضمین شده است. با تکامل و رشد Android platform، انتخاب Kotlin، تأیید مجدد تعهد ما به اکوسیستم برنامه نویسان آزاد است.

Kotlin یک زبان برنامه نویسی cross-platform که از نوع statically typed برای اهداف عمومی با type inference است. Kotlin برای تعامل کامل با Java طراحی شده و نسخه JVM مربوط به library استاندارد بستگی به Java Class Library دارد. هرچند، type inference به syntax اجازه می دهد تا دقیق تر باشد. Kotlin به طور عمده JVM را هدف قرار می دهد. اما همچنین با JavaScript یا native code (به همراه LLVM) ترکیب می شود.

در هفتم می ۲۰۱۹، Google اعلام کرد زبان برنامه نویسی Kotlin هم اکنون توسط برنامه نویسان Android ارجحیت دارد. از زمان انتشار Android Studio 3.0 در اکتبر ۲۰۱۷، Kotlin به عنوان جایگزینی برای comiler استاندارد Java در نظر گرفته شده است. Android Kotlin compiler امکان انتخاب بین Java6 یا Java8 را می دهد.

طراحی

سرپرست ساخت، Andrey Breslav، بر این باور است که Kotlin برای این طراحی شده است که زبان object محور با قدرت صنعتی است. علاوه بر اینکه زبان بهتری نسبت به Java است. هرچند، هنوز به طور کامل امکان تعامل با کد Java وجود دارد، به شرکت ها اجازه می دهد انتقال تدریجی از Java به Kotlin را انجام دهند.

Semicolon ها به عنوان statement terminator اختیاری هستند. در بیشترین موارد یک newline برای compiler کافی است تا دریافت که statement به پایان رسیده است.

اعلام متغیرها و لیست پارامترهای Kotlin دارای نوع داده هستند که بعد از اسم متغیر می آید (و با یک جداکننده colon)، مانند Pascal و TypeScript. متغیرها در Kotlin می توانند read-only باشند که با کلید واژه val تعریف می شوند یا تغییرپذیر باشند که با کلید واژه var تعریف می شود.

Class member ها به طور پیش فرض public هستند و خود class ها به صورت پیش فرض نهایی هستند. این بدین معناست که ایجاد یک class مشتق شده غیرفعال شده است. مگر اینکه base class با کلید واژه های open تعریف شده باشد.

علاوه بر class ها و method ها (در Kotlin با نام member function شناخته می شوند) در برنامه نویسی بر مبنای Object، Kotlin همچنین با استفاده از function ها از برنامه نویسی procedural پشتیبانی می کند.

Function های Kotlin (و constructor ها) با استفاده از signature خاص از default argument ها، لیست variable-length argument، آرگومان ها و overloading نامگذاری شده پشتیبانی می کند.

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

Kotlin محدودیت Java از امکان متد های static و متغیرهایی که تنها در یک class body وجود دارد را کمتر می کند. Object ها و function های static در بالاترین سطح package بدون نیاز به class level اضافی می تواند تعریف شود. برای سازگاری با Java، Kotlin یک JvmName annotation ایجاد می کند که با تعیین یک class name خاص هنگامی که package از یک پروژه Java دیده می شود، مورد استفاده قرار می گیرد. برای مثال:

@file:JvmName (“JavaClassName”)

Entry point اصلی

همانند C، C++، Java و Go، entry point در یک برنامه Kotlin یک function به نام “main” است که ممکن است یک array دربرگیرنده هر آرگومان command line را پردازش کند. (این گزینه ای از بعد از نسخه Kotlin 1.3 است).

سبک های Perl و Unix shell string interpolation پشتیبانی می شوند. همچنین Type inference نیز پشتیبانی می شود.

متدهای Extension

مانند C#، Kotlin به کاربر اجازه افزودن متدهایی به هر class بدون تشریفات ایجاد یک class مشتق شده با متد جدید، می دهد. در عوض، Kotlin مفاهیم متد extension را اضافه می کند که امکان glued شدن به لیست متد public هر class را بدون به طور رسمی قرار داده شدن در class، به یک function می دهد.

به عبارتی دیگر، یک متد extension متدی کمک کننده است که به تمامی public interface های یک class دسترسی دارد که می تواند برای ایجاد یک interface متد جدید برای یک class مورد نظر استفاده شود. این متد دقیقاً مانند یک متد class، به عنوان بخشی از نظارت بر تکمیل کد متدهای class ظاهر می شود.

ویژگی های Kotlin

مدرن و رسا

ویژگی های مدرن زبان Kotlin به شما امکان می دهد تا بر بیان ایده های خود تمرکز کنید و کدهای تکراری و مشترک کمتری (boilerplate) بزنید. نوشتن کدهای کمتر به معنای تست کردن و نگهداری کدهای کمتر است.

کدهای امن تر

با استفاده از Kotlin می تواند کیفیت اپلیکیشن خود را بهبود بخشید. مدل های @Nullable و @NonNull به سیستم Kotlin type تلفیق شده تا به شما در اجتناب از NullPointerExceptions کمک کند.

Kotlin بسیاری ویژگی های دیگر زبان نیز دارد که به شما در دوری از خطاهای رایج برنامه نویسی کمک می کند.

قابلیت تعامل Interoperable

کدهای بر مبنای Java را از Kotlin فراخوانی کنید یا Kotlin را از کدهای بر مبنای Java فراخوانید. Kotlin صد در صد با زبان برنامه نویسی Java قابلیت تعامل دارد. بنابراین، شما به اندازه ای که بخواهید می توانید در پروژه های خود Kotlin داشته باشید.

Kotlin برای ساخت اپلیکیشن اندروید شما آماده تولید است:
Android Studio

Android Studio برای Kotlin پشتیبانی درجه یک فراهم می کند. حتی ابزاری ساخته که به شما در تبدیل کدهای Java محور به Kotlin کمک می کند. ابزار Show Kotlin Bytecode به شما اجازه می دهد هنگام یادگیری Kotlin، کدهای معادل برمبنای Java را ببینید.

Android KTX

Android KTX ساخت Android را با اهرم و مبنا قرار دادن ویژگی های زبان Kotlin، دقیق تر، بهتر و idiomatic می کند.

Kotlin-friendly SDK

با شروع با Android 9 (API level 28)، Android SDK در برگیرنده annotation های nullability است که در اجتناب از NullPointerException کمک می کند. مستندات API reference نیز در Kotlin موجود است.

بسیاری از موضوعات Kotlin reference از منبع کدهایی برمبنای Java نشأت می گیرد. این بدین معناست که برخی از موضوعات Kotlin reference ممکن است شامل قطعه هایی از کد Java باشد.

 

منبع: ۱۲