Apple-ը թողարկում է Swift 5.3 ծրագրավորման լեզուն և բաց կոդով Swift System գրադարանը

Խնձոր հայտարարվեց գրադարանի սկզբնական կոդը բացելու մասին Swift համակարգ, որն ապահովում է համակարգային զանգերի և ցածր մակարդակի տվյալների տեսակների ծրագրավորման ինտերֆեյսերի բառապաշար: Swift System-ն ի սկզբանե աջակցում էր միայն Apple-ի պլատֆորմների համար նախատեսված համակարգային զանգերին, սակայն այժմ այն ​​տեղափոխվել է Linux: Swift համակարգի կոդը գրված է Swift լեզվով և տարածվում է լիցենզավորված Apache 2.0-ի համաձայն:

Swift System-ը ապահովում է համակարգի ինտերֆեյսների մուտքի մեկ կետ, որը կարող է օգտագործվել բոլոր աջակցվող հարթակներում՝ առանց Swift ծրագրերում հատուկ C շրջանակների անհրաժեշտության: Միևնույն ժամանակ, Swift System-ը չի միավորում համակարգի անվանումներն իրենց, այլ տրամադրում է API-ների առանձին ենթաբազմություն յուրաքանչյուր աջակցվող հարթակի համար՝ հաշվի առնելով այս հարթակի վարքագիծը և ճշգրիտ արտացոլելով օպերացիոն համակարգի ցածր մակարդակի ինտերֆեյսերը: Swift համակարգի ստեղծման հիմնական նպատակն է պարզեցնել միջպլատֆորմային գրադարանների և հավելվածների զարգացումը, ինչպիսիք են. SwiftNIO и SwiftPM. Swift համակարգը չի վերացնում «#if os()»-ի վրա հիմնված ճյուղավորման անհրաժեշտությունը ցածր մակարդակի պրիմիտիվներ մուտք գործելու ժամանակ, սակայն այն դարձնում է այս աշխատանքը ավելի անվտանգ և անվտանգ:
հարմարավետ.

Կարող եք նաև նշել հրապարակումը ծրագրավորման լեզվի թողարկում Swift 5.3- ը. Պաշտոնական շինություններ պատրաստված Linux (Ubuntu 16.04/18.04/20.04, CentOS 7/8), macOS (Xcode 12) և Windows 10-ի համար: Աղբյուրի տեքստեր տարածվել լիցենզավորված Apache 2.0-ի համաձայն:

Նոր թողարկումն ավելացնում է նախնական աջակցություն Windows պլատֆորմին և սկսվեց Windows 10-ում Swift հավելվածներ ստեղծելու և գործարկելու համար գործիքների մատակարարում: Լեզվի ֆունկցիոնալությունը շարունակվել է կատարելագործվել: Նոր առանձնահատկությունները ներառում են String տիպի սկզբնավորիչի ավելացում, «where» արտահայտության ընդլայնված օգտագործում, didSet իմաստաբանության փոփոխություններ, Catch արտահայտություններում բազմաթիվ օրինաչափություններ նշելու աջակցություն և տիպի ավելացում:
Բոց16, ատոմային հիշողության գործողություններ:

Ստացված հավելվածների չափերը կրճատվել են. եթե Swift 4-ում հավաքված ծրագրի չափը 2.3 անգամ ավելի մեծ էր, քան Objective-C-ի տարբերակը, ապա այժմ այդ բացը կրճատվել է մինչև 1.5 անգամ: Նոր թողարկումը նաև զգալիորեն արագացնում է շինարարության և շինարարական ծածկագրերի ավելացումը այլ գրադարաններից ներմուծված մեծ թվով հատկություններով և գործառույթներով: Բարելավվել են կոմպիլյատորում ախտորոշիչ գործիքները և սխալի հաղորդագրությունների որակը: Փաթեթների կառավարիչը հնարավորություն է տալիս փաթեթներում ներառել լրացուցիչ ռեսուրսներ, որոնք անհրաժեշտ են գործարկման ժամանակ, օրինակ՝ պատկերներ: Փաթեթի կառավարիչը նաև ավելացնում է տեղայնացման բաղադրիչների աջակցություն և պայմանական կախվածություններ սահմանելու հնարավորություն:

Հիշեցնենք, որ Swift լեզուն ժառանգում է C և Objective-C լեզուների լավագույն տարրերը և ապահովում է օբյեկտի մոդել, որը համատեղելի է Objective-C-ի հետ (Swift կոդը կարող է խառնվել C և Objective-C կոդի հետ), սակայն տարբերվում է ավտոմատի կիրառմամբ։ փոփոխականների և զանգվածների հիշողության տեղաբաշխում և վերահսկում, ինչը զգալիորեն մեծացնում է կոդի հուսալիությունն ու անվտանգությունը։ Swift-ը նաև առաջարկում է բազմաթիվ ժամանակակից ծրագրավորման տեխնիկա, ինչպիսիք են փակումները, ընդհանուր ծրագրավորումը, լամբդա արտահայտությունները, բազմակի և բառարանի տեսակները, արագ հավաքման գործողություններ և ֆունկցիոնալ ծրագրավորման տարրեր: Linux-ի տարբերակը կապված չէ Objective-C Runtime-ի հետ, որը թույլ է տալիս լեզուն օգտագործել այնպիսի միջավայրերում, որոնք չունեն Objective-C աջակցություն:

Swift-ի ներդրումը կառուցված է անվճար LLVM նախագծի տեխնոլոգիաների կիրառմամբ: Բարձր արդյունավետությունն ապահովելու համար Swift-ի ծրագրերը հավաքվում են բնիկ կոդի մեջ, որն աշխատում է 30%-ով ավելի արագ, քան Objective-C կոդը Apple-ի թեստերում: Աղբահանի փոխարեն Swift-ն օգտագործում է օբյեկտների հղման հաշվարկ: Փաթեթը ներառում է փաթեթի կառավարիչ Swift փաթեթի կառավարիչ, որը տրամադրում է գործիքներ Swift լեզվով գրադարաններով և հավելվածներով մոդուլներ և փաթեթներ բաշխելու, կախվածությունները կառավարելու, ավտոմատ բեռնման, բաղադրիչներ կառուցելու և կապելու համար:

Source: opennet.ru

Добавить комментарий