Apple wis ngrilis Swift 6.0, basa pamrograman. Versi resmi wis disiapake kanggo Linux (Ubuntu 20.04/22.04/24.04, Debian 12, Fedora 39, Amazon Linux 2, RHEL 9), Windows 10 и macOS (Xcode). Kode sumber disebarake miturut lisensi Apache 2.0.
Swift nggabungake unsur C lan Objective-C sing paling apik, lan nyedhiyakake model obyek sing kompatibel karo Objective-C (kode Swift bisa dicampur karo kode C lan Objective-C), nanging beda karo panggunaan alokasi memori otomatis, kontrol overflow variabel. , lan susunan, pangayoman marang nggunakake variabel uninitialized lan Watesan akses menyang memori sawise dibebaske, kang Ngartekno mundhak linuwih lan keamanan kode. Swift uga nawakake akeh teknik pemrograman modern, kayata penutupan, pemrograman umum, ekspresi lambda, tuple lan jinis kamus, operasi koleksi cepet, lan unsur pemrograman fungsional.
Implementasi Swift dibangun nggunakake teknologi saka proyek LLVM gratis. Kanggo njamin kinerja sing dhuwur, program Swift dikompilasi dadi kode mesin, sing ing tes nuduhake kinerja sing 30% luwih cepet tinimbang kode Objective-C. Tinimbang kolektor uwuh, Swift nggunakake pancacahan referensi obyek. Paket kasebut kalebu Manajer Paket Swift, sing nyedhiyakake alat kanggo nyebarake modul lan paket kanthi perpustakaan lan aplikasi ing basa Swift, ngatur dependensi, ngundhuh otomatis, ngrakit lan ngubungake komponen.
Owah-owahan utama ing versi anyar:
- Mode isolasi data anyar wis ditambahake, sing nyedhiyakake proteksi tingkat kompiler marang kahanan balapan sing kedadeyan nalika ngakses data saka benang bebarengan. Nalika mode iki diaktifake, compiler mriksa yen data sing diproses kanthi ngeksekusi kode kanthi bebarengan aman kanggo digunakake utawa nduweni kunci sing tepat.
- Versi eksprimen saka basa Embedded Swift diusulake, sing dimaksudake kanggo nggawe aplikasi kanggo sistem sing dipasang lan mikrokontroler. Ing compiler, Déwan ing mode anyar dipun ginakaken kanggo platform target ARM lan RISC-V, lan ngijini sampeyan kanggo generate liyane kompak, kurang memori-akeh lan kapisah file eksekusi sing ora disambungake menyang runtime.
- A perpustakaan Sinkronisasi anyar ngajokaken, kang menehi API tingkat kurang kanggo ngatur eksekusi paralel kode, eksekusi atom operasi lan nggunakake mutexes.
- Dhukungan ditambahake kanggo mbuwang diketik, saengga bisa nemtokake jinis kesalahan sing bali ing tataran definisi fungsi. Contone, ing ngisor iki ana definisi fungsi sing ngasilake conto Rekam utawa kesalahan saka jinis ParseError: func parseRecord (saka string: String) mbuwang (ParseError) -> Rekam { // … }
- Sampeyan bisa nggunakake kode umum sing bisa digunakake bebarengan karo jinis sing bisa disalin lan sing ora bisa disalin (jinis sing ora bisa disalin mung bisa duwe siji pemilik, sing ngidini nambah kinerja kanthi ngganti mriksa kepemilikan kanthi nglarang nyalin sumber daya).
- Ngapikake portabilitas kanthi kode C ++ ing wilayah kayata jinis mung pamindhahan, metode virtual, argumen standar, lan jinis perpustakaan standar tambahan (kayata std :: map lan std :: opsional).
- Jinis integer 128-bit sing ditandatangani lan ora ditandatangani.
- Perpustakaan Foundation digabungake ing kabeh platform sing didhukung (Linux, Windows, macOS) lan bisa digunakake ing aplikasi portabel. Implementasi jinis JSONDecoder, URL, Calendar, FileManager, lan ProcessInfo wis ditulis ulang ing Swift.
- Pustaka Pengujian Swift anyar wis ditambahake, nyedhiyakake API kanggo nulis lan nglakokake tes.
- Dhukungan platform sing saya tambah akeh Linux и WindowsNambahake kemampuan kanggo mbangun file executable sing disambungake kanthi statis kanggo Linux, sing ora nggunakake dependensi eksternal (SDK statis diimplementasikake kanggo Linux). Pengujian diwenehake ing Debian, Fedora lan Ubuntu 24.04.
Source: opennet.ru
