Inilabas ng Apple ang Swift 5.3 programming language at open source na Swift System library

Apple inihayag ang tungkol sa pagbubukas ng source code ng library Mabilis na Sistema, na nagbibigay ng idiomatic na hanay ng mga interface ng programming sa mga system call at mababang antas ng mga uri ng data. Orihinal na sinusuportahan lamang ng Swift System ang mga system call para sa mga platform ng Apple, ngunit ngayon ay nai-port na sa Linux. Ang Swift System code ay nakasulat sa Swift na wika at ipinamahagi ni lisensyado sa ilalim ng Apache 2.0.

Ang Swift System ay nagbibigay ng isang punto ng pag-access sa mga interface ng system na maaaring magamit sa lahat ng sinusuportahang platform nang hindi nangangailangan ng mga partikular na C framework sa mga Swift program. Kasabay nito, hindi pinag-iisa ng Swift System ang mga tawag ng system sa kanilang mga sarili, ngunit nagbibigay ng hiwalay na subset ng mga API para sa bawat sinusuportahang platform, na isinasaalang-alang ang pag-uugali ng platform na ito at tumpak na sumasalamin sa mga mababang antas ng interface ng operating system. Ang pangunahing layunin ng paglikha ng Swift System ay ang pasimplehin ang pagbuo ng mga cross-platform na library at application tulad ng SwiftNIO ΠΈ SwiftPM. Hindi inaalis ng Swift System ang pangangailangan para sa pagsasanga batay sa "#if os()" kapag nag-a-access ng mga primitive na mababa ang antas, ngunit ginagawa nitong mas ligtas ang gawaing ito at
komportable.

Maaari mo ring tandaan publication paglabas ng programming language Swift 5.3. Mga opisyal na build nakahanda para sa Linux (Ubuntu 16.04/18.04/20.04, CentOS 7/8), macOS (Xcode 12) at Windows 10. Source texts kumalat lisensyado sa ilalim ng Apache 2.0.

Ang bagong release ay nagdaragdag ng paunang suporta para sa Windows platform at nagsimula supply ng mga tool para sa pagbuo at pagpapatakbo ng mga Swift application sa Windows 10. Patuloy na pino ang functionality ng wika. Kasama sa mga bagong feature ang pagdaragdag ng initializer para sa uri ng String, pinalawak na paggamit ng expression na "kung saan", mga pagbabago sa semantics ng didSet, suporta para sa pagtukoy ng maraming pattern sa mga expression ng Catch, at pagdaragdag ng isang uri
Float16, atomic mga pagpapatakbo ng memorya.

Ang laki ng mga nagresultang aplikasyon ay nabawasan - kung sa Swift 4 ang laki ng naka-assemble na programa ay 2.3 beses na mas malaki kaysa sa bersyon sa Objective-C, ngayon ang puwang ay nabawasan sa 1.5 beses. Ang bagong release ay makabuluhang nagpapabilis din ng incremental na building at building code na may malaking bilang ng mga property at function na na-import mula sa ibang mga library. Ang mga diagnostic tool sa compiler at ang kalidad ng mga mensahe ng error ay napabuti. Ang manager ng package ay nagbibigay ng kakayahang magsama ng mga karagdagang mapagkukunan na kailangan sa runtime, tulad ng mga larawan, sa mga pakete. Nagdaragdag din ang manager ng package ng suporta para sa mga bahagi ng localization at ang kakayahang tukuyin ang mga conditional dependencies.

Alalahanin na ang Swift na wika ay nagmamana ng pinakamahusay na mga elemento ng C at Objective-C na mga wika, at nagbibigay ng object model na tugma sa Objective-C (Swift code ay maaaring ihalo sa C at Objective-C code), ngunit naiiba sa paggamit ng awtomatikong memory allocation at control overflow ng mga variable at arrays, na makabuluhang nagpapataas sa pagiging maaasahan at seguridad ng code. Nag-aalok din ang Swift ng maraming modernong diskarte sa programming, tulad ng mga pagsasara, generic na programming, mga expression ng lambda, tuple at mga uri ng diksyunaryo, mabilis na operasyon ng koleksyon, at mga elemento ng functional programming. Ang bersyon ng Linux ay hindi nakatali sa Objective-C Runtime, na nagpapahintulot sa wika na magamit sa mga kapaligiran na walang suporta sa Objective-C.

Ang pagpapatupad ng Swift ay binuo gamit ang mga teknolohiya mula sa libreng proyekto ng LLVM. Upang matiyak ang mataas na pagganap, ang mga Swift program ay pinagsama-sama sa katutubong code na tumatakbo nang 30% na mas mabilis kaysa sa Objective-C code sa mga pagsubok sa Apple. Sa halip na isang basurero, gumagamit si Swift ng pagbibilang ng object reference. Kasama sa package ang isang package manager Swift Package Manager, na nagbibigay ng mga tool para sa pamamahagi ng mga module at package na may mga library at application sa Swift language, pamamahala ng mga dependency, awtomatikong pag-load, pagbuo at pag-link ng mga bahagi.

Pinagmulan: opennet.ru

Magdagdag ng komento