Crocusoft LLC
×
Technology
Android proqramlaşdırma öyrənməyə becə başlamalı? Java yoxsa Kotlin?

Bu sual son zamanlar proqramlaşdırma ilə maraqlananları çox düşündürür. Digər tərəfdən isə Software şirkətləri və artıq android developer olaraq çalışan proqramçıların əksəriyyəti artıq Kotlin dilini öyrənərək yeni proyektlərini bu proqramlaşdırma dilinə uyğunlaşdırmağa başlamışdırlar.

 Bəs başlanğıc üçün hans daha yaxşıdır? - Bu sualı həm Crocusoft Mobil Proqramlaşdırma komandasının həm də müxtəlif online müzakirə platformalarında səsləndirilən fikirlər əsasında cavablandırmağa çalışacağıq.

Kotlin son zamanlar Android icmasında xeyli irəli çəkilir.İlk dəfə 2011-ci ildə təqdim edilmiş Kotlin (Java ilə müqayisədə) nisbətən yeni bir dildir. Bu dil IntelliJ IDEA-nı hazırlayan (Android Studio buna əsaslanır) JetBrains komandası tərəfindən hazırlanıb. 2016-cı ildə Kotlin'in 1.0 versiyası buraxılıb və 2017 ci ildən artıq Google da ilkin rəsmi proqramlaşdırma dili olaraq qəbul edilib. Kotlin, Android-də Java-nı əvəz etmək üçün deyil, onunla yanaşı “yaşamaq” üçün nəzərdə tutulmuşdur, beləliklə Javada edə biləcəyiniz hər şeyi Kotlin ilə edə bilərsiniz. Hətta Google belə  Java-dan tam imtina etməyi planlaşdırmır.

Lakin, bir çox developer Kotlin'i Android proqramlaşdırmanın gələcəyi olaraq görür. Çünki bu dil “null safety”, daha qısa kodlar və kodu yazmağı, oxumağı və dəyişməyi daha da asanlaşdıran və səhvlərə daha az meylli olan yüzlərlə funksiya təqdim edir. Kotlinin adaptasiyası da daha sürətlə böyüyür, Pinterest və Trello kimi böyük tətbiqlər artıq bu dili istifadə edir və Google Javaya nisbətən Kotlini prior hesab. Aşağıdakı ekran görüntüsündən də məlum olduğu kimi, Kotlin Javanı alternativ seçim kateqoriyasına salmaqla kodlar üçün default rolunu oynayır.

kotlinin standart  olduğu andrid dokumentasiya 

Əgər Java üzrə təcrübəniz varsa və ya digərləri tərəfindən yazılmış Java kodlarını başa düşürsünüzsə, Kotlin öyrənmək və gələcək Android layihələrinizi Kotlində yazmaq daha daha produktiv fikirdir.Çox güman ki, Kotlin gələcəkdə Android üçün əsas proqramlaşdırma dili olacaq. Getdikcə daha çox tətbiqlər Kotlin-də yazılacaq, bu da bir çox Android developer vakansiyasının Kotlin bacarıqlarını tələb edəcəyinə işarədir.

Java baytekodunu tərtib edə bildiyinə görə, Kotlin Java ilə 100% qarşılıqlı əlaqədədir, yəni mövcud Android Java layihələrinizə Kotlin kodu parçaları əlavə edə, Kotlin kodu daxilində Java metodlarını çağıra bilərsiniz və bütün Java library-lardan və Android API-lərindən istifadə edə bilərsiniz. Dil JetBrains tərəfindən inkişaf etdirildiyi üçün IntelliJ IDEA və Android Studio-da birinci dərəcəli dəstəyə malikdir. Onu heç bir plugin əlavə etmədən istifadə edə bilərsiniz və işə başlamağınıza kömək edən Java-to-Kotlin kod çeviricisi kimi kod doldurma, sintaksis işıqlandırma, ayırma və təmizləmə vasitələri və digər xüsusiyyətləri əldə edirsiniz.

 

Bununla birlikdə, hamı Kotlin daha yaxşı dil olduğuna razılaşsa da, əksər mütəxəssislər (hətta böyük Kotlin tərəfdarları) hələ də bir başlanğıc olaraq başlamağı Java ilə məsləhət görürlər.

Hal hazırda Java öyrənən və öyrədənlərin say göstəriciləri Kotlinlə müqayisədə daha çoxdur və son illər StackOverlow kimi səhifələrdə demək olar ki bütün Android problemlərinin həlli Javada yazılıb. Həmçinin bütün dokumentasiyalar Javada olduğu üçün birbaşa Kotlindən başlasanız öyrənmə prosessi çox çətin və anlaşılmaz ola bilər. Bir dilin sintaksisini anlamaq əsas məsələlərdən  biri ola bilər , ancaq tətbiqlər yazmaq üçün fərqli çərçivə və library API-lərindən necə istifadə etmək, hansı siniflərdən istifadə olunması və tətbiqin müxtəlif mərhələlərində hansı metodları çağıracağınızı öyrənməlisiniz. Bunun üçün təcrübə və müraciət edə biləcəyiniz bir çox nümunə lazımdır. Belə nəticəyə gəlirik ki dilin sintaksisini öyrənmək ikinci məsələdir. Kotlinin tədrisi üzrə professionallar və ya istifadə olunan əsas vəsaitlər vacib məqamları daha dərin vurğulamaq üçün Java ilə müqayisə edərək öyrətmək üsulunu seçirlər. Bu da  Java ilə tanışlığınız olmadıqda dilə öyrəşməyinizi daha da qarışıq hala gətirə bilər. Hazırda Android proqramlaşdırmanı öyrənmək istəyirsinizsə, Java'dan tamamilə yan keçə bilməzsiniz. Gələcəkdə isə bu dəyişə bilər, amma hələ Kotlinin istifadəsi bu səviyyədə geniş deyil.Həmçinin, təcrübəli proqramçıları nə qədər narahat etsə də, Java kodlarının daha “xırdaçı” və ya “uzun” xarakterli olması yeni başlayanlar üçün bu kodları yazmaq və anlamağı daha da asanlaşdırır. Kotlin Javanın bu problemlərini “boilerplate”tipli kodları aradan qaldırmaqla həll edir və məhsuldarlığı artırır, amma Javanın iş prinipini bildikdə Kotlinlə nələr edə biləcəyinizi daha yaxşı başa düşürsünüz

Bir çox professionalların fikrincə Java hələdə aktuallığını saxlayır. Bu blogu yazmaq üçün araşdırma edərkən belə sitatla da qarşılaşdırm. “Java əsas, kotlin isə arzuolunandır”.

Əgər sonradan Android tərtibatçıdan digər bir proqramlaşırma sahəsinə keçmək istəsəniz Java bilməyiniz sizin üçün daha vacib hesab olunacaqdır. Burada JVM faktorunu da qeyd etmək lazımdır. JVM(Java Virtual Machine)  Android Javada yazılmış hər hansı bir kodun baytkodlara (0-lar və 1 lər ) çevrilməsini təmin edir, beləliklə də cihazın hardware sistemi bu kodlara müvafiq təlimatları anlayaraq lazımı funksiyanın yerinə yetirilməsini təmin edir. Kotlin dili isə yazılmış hər bir kodun baytkodlara çevrilməsi üçün isə Java Virtual Machine istifadə edir. Bu cəhətdən Javadan tamamilə imtina edərək birbaşa Kotlinlə Android proqramlaşdırma öyrənməyə başlamaq doğru deyil.

 

Bununla belə Kotlin JVM və Androiddən başqa server tərəfli tətbiqlər(server-side applications), JavaScript yaxud oxşar kodlar, web frontend və daha bir çox yerdə istifadə oluna bilər. Lakin hal –hazırda Android bu dilin ən böyük bazarıdır. Java hələ də bir çox müəssisələrdə ən vacib və ən çox yayılmış dildir və bu trendin tez bir zamanda dəyişəcəyi gözlənilmir. Böyük şirkətlərdə mövcud olan kodların çoxu da Java-da yazılmışdır. . Bütün  kollektivi yeni bir dilə adaptasiya olunmağa məcbur etmək və iş kodunu yenidən yazmaq ümumiyyətlə investisiya etməyə dəyməz. Bir proqramçının tamamilə yeni bir proqramı sıfırdan yazmaq əvəzinə, mövcud sistemlərin düzəldilməsinə və uzadılmasına vaxt ayırması daha effektivdir. Buna görə də Java tələb edən vakansiyaların sayı Kotlin tələb edənlərdən daha çoxdur. Təkcə bu aktı qeyd etmək kifayətdir ki, iş elanları dərc olunan etibarlı saytlarda axtarış edən zaman ABŞ-da Java proqramçılar üçün mövcud tələb Kotlindən daha çoxdur (Kotlin aruzedilən dil olaraq olaraq göstərilir, ilkin dil isə Java olaraq qalır).

 

Nəticə:Kotlin yeni böyük faydalar təmin edən bir imkan olsa da Andriod proqramlaşdırmaya Java ilə başlamağınız və sonra Kotlin öyrənməyiniz məqsədəuyğundur. Java hələ də daha geniş yayılmışdır və hal-hazırda yalnız Kotlin bacarıqları ilə bir iş tapmaq çətindir. Java uzun müddət istifadə oluna, öyrənilməsi asan və sınanmış bir dildir. Kotlin və Java 100% qarşılıqlı əlaqəli olduğundan, hazır olduqda Kotlini mövcud Java layihələrinizə heç bir şeyi pozmadan tətbiq etməyə başlaya bilərsiniz. Java ilə bir az təcrübə keçdiyiniz zaman Kotlin'i əlavə bir dil olaraq öyrənmək asan olacaq. Sıfırdan başlamaq lazım deyil.