Zpět na domů

Swift 6.3: Android SDK a @c atribut

Swift 6.3 zavádí oficiální SDK pro Android, atribut @c pro export do C, selektory modulů a nové optimalizace kompilátoru. Aktualizace zlepšuje multiplatformnost a výkon pro senior developery.

Swift 6.3 oficiálně na Android s C-interopem
Advertisement 728x90

# Swift 6.3: oficiální SDK pro Android a nové atributy exportu

Swift 6.3 vyšel koncem března 2026. Zdrojový kód je dostupný na GitHubu pod licencí Apache 2.0. Předchozí stabilní vydání — Swift 6.2 v říjnu 2025, zatímco Swift 6.0 s podporou Debianu, Fedory a Ubuntu 24.04 vyšel v září 2024. Oficiální sestavení se šíří pro Linux, Windows a macOS.

Aktualizace se zaměřuje na rozšíření multiplatformnosti a nástrojů kompilátoru. Jazyk Swift integruje vlastnosti C a Objective-C, přičemž zachovává kompatibilitu s Objective-C runtime. Kód v Swiftu je interoperabilní s C a Objective-C, používá ARC pro správu paměti, zabraňuje buffer overflow, přístupu k neinicilizované paměti a use-after-free.

Swift podporuje generics, closures, lambdas, tuples, dictionary types, efektivní kolekce a funkcionální konstrukce. Kompilace do strojového kódu přes LLVM zajišťuje výkon o 30 % vyšší než Objective-C. Swift Package Manager spravuje závislosti, sestavování a linkování.

Google AdInline article slot

Swift SDK pro Android: oficiální vydání

První klíčová změna — oficiální Swift SDK pro Android. Nyní middle/senior vývojáři mohou psát nativní aplikace pro Android plně v Swiftu nebo integrovat Swift komponenty do existujících projektů na Java/Kotlin.

SDK opouští experimentální fázi díky příspěvku pracovní skupiny Android a komunity. To usnadňuje multiplatformní vývoj a minimalizuje bariéry mezi ekosystémy iOS/macOS a Android.

// Příklad integrace Swift do Android projektu
import Foundation

@objc public class SwiftBridge: NSObject {
    @objc public func greet(name: String) -> String {
        return "Hello, \(name)! From Swift on Android."
    }
}

Tento kód demonstruje základní interoperabilitu: třída se exportuje pro JNI.

Google AdInline article slot

Atribut @c a export do C

Přidán atribut @c pro export funkcí a enumů Swift do C. Kompilátor generuje hlavičkový soubor (.h) s deklaracemi.

@c
public enum ErrorCode: Int32 {
    case none = 0
    case invalidInput = 1
    case networkFailure = 2
}

@c
public func processData(_ data: UnsafePointer<UInt8>, length: Int) -> ErrorCode {
    // Zpracování dat
    return .none
}

Vygenerovaný module.h:

enum ErrorCode : int32_t {
  ErrorCode_none = 0,
  ErrorCode_invalidInput = 1,
  ErrorCode_networkFailure = 2
};

enum ErrorCode processData(const uint8_t *data, int length);

To je klíčové pro FFI v systémovém programování a embedování Swiftu do projektů založených na C.

Google AdInline article slot

Selektory modulů a řízení konfliktů

Zavedeny selektory modulů pro vyřešení nejednoznačností při importu API se stejnými názvy z více modulů.

import ModuleA.SomeType
using module(ModuleB) SomeType  // Explicitně z ModuleB

let a: ModuleA.SomeType = ...
let b: ModuleB.SomeType = ...

Selektor using module(ModuleB) specifikuje původ a zabraňuje chybám linkování ve velkých projektech s překrývajícími se závislostmi.

Nové atributy optimalizace kompilátoru

Rozšířeny atributy pro jemné ladění optimalizací:

  • @specialize: generuje monomorfické specializace generics pro horké typy (např. Array<Int>).
  • @inline: vynucené inlining funkce pro snížení overheadu volání.
  • @export(implementation): exportuje ABI-stabilní implementaci do knihoven.
@specialize(Array<Int>)
public func sum<T: Numeric>(_ array: [T]) -> T {
    return array.reduce(0, +)
}

@inline(never)
public func debugLog(_ msg: String) {
    print("DEBUG: \(msg)")
}

Integrace Swift Build do SwiftPM

Předběžná implementace Swift Build je integrována do Swift Package Manageru. To zrychluje inkrementální sestavování, zejména v monorepo s tisíci balíčků.

Co je důležité:

  • Oficiální Swift SDK pro Android: plnohodnotný vývoj a integrace s Java/Kotlin.
  • Atribut @c: automatická generace C hlaviček pro FFI.
  • Modulové selektory: vyřešení konfliktů názvů bez přejmenování.
  • Optimalizační atributy: @specialize, @inline, @export(implementation) pro ladění výkonu.
  • Swift Build v SwiftPM: zlepšený výkon sestavování.

Aktualizace odráží příspěvek komunity, zejména Android skupiny. Swift 6.3 posiluje pozice jazyka v multiplatformním vývoji pro senior specialisty.

— Editorial Team

Advertisement 728x90

Číst dál