Ua tatalaina e Apple le Swift 5.3 gagana polokalame ma tatala punaoa Swift System faletusi

Apple faasilasila e uiga i le tatalaina o le source code o le faletusi Faiga Sa'o, lea e maua ai se seti fa'aupuga o feso'ota'iga fa'apolokalame i vala'au fa'akomepiuta ma ituaiga fa'amaumauga maualalo. O le Swift System na muamua na'o le lagolagoina o telefoni mo Apple platforms, ae o lea ua tuʻuina atu i Linux. Swift System code ua tusia i le gagana Swift ma tufatufaina e laiseneina i lalo ole Apache 2.0.

O le Swift System e maua ai se avanoa e tasi i fesoʻotaʻiga faʻaoga e mafai ona faʻaogaina i luga o faʻavae lagolago uma e aunoa ma le manaʻomia mo faʻavae C faʻapitoa i polokalame Swift. I le taimi lava e tasi, e le tuʻufaʻatasia e le Swift System le faʻaogaina o latou lava, ae tuʻuina atu se vaega tuʻufaʻatasia o API mo taʻiala lagolago taʻitasi, e amanaʻia ai le amio a lenei faʻavae ma faʻaalia saʻo ai fesoʻotaʻiga maualalo o le faiga faʻaogaina. O le sini autu o le fatuina o le Swift System o le faʻafaigofieina o le atinaʻeina o faletusi faʻasalalau ma faʻaoga e pei o SwiftNIO и SwiftPM. O le Swift System e le faʻaumatia le manaʻomia mo le faʻapipiʻiina e faʻavae i luga o le "#if os()" pe a oʻo i tulaga maualalo, ae e sili atu le saogalemu o lenei galuega ma
mafanafana.

E mafai foi ona e matauina lolomiina fa'amatu'u gagana fa'apolokalame Swift 5.3. Faiga aloa'ia saunia mo Linux (Ubuntu 16.04/18.04/20.04, CentOS 7/8), macOS (Xcode 12) ma le Windows 10. Source texts salalau laiseneina i lalo ole Apache 2.0.

O le faʻasalalauga fou e faʻaopoopoina ai le lagolago muamua mo le Windows platform ma amata sapalai o mea faigaluega mo le fausiaina ma le fa'agaioia o talosaga Swift i luga o le Windows 10. Sa fa'aauau pea ona fa'aleleia le fa'atinoga o le gagana. O foliga fou e aofia ai le faʻaopoopoina o se amataga mo le ituaiga String, faʻalauteleina le faʻaogaina o le "mea" faʻamatalaga, suiga i semantics didSet, lagolago mo le faʻamalamalamaina o le tele o mamanu i faʻamatalaga Catch, ma le faʻaopoopoga o se ituaiga.
Opeopea16, atomika galuega manatua.

O le tele o talosaga na maua mai ua faʻaititia - pe a fai i Swift 4 o le tele o le polokalama faʻapipiʻi e 2.3 taimi sili atu nai lo le faʻasologa i le Objective-C, o lea ua faʻaititia le va i le 1.5 taimi. O le fa'asalalauga fou fo'i ua matua fa'avavevave ai le fa'aopoopoina o faufale ma tulafono faufale ma le tele o meatotino ma galuega fa'aulufale mai i isi faletusi. O meafaigaluega faʻapitoa i le tuʻufaʻatasia ma le lelei o faʻamatalaga sese ua faʻaleleia. E tuʻuina atu e le pule o pusa le gafatia e aofia ai punaoa faʻaopoopo e manaʻomia i le taimi faʻataʻavale, pei o ata, i totonu o afifi. E faaopoopo foi e le pule o pusa le lagolago mo vaega mo le localization ma le mafai ona faamatalaina tulaga faalagolago.

Manatua o le gagana Swift e maua ai elemene sili ona lelei o le C ma le Objective-C gagana, ma tuʻuina atu se faʻataʻitaʻiga faʻataʻitaʻiga e fetaui ma Objective-C (Swift code e mafai ona faʻafefiloi ma le C ma le Objective-C code), ae ese i le faʻaogaina o le otometi. vaevaega manatua ma le pulea o le tele o fesuiaiga ma arrays, lea e matua faateleina ai le faatuatuaina ma le saogalemu o le code. E ofoina atu foi e Swift le tele o polokalame faʻaonaponei, e pei o tapuni, polokalame lautele, faʻamatalaga lambda, tuples ma ituaiga lolomifefiloi, faʻagaioiga vave aoina, ma elemene o polokalame faʻatino. O le Linux version e le o nonoa i le Objective-C Runtime, lea e mafai ai ona faʻaogaina le gagana i siosiomaga e leai se lagolago a Objective-C.

O le Swift faʻatinoina o loʻo fausia e faʻaaoga ai tekinolosi mai le poloketi LLVM saoloto. Ina ia mautinoa le maualuga o le faʻatinoga, o polokalame Swift e tuʻufaʻatasia i totonu o le tulafono masani e 30% vave atu nai lo le Objective-C code i suʻega a Apple. Nai lo le aoina o lapisi, e fa'aaoga e Swift le faitauina o fa'amatalaga. O le afifi e aofia ai le pule o pusa Pule o le Paketi Swift, lea e maua ai meafaigaluega mo le tufatufaina atu o modules ma afifi ma faletusi ma tusi talosaga i le gagana Swift, pulea faʻalagolago, faʻapipiʻiina otometi, fausiaina ma fesoʻotaʻiga vaega.

puna: opennet.ru

Faaopoopo i ai se faamatalaga