Apple Swift 6.3 derxist. Guhertoyên fermî ji bo Linux, Windows, û macOS hene. Koda çavkaniyê di bin Lîsansa Apache 2.0 de ye.
Swift hêmanên çêtirîn ên C û Objective-C berhev dike, û modelek objeyek ku bi Objective-C-ê re hevaheng e peyda dike (koda Swift dikare bi koda C û Objective-C re were tevlihev kirin), lê di karanîna veqetandina bîranîna otomatîkî, kontrolkirina zêdebûnê ya guhêrbar de cûda dibe. , û array, parastina li dijî karanîna guhêrbarên nenaskirî û astengkirina gihîştina bîranînê piştî ku ew azad dibe, ku bi girîngî pêbawerî û ewlehiya kodê zêde dike. Swift di heman demê de gelek teknîkên bernamekirinê yên nûjen pêşkêşî dike, wek girtina, bernamesaziya gelemperî, vegotinên lambda, tîp û celebên ferhengê, operasyonên berhevkirina bilez, û hêmanên bernameya fonksiyonel.
Pêkanîna Swift bi karanîna teknolojiyên ji projeya belaş LLVM ve hatî çêkirin. Ji bo misogerkirina performansa bilind, bernameyên Swift di koda makîneyê de têne berhev kirin, ku di ceribandinan de performansa ku 30% ji koda Objective-C zûtir e destnîşan dike. Li şûna berhevkarek çopê, Swift jimartina referansa tiştan bikar tîne. Di pakêtê de Gerînendeyê Pakêta Swift-ê heye, ku amûran ji bo belavkirina modul û pakêtan bi pirtûkxane û serîlêdanên bi zimanê Swift, birêvebirina pêwendiyan, dakêşana otomatîk, komkirin û girêdana pêkhateyan peyda dike.
Guhertinên sereke di guhertoya nû de:
- Yekem guhertoya fermî ya Swift SDK ji bo platforma Androidê hat weşandin, ku dihêle hûn zimanê Swiftê bikar bînin da ku sepanên Androidê pêşve bibin, û her weha pêkhateyên Swiftê yên takekesî di sepanên Androidê yên heyî yên ku bi Java û Kotlin hatine nivîsandin de bicîh bikin.
- Taybetmendiya "@c" hatiye zêdekirin, ku dihêle fonksiyon û hejmartinên ku bi Swift hatine nivîsandin ji bo karanîna di koda C de werin hinardekirin (pelek sernavê bi pênaseyên C yên têkildar tê çêkirin).
- Hilbijêrên modulê hatine bicîhkirin ku dihêle hûn bi eşkere diyar bikin ka ji kîjan modulê API-yek were bikar anîn dema ku gelek modulên hawirdekirî API-yek bi heman navî peyda dikin. import ModuleA import ModuleB let x = ModuleA::getValue() // gazî 'getValue' ji ModuleA bike let y = ModuleB::getValue() // gazî 'getValue' ji ModuleB bike
- Taybetmendiyên nû ji bo kontrolkirina çêtirkirinên berhevkar hatine zêdekirin: @specialize — API-yên gelemperî ji bo celebên ku pir caran têne bikar anîn taybetî dike; @inline — berfirehkirina fonksiyonê ya di rêzê de li cihê bangê; @export(implementation) — pêkanîna fonksiyonê hinarde dike bo ABI-ya stabîl a pirtûkxaneyê.
- Pêkanîneke pêşîn a sîstema avakirina Swift Build, ku di SwiftPM (Swift Package Manager) de hatiye entegrekirin, tê pêşniyarkirin.
Source: opennet.ru
