Kotlin 1.3 Yayınlandı!

 

Merhaba değerli dostlar

Bu yazıda 29 Ekim 2018 günü JetBrains tarafından yayınlanan Kotlin 1.3 sürümü hakkında sizlere bilgi vermek istiyorum. Bu yazıya başlamadan önce Kotlin 1.2 sürümü hakkında yazdığım makaleyi okumanızı tavsiye ediyorum. Kotlin 1.2 ile gelen en önemli yenilik şüphesiz Multiplatform projeler oluşturabilmekti. Bu son sürüm ile gelen en önemli özellikler ise şunlardır:

  • Coroutines
  • Kotlin/Native Beta
  • Ktor 1.0 Beta

Yukarıdaki özelliklere ek olarak daha birçok yeniliğin olduğunu belirtmek istiyorum. Ayrıca şunu da eklemek isterim ki Kotlin 1.3 sürümü ile Kotlin programlama dili oldukça iddialı bir konuma doğru ilerlemeye devam ediyor.

Kotlin dili tüm platformlarda en iyi şekilde çalışmak ve kullanılmak amacıyla geliştirilmiştir.Bu amaçla sistem çökmelerine engel olmak  ve karmaşık ağ işlemlerinin çakışmadan yapılabilmesini sağlamak için Coroutines özelliği bu son sürüm ile stabil olarak bizlere sunuldu. Bu gerçekten çok önemli bir gelişmedir. Coroutines  ile kodunuz daha ölçeklenebilir bir konuma taşınmış olacak. Sadece bu özelliğinden dolayı Kotlin 1.3 aşağıdaki slogan ile bizlere sunuldu.

Bu sürümün bir diğer yeniliği Kotlin/Native desteğinin beta aşamasında bizlere sunulmasıdır. Kotlin dilini yakından takip edenler gayet iyi bilirler. Kotlin ile ilgili en merak edilen, en dikkat çekici ve uzun süredir beklenen temel özellik native desteğidir. Bu yavaş ama bir o kadar kararlı bir sürecin ardından gelinen bir noktadır. Native ile yazdığınız kodu binary olarak derleyip aşağıdaki platformlarda kullanabiliriz:

  • iOS (arm32, arm64, emulator x86_64)
  • MacOS (x86_64)
  • Android (arm32, arm64)
  • Windows (mingw x86_64)
  • Linux (x86_64, arm32, MIPS, MIPS little endian)
  • WebAssembly (wasm32)

Kotlin’in çoklu platform yetenekleri desteklenen tüm platformları kapsamaktadır; böylece Android ve iOS uygulamaları gibi bileşenler arasında iş mantığını paylaşabilirsiniz.

Kotlin ile ilgili özelliklerden bahsetmişken dünya genelindeki konumuna bakmakta fayda var. Çünkü gelinen konum Kotlin 1.3 sürümünün daha ciddi bir şekilde geliştirilmesini sağladı. Ocak 2018’den itibaren yaklaşık 1.5 milyon kullanıcı Kotlin kodu yazdı. Bu ilgi dolayısıyla JetBrains firmasına Kotlin ile ilgili birçok geri bildirimin gelmesine, hataların tespitine ve dolayısıyla bu hataların giderilmesine katkı sağladı. Bu kadar büyük bir kullanıcı kitlesinin desteği ile ortaya çıkan Kotlin 1.3, seleflerine oranla daha gelişmiş ve çarpıcı özellikler ile bizlere sunuldu.

Coroutine’lar Artık Stabil

Coroutine’lar, anlaşılması ve geliştirilmesi kolay, uygulamaları engellemeden veya kesmeden  asenkron (eşzamansız ) olarak kod yazmanın modern bir yolunu bizlere sunmaktadır. Temel amacı karmaşık ağ protokollerini uygulamak ve arkaplanda meydana gelen çakışmaların önüne geçmeyi sağlamaktır. Bu işlemleri yapan tüm sınıf veya metotlar kotlinx.coroutines 1.0 kütüphanesi altında toplanmıştır. Bu kütüphane istisna yönetimi ve kullanıcı arayüzüne (UI) özgü kullanım durumları dahil olmak üzere asenkron işlemlerin herhangi bir ölçekte yönetilmesi için sağlam bir temel oluşturur.

Coroutines denilince aklınıza asenkron programlama gelmelidir. Bununla ilgili harika bir video var. İzlemenizi tavsiye ederim.

 

Coroutines hakkında ayrıntılı bilgi almak için resmi sayfasını ziyaret edebilirsiniz.

Kotlin/Native Beta

Kotlin / Native, Kotlin kaynaklarını iOS, Linux, Windows, Mac ve hatta WebAssembly ve STM32 gibi gömülü sistemler de dahil olmak üzere çeşitli işletim sistemlerine ve CPU mimarilerine uygun olarak derlemeyi sağlar. Kotlin kaynaklarını ikili sistemlere derlemek için LLVM derleyici altyapısını kullanır. Kotlin/Native’nin temel özelliklerini şöyle sıralayabiliriz.

  • Tam otomatik bellek yönetimine sahip olması,
  • C, Objective-C (ve Swift) ile birlikte çalışabilmesi,
  • Core Foundation, POSIX ve beğendiğiniz herhangi bir yerel kütüphane gibi platform API’lerini sunması.

Kotlin / Native çalışma zamanında, sabit verileri destekler ve iş parçacıkları arasında korumasız durumların paylaşılmasına yönelik herhangi bir girişimi yasaklar. 

Native hakkında bilgi almak için resmi sayfasını ziyaret edebilirsiniz.

Kotlin/Native hakkında Kotlin dilini geliştiren ekibin başında bulunan Andrey Breslav’ın muhteşem videosunu izleyebilirsiniz. 

 

Multiplatform projects

Kotlin, tüm platformlarda (yukarıda listesini verdik) çalışmak için geliştirilen bir programlama dilidir. Temel amacı budur. Bu amacın en somut hali platformlar arasında kod paylaşımını desteklemesidir. Gelinen noktaya baktığımızda JVM, Android, JavaScript ve Native desteği bu amacın temel platformlarını oluşturmaktadır. Yazılan bir kod, uzmanlık adına yeniden kullanılabilir. Bu emek, zaman ve kullanım açısından paha biçilemez bir gelişmedir. Aynı işlemleri tekrarlamaktan ziyade uygulamanın merkezine yani kalbine odaklanmayı sağlayan ve kod tekrarlarından bizleri uzaklaştıran bir yeniliktir. Bu özellik hala deneysel ancak 1.2 ile gelen bu özellik 1.3 sürümüyle daha ileri bir adıma geçmeyi başarıyor. 

Kotlin 1.3, HTTP, serileştirme ve coroutines yönetimi gibi günlük görevleri kapsayan bir dizi çoklu platform kütüphanesiyle birlikte gelir. Çoklu platformlar ile çalışırken bu gelen yeni özellikler işlerimizi oldukça kolaylaştıracaktır. 

Multiplatform projeler oluşturmak için aşağıdaki videoyu izleyebilirsiniz.

 

Multiplatform  hakkında bilgi almak için resmi sayfasını ziyaret edebilirsiniz.

 

Kotlin / Native ve Multiplatform için Araçlar

Kotlin 1.3, IntelliJ IDEA Community Edition, IntelliJ IDEA Ultimate ve Android Studio’da kullanılabilen Kotlin / Native ve Multiplatform projeleri için takım desteği sunmaktadır.Hata vurgusu, kod tamamlama ve refactoring gibi tüm kod düzenleme özellikleri, tüm üç IDE’de mevcuttur. Ücretli satılan araçlarda daha gelişmiş özellikler ve entegrasyonlar üzerinde çalışmaların yapıldığını önemle vurgulamak isteriz.

 

Ktor 1.0 Beta

Ktor, beta sürümüyle bizlere sunulan bir framework’tür. Kotlin 1.3 ile stabil olarak gelen Coroutine’lar ile geliştirilen en önemli kütüphanelerden birisidir. Bu frameworkü kullanarak web, mobil ve tarayıcı uygulamaları ile birlikte HTTP servisleri oluşturabilirsiniz. Temel amacı server/client modelinde işlemlerin asenkron olarak yapılmasını ve farklı uygulamalar arasında iletişimi sağlamaktır.

Ktor hakkında KotlinConf 2018’de hazırlanan videoyu izleyebilirsiniz. Ayrıca resmi web sitesinden yine bilgi sahibi olabilirsiniz. 

http://kotlinveandroid.com/genel/kotlin-1-3-yayinlandi.html

Kaynak: https://blog.jetbrains.com/kotlin/2018/10/kotlin-1-3/#more-6605