Kotlin Nedir ?

Merhabalar Arkadaşlar bugünkü yazımda sizlere Android’in gözbebeği olan Kotlin dilinden bahsedeceğim. Öncelikle Kotlin dilini tanıyarak yazımıza başlayacağız. Hazırsanız bu nadide ve sade dili öğrenmeye başlayalım :)

  • Kotlin, 2010 yılında JetBrains firması tarafından ortaya çıktı.
  • Kotlin, 19 Temmuz 2011 yılında JVM Language Summit etkinliğinde duyuruldu.
  • Kotlin, statik bir programlama dilidir.
  • Kotlin, Apache 2.0 lisansı altında geliştirilen açık kaynak kodlu bir projedir desteklere ve yardımlara açıktır.
  • Projenin kaynak kodları herkese açıktır. Proje destek olmak adına geliştirmeler yapabilirsiniz. Projeyi incelemek ve destek olmak için Github adresini ziyaret edebilirsiniz : https://github.com/jetbrains/kotlin
  • Kotlin’in ilk geliştirmesini Rusya merkezli bir şirket olan JetBrains’in yazılımcıları tarafından yapılmıştır.
  • Kotlin’in ismi ise Rusyada bulunan Kotlin adasından gelmektedir.

Kotlin Neden Geliştirildi ?

Birçok geliştirici gibi sizinde kendinize bu soruyu defalarca sorduğunuzu düşünüyorum. Java varken neden bu dile ihtiyaç duyuldu ? Ne gerek vardı ki ? Senelerdir Java ile yazıyoruz nereden çıktı bu dil ? gibi birçok geliştirici tarafından sorulmuş olan sorulara cevap olarak JetBrains firması ; “Performans ve güvenliği feda etmeden Java’dan daha özlü kodlar yazmayı sağlamak için bu dili geliştirdik” cevabını vermektedir. Kotlin’in temel hedefi kod satırlarını azaltmak, daha güvenli kod yazmak olarak söyleyebiliriz. Kotlin Javayı bitirdi ya bitirecek gibi yorumlar asılsızdır. Kotlin geliştiricilerinden olan Andrey Breslav, Kotlin’in nesne yönelimli bir dil ve Java’dan “daha iyi bir dil” olarak tasarlandığını söyledi. Ancak hala Java koduyla tamamen birlikte çalıştığı için şirketler Java’dan Kotlin’e kademeli bir geçiş yapıyorlar.

Kotlin Programlama Dilini Yakından Tanıyalım

  1. Kotlin, statik olarak Apache 2.0 lisansı altında geliştirilmiş ücretsiz, açık kaynak koda sahip bir programlama dilidir. Kotlin diline destek verip Kotlin’in gelişmesine katkıda bulunabilirsiniz.
  2. Kotlin, nesneye yönelimli (object oriented) fonksiyonel bir dildir. Java, C# ve C++ gibi nesne yönelimli bir programlama dilidir.
  3. Perl ve Unix/Linux shell script stili dizesine ekleme yapmayı desteklemektedir.
  4. Kotlin, Java’ya oranla daha kısa ve daha özgün şekilde kodlama yapılmaktadır. Programcıları sevindiren ve kendine çeken en önemli özelliği sade ve kendine özgün olmasıdır.
  5. Kotlin, Java ve Android ile %100 uyumlu bir şekilde çalışmaktadır. Java ile Kotlin bir elmanın yarısı gibi düşünülebilir.
  6. Kotlin, Java’ya göre daha güvenli bir dildir. Peki bu güvenlik ne anlam ifade ediyor ? 1965 yılından beri nesne tabanlı programlarda kullanılan ve milyar dolarlık zararlara yol açan null verisi Kotlin ile birlikte daha güvenli olarak ele alınıp sisteme zarar vermesi engellenmiştir. Kotlin de Null hatası almak için özel bir çapa harcamalısınız :)

7. Sunucu ve istemci tabanlı web uygulamaları geliştirmeyi desteklemektedir.

8. JavaScript kodlarına derlenerek HTML sayfalarında kullanılmaktadır. Javascript, HTML gibi web tarafında kullanılan diller ile ilgiliyseniz Kotlin sizin hoşunuza gidecek olan bir dil diye düşünüyorum.

9. Kotlin ve Java birlikte çalışmaktadır. Javanın içinde Kotlin’i , Kotlin’in içinde ise Javayı kullanabilirsiniz. Android Studio içinde yazmış olduğunuz Java kodunu kolaylıkla Kotlin diline çevirebilirsiniz.

10. Kotlin, mevcut Java kütüphanelerini kullanarak uygulama geliştirmeye olanak sağlar. Java ile birlikte çalışmaktadır. Javadan bağımsız halde düşünülemez.

11. Kotlin dilini öne çıkaran en önemli etken ise : Google Şirketinin Android Developer bölümünün bu dile güvenmeleri ve Android uygulamaları geliştirmek için desteklemeleridir.

Kotlin’in Desteklediği Platformlar

Kotlin programlama dili ile 4 ana platformda ya da alanda çeşitli uygulamalar geliştirebilirsiniz. Aşağıda maddeler halinde geliştirme alanları listelenmiştir.

JVM : Server-side Uygulamalar

Android : Android Uygulamalar

Browser : JavaScript tabanlı Web Uygulamalar

Native : MacOS, iOS ve Gömülü sistemler Uygulamaları. (Geliştirilme aşamasındadır.)

Kotlin Vs Java

Bu karşılaştırmayı üç ana başlık altında inceleyebiliriz. Kotlin’in Javada olan bazı eksiklikleri gidermesi, Kotlin de olan Java da olmayan, Java da olup Kotlin de olmayan özellikler şeklinde ayırabiliriz.

a) Kotlin’in Javada olan bazı eksiklikleri gidermesi :

  • Null referansların kontrol edilmesi,
  • Ham veri türü olmaması,
  • Dizilerin değişmemesi
  • Doğru işlev türleri vardır.
  • İstisnaları kontrol etmez.

b) Kotlin de olan Java da olmayan özellikler :

  • Null-safety
  • Smart casts
  • String templates,
  • Properties,
  • Primary constructors,
  • Range,
  • Operator overloading
  • Data Classes

Daha fazla bilgiye ulaşmak için Kotlin resmi sayfasını ziyaret edebilirsiniz :

https://kotlinlang.org/

c) Java da olup Kotlin de olmayan özellikler

  • İstisna Kontrolü
  • Primitive Veri Tipleri
  • Statik Üyeler
  • Joker Tipler
  • Ternary Operatörü

Kotlin ile ilgili Android Uygulama

Kotlin dilini tanıtan ve onunla ilgili çeşitli örnekleri bulabileceğiniz bir android uygulaması geliştirdim. Yanlış hatırlamıyorsam Temmuz ayında geliştirdim. Temel seviyede bilgiler içerir. Göz atıp incelemenizi tavsiye ederim. Uygulamaya aşağıdaki linkten ulaşabilirsiniz :

Kotlin ile ilgili Örnekler

Kotlin dilini tanıdıktan ve hangi platformlarda neler yapılabilir bunları öğrendikten sonra sıra geldi Kotlin ile ilgili örnekler yapmaya zaman kaybetmeden seri bir şekilde örneklerimize geçebiliriz :)

Herhangi bir Programlama dili öğrenirken kuşkusuz ekrana yazdırmış olduğumuz “Hello World” örneği ile başlıyoruz. Java da olduğu gibi bir main metodumuz bulunmaktadır. Bu metodun içinde ekrana println komutuyla bir mesaj bastırıyoruz. Noktalama işaretlerine hassas olmayan yani (işareti koymazsan hata veririm gibi bir koşulu olmayan )bu dili tahmin ediyorum ki sizlerde kullandıkça daha çok sevip tabiri caizse aşık olacaksınız :) Main metodunun parametresi args isminde Array türünde bir nesnedir. Son olarak motto olarak benimsemelik bir söz ile başka bir örneğe geçeceğim : WE LOVE KOTLİN :)

Android projedeki örnekte ise Java ya oranla daha sade ve okunabilir bir şekilde kod yapısına sahiptir. MainActivity sınıfının içinde bulunan onCreate metodunda fab değişkenine tıklayınca bir event oluşturuluyor ve bu eventi dinlemek için setOnClickListener metodu kullanılıyor. Kullanıcı her tıklamada ekranda toast mesaj gösteriliyor. Toast mesaj ekranda kullanıcıya kısa süreli mesajlar göstermek için oluşturulmuş yapılardır.

Kotlin ile ilgili Son örneğimizde ise Html ve Javascript ile kullanılabildiğini gösteren bir örnektir. Örnekte görüldüğü üzere html tagları ve Javascript metodları içinde sayı ve karşılığı şeklinde bir örnek yapılmıştır. Html de kulanılan tr ve td tagları tablo yapma ile ilgilidir. Map değişkenine değerler atanmış. createHTML() metodu ile table oluşturulmuş. Oluşturulan bu tablonun tr ve td bileşenlerine data da bulunan değişkenler atanmış.

Kotlin ile Javascript uygulamaları geliştirmek istiyorsanız aşağıdaki linkte bulunan adresten daha ayrıntılı bilgilere ulaşabilirsiniz :

Evet arkadaşlar Kotlin dilini tanımıya ve tanıtmaya çalıştık. Daha fazla bilgi ve donanıma sahip olmak adına sizlere yararlanabileceğiniz linkleri aşağıda paylaşacağım. Kendinizi iyi bakın. Bir sonra ki yazımda görüşmek üzere bol kodlu geceler dilerim :)

Yararlı Linkler :

Faydalandığım Linkler :