زبان برنامه نویسی کاتلین برای اندروید ، در پست قبل بطور کامل درباره زبان کاتلین و قدرت آن صحبت کردیم و تمامی مواردی که میتوانیم از زبان کاتلین استفاده کنیم را شرح دادیم ، اگر هنوز پست قبل رو نخوندید پیشنهاد میکنم حتما مطالعه کنید تا قبل از اینکه تخصصی به کاتلین برای اندورید بپردازیم درباره خود زبان kotlin و قدرتی که دارد بدانیم.
همچنین بخوانید: مقدمه ای بر زبان کاتلین – آموزش برنامه نویسی kotlin
از جمله ویژگی های که کاتلین برای اندروید دارد میتوان به موارد زیر اشاره کرد
سازگاری :
کاتلین به طور کامل با JDK(Java Development Kit 6) سازگار است.
همچنین اندروید استودیو هم به طور کامل کاتلین رو ساپورت میکنه و کاملا با هم سازگارند.
پس مشخصا هیچ مشکلی بین پروژه های قدیمی شما و فایل های جدید کاتلینی که به آن اضافه خواهید کرد وجود نخواهد داشت و به صورت کامل با هم کار خواهند کرد.
عملکرد :
به لطف ساختار ساده بایت کد bytecode یک برنامه کاتلین با سرعت یک برنامه جاوا build بیلد و اجرا میشود.
همچنین به خاطر پشتیبانی کاتلین از توابع inline یا lambda لامبدا گاها این توابع سریع تر از توابع مشابه درجاوا اجرا میشوند.
اگر بخواهیم توضیح کوتاهی درباره روند بیلد و اجرا بگیم میتونیم بگیم که کاتلین مانند جاوا تبدیل به java bytecode میشود و در ماشین مجازی جاوا Java Virtual Machine اجرا میشود.
جالب اینکه ماشین مجازی جاوا هیچ تفاوتی بین جاوا ، کاتلین ، Groovy و یا دیگر زبان ها قائل نمیشود چون تنها bytecode رو دریافت و اجرا میکند.
قابلیت همکاری :
کاتلین بطور ۱۰۰٪ با جاوا همکاری میکند و سازگار است.
شما به سادگی میتونید در برنامه های جاوا بطور کامل با کتابخانه های کاتلین کار کنید و در برنامه های کاتلین از کتابخانه های جاوا (همونطور که در پست قبل به این مسئله اشاره شد شما به راحتی میتونید در یک پروژه یک کلاس جاوا را به راحتی با یک کلاس کاتلین کانکت کنید تا بخوبی با هم کار کنند).
این مسئله شامل انوتیشین ها ( annotation ) هم هست پس کتابخانه هایی چون databinding و Dagger هم مشمول سازگاری با کاتلین خواهند شد.
Footerprint :
کاتلین دارای یک سری کتابخانه runtime بسیار کم حجم و متراکم است که حتی با progaurd کم حجم تر هم میشود! پس میتوان گفت در یک اپلیکیشن واقعی کاتلین تنها چند صد متد و کمتر از ۱۰۰K به حجم فایل apk اضافه خواهد کرد.
زمان کامپایل :
کاتلین از incremental compilation (کامپایل افزایشی) پشتیبانی میکند بدین معنی که گاها سرعت بیلد build یک پروژه کاتلین سریع تر از جاوا انجام خواهد شد.
یادگیری کاتلین :
برای یک برنامه نویس جاوا ، کدنویسی کاتلین بسیار ساده ست. با اینکه یک مبدل (convertor) جاوا به کاتلین در اندروید استودیو وجود دارد که خیلی راحت کد جاوای شما را تبدیل به کاتلین میکند (با کپی کردن کدهای جاوا در یک فایل کاتلین خود اندرودی استودیو به شما پیشنهاد میدهد که کدهای شمارا بصورت اتوماتیک به کاتلین تبدیل میکند. و یا از مسیر Code->Convert Java File to Kotlin File) اما راهنمایی مثل Kotlin Koans وجود داره که خیلی مفید و تعاملی میتونید کاتلین رو یاد بگیرید.
(همچنین در وب سایت تجاری اپ نیز شما میتونید سلسله آموزش های تخصصی زبان kotlin برای اندروید رو بصورت رایگان مطالعه و پیگیری کنید 😉 )
توجه:
در پست بعد اولین پروژه کاتلین (Hello World Project) رو ایجاد میکنیم و به بررسی پیش نیاز های یک پروژه کاتلین میپردازیم 🙂