• Twitter
  • Instagram
  • slack-icon-black_edited_edited_edited
  • development_düzenlendi_düzenlendi
  • Gri LinkedIn Simge

© 2020 by mobiler.dev

Swift 6'ya Doğru

Swift'in temelleri yeterli olgunluk seviyesine ulaşmış ve yazılımcıların Swift'e ciddi şekilde yönelebilmesi için beklenen stability sağlanmış görünüyor. Ayrıca ABI ve modül kararlılığının macOS ve iOS platformlarında desteklenmesi, stabil binary frameworklerinin oluşturulmasını sağladı. Ayrıca, hem Xcode'a hem de diğer IDE'lere entegrasyon desteğini sağlayan Swift Paket Yöneticisi ile Swift kütüphanelerini oluşturmak ve dağıtmak için cross-platform bir çözüm sağlandı.


Bu gelişmeler yeni yeni büyüyen Swift yazılım ekosisteminin gelişimi için teşvik edici ve kritik bileşenlerdir. Bu incelemede Swift Core ekibinin Swift'in daha ileri noktalara taşınması için açıkladığı önemli maddelerin üzerinden geçeceğiz. Ayrıca Swift 6 ile ilgili bazı bilgiler vereceğiz.


1 - Swift Ekosisteminin Büyümesine Katkı


Swift Community'sinin bugünlerdeki en büyük amacı Swift'i her platformda yazılım geliştirilebilen bir dil haline getirmek. Swift'in, uygulama geliştirmede Apple platformlarına özgü yerleşik bir dil olduğunu biliyoruz, ancak diğer platformlarda da giderek kullanımı artıyor. Bu noktada Swift Community'si, üyelerinin Swift’in kullanılabilirliğini arttırmaları için aşağıdaki yöntemlere dikkat çekti.

  • Swift'in kullanılabildiği ve desteklendiği platformların sayısını arttırmak

  • Swift ile geliştirilen yazılımların farklı platformlara kurulma ve deploy edilme süreçlerini geliştirmek

  • Language Server Protocol (LSP), code formatting, refactoring ve Swift Package Manager gibi cross-platform araçlarının desteklenmesi

  • Açık kaynak kütüphane ekosisteminin geliştirilmesi

  • Hem standart kütüphanesinin tamamlanması hem de Swift'in çeşitli alanlarda kullanımını daha kolay hale getirecek yeni kütüphanelerin büyümesi için destek verilmesi. (Buna en güzel örnek bilimsel hesaplamalar ve makine öğrenmesi için kullanılan Swift Numerics'e destek verilmesi olabilir)


2 - Geliştirme Deneyimini Arttırmak


Swift, ana hedef olarak geliştirme deneyimini hep yukarıda tutmak istiyor. Geliştiricilerin Swift ile programlama yaparken üretken olmaları amaçlanıyor. Temel geliştirme deneyiminin arttırılması için yapılan çalışmalar aşağıdaki şekilde listelendi.

  • Daha hızlı build

  • Daha fazla bilgilendiriciler ve doğru tespitler

  • Süreklilik sağlayan kod tamamlama özelliği

  • Güvenilir ve akıcı debugging deneyimi

Bu önemli 4 madde şu an Swift'in yeni versiyonu için üzerinde en çok çalışan maddeler olarak belirtiliyor.



3- Yazılımcıyı Destekleyen Dil Özelliklerini Geliştirmek


Swift'in çekirdek ekibi Swift'i hem daha güçlü bir dil haline gelmesini istiyor hem de dilin problem çözümlerinde daha efektif olmasını sağlamaya çalışıyor. Amaç basit fonksiyonların programlanmasını kolaylaştırmak, zor fonksiyonların geliştirmesini de mümkün kılmak. Bu doğrultuda odaklanılması gereken aşağıdaki 3 alana dikkat çekiliyor.

  • Değişken generics gibi API'leri ve fonksiyon oluşturucu gibi DSL özellikleri olan bir dil oluşturulması

  • Swift'in Düşük seviyeli sistem programlama ve makine öğrenmesi gibi önemli alanlarda kullanılmasına izin veren uygulama ve yeteneklerinin tanımlanması

  • Memory Ownership and Concurrency gibi önemli dil özellikleri için çözümler sunulması


Swift 6'ya Doğru


Bugün geliştirilen mevcut sürümün Swift 5.2 olduğu açıklanmıştır. Swift 6'ya doğru ilerlerken, yukarıda özetlenen her bir özellik Swift 5.x versiyonlarıyla projeye dahil edilecektir. 5.x sürümlerinin her biri büyük paketler halinde yayınlanacaktır.


Swift 6'yı Swift 5.x sürümlerinden ayıracak olan en önemli 2 özellik geliştirilmiş eşzamanlılık desteği (concurrency support) ve John McCall’un sahiplik manifestosunda belirttiği bellek sahipliği modeline doğru ilerlemedir.


mevcut paralel concurrency desteği


Mevcut plan'da Swift 6'nın yayınlanma tarihi açıklanmayacak. Versiyon hedeflenen değişikliklerinin tamamlanmasının ardından belli olgunluğa ulaştığında release edilecektir.


ref: https://forums.swift.org/t/on-the-road-to-swift-6/32862


#swift6 #concurrencysupport #memoryownership



126 görüntüleme