Bugün sizlerle yepyeni bir eğitim setine başlayacağız. Bu eğitim setinde Kotlin dilinin ne olduğundan, aavantajlarından ve bize ne gibi kolaylıklar sağladığından bahsetmeye çalışacağım.
Not: Android ile ilgili eğitim videolarını yayınlamaya devam edeceğim, bunlar yine bir süre daha java ile yazılmış uygulamalar olacak. Kotlin’i herşeyiyle öğrenip iyicene alıştıktan sonra artık uygulamalarımızı kotlin ile geliştireceğiz, şuan için alışma sürecindeyiz:)
Kotlin Nedir ?
Kotlin, Java Virtual Machine üzerinde çalışabilen, JavaScript kaynak koduna compile edilebilen statik (statically-typed) bir programlama dilidir. Kotlin, Android uygulamaları geliştirilmek için kullanılmakta olup 2017’nin Mayıs ayında gerçekleştirilen Google etkinliğiyle, Google’ın Android ekibinin desteğini resmen arkasına almıştır.
Temelleri 2011 yılında atılan Kotlin, bir statik programlama dili olarak JetBrains tarafından geliştirildi. Ofisi Rusya’nın St. Petersburg bölgesinin yakınında yer alan JetBrains, hazırladığı bu programlama diline de ofislerinin civarında bir ada olan Kotlin Adası’nın ismini vermiştir. Kotlin programlama dili Java ile söz dizgisi (syntax) açısından uyumlu olmamasına karşın, Kotlin; Java kodları ve kütüphaneleri çalıştırabilecek şekilde programlanmıştır. Birçok açıdan geliştiriciler için Kotlin’i Apple’ın kullandığı Swift programlama diline benzetebiliriz.
Apple’ın geçtiğimiz yıllarda Swift’i konumlandırdığı gibi konumlanacak olan Kotlin’in en büyük artısı Android’in geliştirici ekibine sırtını dayaması olacak. Şimdiye kadar yazılan kütüphanelerin ne kadar hızlı Kotlin’e dönüşeceği, API’lerin ne kadar hızlı bağlanacağı tamamen Google’ın Kotlin’in arkasında ne kadar durduğuyla alakalı bir durum. Apple bu noktada Swift için dönüşümü çok hızlı yapabildiğini söylemek mümkün değil.
Neden Kotlin ?
Kotlin öğrenmek için aslında birden fazla sebebiniz var. Google’ın Kotlini android için resmi dil ilan etmesi pek çok geliştiricide fazlasıyla heyecan oluşturmuştur. Aslında heyecanlanmakta çok haklılar, çünkü çok fazla sebepleri var. Dilerseniz bu sebepleri kısa kısa başlıklarla açıklamaya çalışalım:
1. Kotlin Java ile Uyumlu Çalışır (Interoperable)
Kotlin’den Java’yı ve Java’dan Kotlin’i çağırmak mumkun. Bu iki farklı dunya arasindaki haberlesme o kadar pürüzsüz ki kullandığınız library’nin Java ile mi yoksa Kotlin ile mi yazıldığını anlamanız mümkün değil. İki dilin uyumu, mevcut java projelerimizin yeni ozelliklerini Kotlin ile geliştirme imkanı veriyor.
Java çok popüler bir programala dili olduğu için her ihtiyaca göre yazılmış kütüphaneler bulmak çok kolay (3rd party jars). Kotlin ile yazdığınız kodlar bu kütüphaneleınr hepsini kullanabilir.
2. Kotlin ile Null Point Exception Almazsınız, Güvenlidir
Kotlin’de Nullable ve Non-Null Type sistemin bir parçasıdır. Bu sayede Kotlin compiler null olabilecek referanslar ile asla null olamayacak referansları ayırt edebilir.
Bir değişkene null referans atamak isterseniz tipin sonuna ? (soru işareti) eklemeniz gerekir. Örneğin String? nullable string demektir ve Kotlin icin String ve String? birbirinden farklı iki tiptir.
Bu sayede uygulama geliştirirken en çok aldığımız null point exception hatalarından kurtulmuş olur ve zamanımızı olası hataları düşünüp önlemek yerine uygulamamıza harcarız.
3. Kotlin ile Az Kod Çok iş
Bir yazılımda yazılan kod satır sayısı ile çıkabilecek hatalar doğru orantılıdır. Çok satır kod çok fazla bakım ve dikkat edilecek durum demektir. Yani çok kod çok fazla hata ihtimalidir diyebiliriz. Kotlin burda da yardımımıza koşuyor ve java ile ifade edebileceğiniz bir kod yapısını kotlin de çok daha az satır kod ile gerçekleştirebiliyorsunuz. Yani kotlin az ve öz (concise) bir dildir.
- Type inference
- Extension method
- Lambda function
- Data class
- Operator overloading
Bu özellikler kotlinin kendi icat ettiği özellikler değildir. Bir java programcısının başka dillerde görüp iç geçirdiği, keşke java da da olsa dediği özellikler kotlin ile JVM’e taşınmıştır. İlerleyen derslerimizde yukarıdaki tüm özellikleri içeren örnekler yapacağız.
4. Kotlin ile Android Uygulaması Yazılabilir
Kotlin compiler Java 6 uyumlu bytecode üretir. Bu sayede Kotlin ile Android uygulaması geliştirmek mümkündür. Kotlin ile Android uygulaması geliştirmek için Android Studio 3.0’a sahip olmak yeterlidir. Kotlin JetBrains tarafından geliştirilen bir dil olduğu için IDE desteği mükemmeldir. Ilerleyen zamanlarda çok daha fazla özellik geleceği kaçınılmazdır.
Kotlini öğrenmeye başladığınızda çok daha az kod ile çok hızlı bir şekilde uygulama geliştirebileceğini anlayacak ve kotlin sizin için vazgeçilmez bir dil olacaktır. Peki gelin şimdi akıllardaki bazı sorulara cevap arayalım.
Kotlin Java’nın yerini mi Alacak? Java artık öldü mü?
Kotlin javaya göre daha güzel özellikleri olan bir dil ve bir JVM platformudur. Eğer siz android geliştirmeye yeni başlayan biriyseniz tavsiyem Kotlin öğrenmenizdir. Javayı zaten biliyorsanız kotlin öğrenmek hiç de zor değildir. Ayrıca Java biliyor olmanız Kotlini daha çok sevmenizi sağlayacaktır. Javada geliştirme yaparken yazdığınız onlarca satır kodun kotlin de çok daha kolay bir şekilde yapılabiliyor olması kotlini vazgeçeilmez kılacaktır.
Tabiki tüm bunlar javanın öldüğü anlamına gelmez. Java 20 yılı aşkın süredir var olan bir dil ve şuan pek çok platformda java kullanılıyor, bu yüzden kısa bir sürede kotlinin javanın yerine geçmesi pek mümkün değildir. Ama zaman geçtikçe iş ilanlarında Java ve Kotlin bilen bilen eleman aranıyor ifadesini göreceğimiz kesin gibi, o yüzden kotlini öğrenmeniz kariyeriniz açısından çok önemli bir detaydır diyebiliriz.
Kotlin ile Uygulamalar Daha İyi veya Farklı Mı Olacak?
Farklı olacak mı HAYIR! Ama daha iyi görünebilirler. Uygulama geliştirirken harcanan zaman azalacağından artık tasarıma daha fazla vakit ayırabiliriz. Bir android uygulama geliştirirken biz yine Activity’lerden, Bundle’lardan veya Intentlerden faydalanacağız, bunlar değişmedi. Sayede bunlarla etkileşim yaptığımız programlama dilimizin syntax’ı değişti ve artık çok daha hızlı bir şekilde istediklerimizi gerçekleştirebileceğiz.
Kotlin sade, kolay, eğlenceli ve öğrenmesi zevkli bir dildir. O yüzden vakit kaybetmeden kotlin eğitim serisine başlayalım 🙂