Kotlin Nedir ?

Yusuf Anber
Developer MultiGroup
6 min readDec 18, 2020

Herkese merhaba,

Bir önceki yazımızda Android’ten bahsetmiştik. Bu yazımızda ise uygulama geliştirmek için kullanılan Google’ın desteklediği geleceğin yazılım dillerinden biri olarak gösterilen Kotlin teknolojisinden bahsedeceğim.

Kotlin’i Yakından Tanıyalım

Kotlin, Java sanal makinesi (JVM) üzerinde çalışan ve ayrıca JavaScript kaynak koduna derlenebilir, statik tipli bir programlama dilidir. İlk geliştirme Sankt-Peterburg, Rusya merkezli JetBrains programcıları tarafından yapılmıştır İsmi Kotlin Adası’ndan gelmektedir. Java ile uyumlu söz dizimi olmasa da, Kotlin Java kodu ile birlikte çalışmak üzere tasarlanmıştır.

Kotlin Nasıl Ortaya Çıktı ?

Temmuz 2011'de JetBrains, JVM için yeni bir dil olan ve bir yıldır geliştirilmekte olan Project Kotlin’i duyurdu. JetBrains lideri Dmitry Jemerov, Scala dışındaki çoğu dilin aradıkları özelliklere sahip olmadığını söylemiştir. Ancak, Scala’nın düşük derleme zamanını apaçık bir eksiklik olarak gösterdi. Kotlin’in belirtilen hedeflerinden biri, Java kadar çabuk derlemektir. Şubat 2012'de JetBrains, projeyi Apache 2 lisansı altında açık kaynak olarak yayınlamıştır. Kotlin v1.0, 15 Şubat 2016'da yayınlanmıştır. Bu ilk stabil sürümü olarak kabul edilir ve JetBrains bu sürümden itibaren geriye dönük uyumluluk taahhüdünde bulunmuştur.

Kotlin, Google I/O 2017'de resmi bir Android geliştirme dili olarak duyurulmuştur.

Neden Java Yerine Kotlin’i Tercih Etmelisiniz ?

Kotlin’in geliştirilme aşamasında JetBrains bu dili neden tasarladıklarını sade bir şekilde açıklıyor. Andrey Breslav, “Performans ve güvenliği feda etmeden Java’dan daha özlü kodlar yazmayı sağlamak için bu dili geliştirdik” sözleriyle bu dili geliştirdiklerini söylüyor. Kotlin’in temel hedefleri arasında kod satırlarını azaltmak ve daha güvenli kod yazmak var. Gelin birlikte Kotlin dilini tercih etmeniz gereken sebepleri inceleyelim.

  • Kotlin, nesne yönelimli(object oriented) bir dildir. Bu açıdan birçok programlama dilinin yapısına çok benzer.
  • Kotlin, Java’ya oranla daha kısa ve daha anlaşılır, kendine özgü şekilde kodlama yapabilmektedir.
  • En önemli özelliği ise Java ve Android ile tam performans uyumlu çalışmaktadır. JVM teknolojisi ile derlenir.
  • Java’ya oranla daha güvenilir bir dildir. Nedir bu güvenilirlik ? Buradaki güvenlik için bir örnek verebiliriz. Birçok firmanın hem zaman hem finansal açıdan birçok zarara uğramış olan null verisi Kotlin dili ile birlikte daha güvenli ele alınıp sistemlerde daha düzgün ve zararsız çalışması amaçlanmıştır.
  • Sunucu ve istemci tarafında web uygulamaları geliştirmeyi desteklemektedir.
  • Bu dili popüler yapan en önemli adım ise Google tarafından geldi. Android uygulamalar geliştirmek için tam performans Kotlin diline destek verdiklerini ve Android uygulama geliştirmek için resmi dil olduğunu tüm geliştiricilerle paylaştı.

Kotlin’in Desteklediği Platformlar

JVM: Server-side taraflı tüm uygulamalar

Android: Android üzerinden çıkaracağınız uygulamalar

Browser: Javascript tabanlı web uygulamaları

Native : MacOS, iOS ve Gömülü sistemler Uygulamaları.

Kotlin’den Multiplatform Desteği

KotlinConf2019 etkinliği ile beraber Kotlin’in üzerinde birçok ana bilgi ve gelecek yeni bilgiler paylaşıldı. Konferansta en çok üzerinde durulan konu ise Multiplatform desteği ve yeniliğiydi. Kotlin ve Java’nın ata dili olan C++ kendine özgü yapısıyla birçok dilin ana yapısını oluşturuyor. Bir kere yaz her yerde çalışsın mantığıyla yola çıkan Java’nın nimetlerinden yararlanan Kotlin işi bir seviye daha ileri taşıyarak C++ ve Java’nın gücünü birleştiriyor.

Kotlin Multiplatform Nedir ?

Kotlin dilinden başka hiçbir şey kullanmadan iOS ve Android uygulamalarınız için iş mantığını daha az zaman ve çabayla yazabilirsiniz. Kotlin multiplatform ile uygun platforma özgü ve özgün bir kod yazarak istenilen uygulamalar kolay bir şekilde yayınlanacak.

Multiplatform akla gelince şu karıştırılmamalıdır ki, bu bir SDK’dır, bir framework değildir. Kotlin’in felsefesi, tüm uygulamayı taşımak zorunda olmamanızdır. Tek bir modül veya özellik ile başlayabilirsiniz.

SDK (Software Development Kit):Yazılım geliştirme kiti belli bir yazılım paketi, yazılım çatısı, donanım platformu, bilgisayar sistemi, oyun konsolu, işletim sistemi veya bunlara benzer bir platform için uygulama üretmeyi sağlayan yazılım geliştirme araçlarından oluşan yazılımdır.

Platforma uygun ve özgü şekilde Kotlin kodunuzu yazın ve kolay bir şekilde native performanslı hem Android hem iOS kodu derleyin. Günümüzde bunu yapan birçok platform var. Bunlarından arasında en popülerleri Flutter ve React Native. Fakat buradaki durum çok daha farklı Kotlin sayesinde Native bir çıktı alıp kodunuzu derleyebiliyorsunuz. Tek bir dil ve native bir yapı. Bu özellik Kotlin’i diğer diller arasında bir hayli ön plana çıkaracaktır. Multiplatform ve Kotlinde yenilikler ve daha fazla bilgi için resmi web sitesini buradan takip edebilirsiniz.

Kotlin dili ile uygulama geliştirmek için hangi IDE (Integrated Development Environment — Tümleşik Geliştirme) Ortamı kullanmalı ?

IDE: Bilgisayar programcılarının hızlı ve rahat bir şekilde yazılım geliştirebilmesini amaçlayan, geliştirme sürecini organize edebilen birçok araç ile birlikte geliştirme sürecinin verimli kullanılmasına katkıda bulunan araçların tamamını içerisinde barındıran bir yazılım türüdür.

Android Studio, Android uygulama geliştirme alanında geliştiricilerin işini kolaylaştırmak amacıyla, üst seviye bir çok özelliğie sahip ve Google tarafından önerilen bir programlama aracıdır. IntelliJ IDEA tabanlı olarak geliştirilen özel bir geliştirme ortamıdır. En önemli özelliklerinden birisi sanal cihaz (emulator)’lardır.

Emulator: Oluşturduğumuz uygulamaları herhangi bir android cihaza aktarmadan bilgisayar üzerinde sanal bir cihaz yardımı ile canlı olarak test etmemizi sağlar.

Kotlin dili ile ilgili bilgi sahibi olduğumuza göre artık ilk programımızı birlikte yazmaya başlayalım :)

Bilgisayarımıza yazılım yüklemek yerine, ilk programınızı oluşturmak için web tabanlı bir araç kullanacağız. Online kod editörümüzün adı “Kotlin playground

Herhangi bir programlama dili öğrenirken klasikleşmiş olan ekrandan ilk çıktımız “Hello World” örneği ile başlıyoruz.

Düzenleyicide, sağ üst köşede, beyaz veya yeşil üçgeni bulun ve programı çalıştırmak için tıklayın. Alttaki bölmeye bakın.

"Hello,world!" Yukarıdaki resimde olduğu gibi, mesaj basılmıştır. Artık bu programın ne yaptığını biliyorsunuz: Bir Hello world mesajı yazdırır veya çıktı alabilirsiniz.

Derleme : Kotlin program kodunu sistemin çalıştırabileceği bir forma çeviren bir süreçtir. Derleme başarıyla tamamlanırsa, programda çalışmasını engelleyecek hiçbir hata yoktur. Sorunlar varsa, alt kısımdaki bölmede görünecektir.

Şimdi koda daha yakından bir göz atalım. Bu programın her parçası belirli bir amaca hizmet eder ve programı çalıştırabilmek için tüm parçalara ihtiyacımız vardır. İlk kelimeyle başlayalım.

fun: Kotlin programlama dilinde bir kelimedir. İşlev anlamına gelir. İşlev, bir programın belirli bir görevi yerine getiren bölümüdür.

fun main: bu işlevin adıdır. İşlevlerin adları vardır, bu nedenle birbirlerinden ayırt edilebilirler. Bu işlev, programı çalıştırdığınızda çağrılan ilk veya ana işlev olduğu için çağrılır. Her Kotlin programının adlandırılmış bir işleve ihtiyacı vardır .

İşlev adının ardından her zaman () iki parantez gelir.

Parantezlerin içine, işlevin kullanması için bilgi girebilirsiniz. İşlevin bu girdisine "argümanlar" veya kısaca args denir .

{}Parantezlerden sonra gelen küme parantezlerine dikkat edin . Bir işlevin içinde, bir görevi yerine getiren kod bulunur. Bu küme parantezleri bu kod satırlarını çevreler.

println(“Hello world”)

Bu kod satırı Hello world metnini yazdırır .

println sisteme bir metin satırı yazdırmasını söyler.

Parantezlerin içine yazdırılacak metni koyarsınız.

Yazdırılacak metnin tırnak içinde olduğuna dikkat edin. Bu, sisteme, tırnak işaretleri içindeki her şeyin aynen verildiği gibi yazdırılması gerektiğini söyler.

Özet

Bu yazımızda Kotlin’i yakından tanıdık ve hangi platformlarda kullanabileceğimizi öğrendikten sonra Kotlin ile ilgili örnek programımızı yaptık. Sizde Android Developer olma yolunda iyi bir başlangıç yapmak için Developer Multicamp olarak düzenlediğimiz Android Kampımızın eğitim serimizi buradan izleyebilirsiniz.

--

--