برنامه نویسی اندروید با زبان کاتلین
بعد از اینکه دو مقاله بهترین زبان برنامه نویسی اندروید و مقایسه محیط های برنامه نویسی اندروید را در سایت منتشر کردیم بازخورد خوبی گرفتیم طوری که متوجه شدیم تعداد طرفداران برنامه نویسی اندروید به شدت بالا است و می توان گفت خیلی از کاربران دوست داشتند بیشتر در این زمینه بدونند. در این مقاله میخواهیم در مورد برنامه نویسی اندروید با زبان کاتلین صحبت کنیم. البته در مقالات قبلی در مورد این موضوع تا حدودی توضیحاتی ارائه دادیم ولی در این مقاله می خواهیم بیشتر این موضوع را باز کنیم.
همان طور که در مقاله بهترین زبان برنامه نویسی اندروید گفتیم زبان های زیادی برای برنامه نویسی اندروید وجود دارد که می توانیم استفاده کنیم و گفتیم یکی از بهترین زبان ها جاوا است. و در ادامه توضیح دادیم که یک زبان جدید با نام کاتلین ظهور پیدا کرده که با هدف بهتر بودن از جاوا تولید و روانه بازار شده است. طوری که خود سرپرست توسعه کاتلین با نام Andrey Breslav گفته است که هدف از تولید زبان برنامه نویسی کاتلین، زبانی صنعتی – قدرتی و شی گرا بوده طوری که این زبان، زبانی بهتر از جاوا باشد. در این مقاله قرار نیست ما به آموزش برنامه نویسی اندروید با زبان کاتلین بپردازیم بلکه می خواهیم توضیحاتی در این مورد ارائه دهیم.
قبل از اینکه شروع به توضیح در مورد برنامه نویسی اندروید با زبان کاتلین کنیم باید ببینیم اصلا کاتلین چطور زبانی است و چه کاربردهایی دارد و اصلا چرا از زبان کاتلین به عنوان جایگزین زبان جاوا یاد می شود.
زبان برنامه نویسی کاتلین
کاتلین زبان برنامهنویسی از نوع ایستا است که بر روی ماشین مجازی جاوا اجرا میشود. همچنین میتواند به سورس کد جاوااسکریپت نیز کامپایل شود. اولین توسعهٔ آن از تیم برنامهنویسان JetBrains واقع در سنت پترزبورگ روسیه است (این نام از روی جزیره کاتلین در نزدیکی سنت پتربورگ میآید). کاتلین در ژانویهٔ سال ۲۰۱۲ به عنوان زبان ماه انتخاب شد. با وجود آنکه از نظر syntax با جاوا سازگار نیست، کاتلین طراحی شده تا با کد جاوا همکاری داشته باشد و متکی بر کد جاوا از کتابخانهٔ کلاس جاوا است، مانند مجموعهٔ فریم ورکها.
در ژوئیه ۲۰۱۱، JetBrains از پروژهٔ کاتلین پرده برداری کرد، زبانی جدید برای ماشین مجازی جاوا، که برای یک سال تحت توسعه و پیشرفت قرار داشت. سرپرست Dmitry Jemerov، JetBrains، اظهار داشت بیشتر زبانها، آن ویژگیهایی که دنبالش هستند را ندارند. با استثناء ی اسکالا. او به زمان کند کامپایل اسکالا به عنوان کمبودی واضح اشاره کرد. یکی از اهداف اصلی کاتلین این است که به همان سرعت زیاد جاوا کامپایل شود. در فوریهٔ سال ۲۰۱۲، JetBrains منبع باز این پروژه را تحت مجوز Apache 2 ارائه کرد. Jetbrains امیدوار است که این زبان جدید IntelliJ IDEA را به پیش ببرد.
هدف از بوجود آمدن زبان کاتلین
سرپرست توسعه، Andrey Breslav، بیان کرده کاتلین طراحی شده تا زبانی صنعتی-قدرتی و شی گرا بوده و زبانی بهتر از جاوا باشد. اما هنوز پر از سازگاریهایی با کد جاوا است که اجازه داده کمپانیها مهاجرتی تدریجی از جاوا به کاتلین داشته باشند.
چرا زبان برنامه نویسی کاتلین؟
- مختصر است: به شدت میزان کدهای boilerplate را کاهش می دهد.
- boilerplate چیست: به کدهایی گفته می شود که در جاهای مختلف برنامه تکرار می شوند.
- امن است: برای مثال کاتلین از برنامه شما در برابر عملگرهای null محافظت می کند.
- سازگار است: استفاده از کتابخانه های موجود JVM، Android و مرورگر برای کاتلین مانند آب خوردن است.
- دارای ابزارهای قدرتمند برنامه نویسی است: از هر IDE جاوا می توانید برای توسعه کدهای kotlin استفاده کنید، حتی command line.
از کاتلین در کجاها می توان استفاده کرد؟
از کاتلین می توانید برای هر نوع برنامه نویسی چه در سمت سرور و 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 استفاده کند و در برنامه 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 برای توییتر
منبع باز، ۱۰۰ درصد طراحی مرورگر توییتر با 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 هایی که از کاتلین پشتیبانی می کنند:
- IntelliJ IDEA
- Android Studio
- Eclipse
- Compiler به تنهایی
یعنی شما می توانید از طریق IDE های بالا به برنامه نویسی اندروید با زبان کاتلین بپردازید.
توجه: یک نرم افزار آنلاین وجود دارد که می توانید از طریق آن کدهای جاوا را به کد کاتلین تبدیل کنید.
تبدیل آنلاین کد جاوا به کد کاتلین
نکته: این زبان را هم کاتلین می نویسند هم کوتلین، مهم نیست نحوه نگارش و خواندن آن، مهم اینه که بتونید باهاش برنامه و اپلیکیشن های جذاب بنویسید.
در این مقاله سعی کردیم توضیحاتی در مورد برنامه نویسی اندروید با زبان کاتلین بدیم به نظر شما، کاتلین گزینه مناسبی برای برنامه نویسی اندروید است؟