Modern
A Swift a programozási nyelvekkel kapcsolatos legújabb kutatások eredménye, több évtizedes tapasztalattal kombinálva az Apple platformokon. A megnevezett paramétereket tiszta szintaxissal fejezzük ki, amely még könnyebben olvasható és karbantarthatóvá teszi a Swift API-kat. Még jobb, hogy nem is kell pontosvesszőket gépelni. A következtetett típusok tisztábbá és kevésbé hajlamossá teszik a kódot, míg a modulok kiküszöbölik a fejléceket és névtereket biztosítanak. A nemzetközi nyelvek és hangulatjelek legjobb támogatása érdekében a karakterláncok Unicode-korrektek, és UTF-8 alapú kódolást használnak a teljesítmény optimalizálására sokféle felhasználási esetre. A memória kezelése automatikusan történik a szoros, determinisztikus referenciaszámlálás segítségével, a memóriahasználat minimálisra csökkentése a szemétszállítás költségei nélkül.
Új típusok deklarálása modern, egyszerű szintaxis. Adjon meg alapértelmezett értékeket a tulajdonságokhoz, és definiálja az egyéni inicializálókat.
Adjon hozzá funkciókat a meglévő típusokhoz kiterjesztésekkel, és vágja le a kazántáblát egyedi karakterlánc-interpolációkkal.
Gyorsan bővítse ki az egyéni típusokat az erőteljes nyelvi funkciók előnyei, például az automatikus JSON kódolás és dekódolás.
Hajtson végre hatékony egyéni átalakításokat egyszerűsített bezárásokkal.
Ezek az előre gondolkodó koncepciók szórakoztató és könnyű nyelvet eredményeznek használható.
A Swift számos más funkcióval rendelkezik, amelyek kifejezőbbé teszik a kódot:
- hatékony és egyszerűen használható generikusok
- olyan protokollbővítmények, amelyek még egyszerűbbé teszi az általános kód írását
- Első osztályú funkciók és könnyű zárási szintaxis
- Gyors és tömör iteráció egy tartományon vagy gyűjteményen át
- Szalagok és több visszatérési érték
- Metódusokat, kiterjesztéseket és protokollokat támogató struktúrák
- Az Enums hasznos terhelést és támogatási mintát tartalmazhat
- Funkcionális programozási minták, pl. térkép és szűrés
- Natív hibakezelés a try / catch / dob segítségével
Biztonságra tervezték
A Swift kiküszöböli a nem biztonságos kód teljes osztályait. A változókat mindig inicializáljuk a használat előtt, a tömböket és az egész számokat ellenőrizzük a túlcsordulás szempontjából, a memóriát automatikusan kezeljük, és a memóriavédőkhöz való kizárólagos hozzáférés kikényszerítése számos programozási hiba ellen. A szintaxis úgy van beállítva, hogy megkönnyítse a szándék meghatározását – például az egyszerű három karakterből álló kulcsszavak meghatároznak egy változót (var) vagy konstansot (let). A Swift pedig nagymértékben kihasználja az értéktípusokat, különösen az olyan gyakran használt típusok esetében, mint a tömbök és szótárak. Ez azt jelenti, hogy amikor valamiről másolatot készít az adott típussal, akkor tudja, hogy azt máshol nem módosítják.
Egy másik biztonsági funkció az, hogy a Swift objektumok alapértelmezés szerint soha nem lehetnek nullák. Valójában a Swift fordító megakadályozza, hogy fordítási időbeli hibával nulla objektumot készítsen vagy használjon. Ez sokkal tisztábbá és biztonságosabbá teszi a kódírást, és megakadályozza, hogy a futási idő hatalmas kategóriája összeomoljon az alkalmazásaiban. Vannak azonban olyan esetek, amikor a nulla érvényes és megfelelő. Ezekben a helyzetekben a Swift rendelkezik egy innovatív funkcióval, amelyet opcionálisnak neveznek. Egy opcionális tartalmazhat nullát, de a Swift szintaxis arra kényszeríti, hogy biztonságosan kezelje a? szintaxis annak jelzésére a fordító számára, hogy megérti a viselkedést és biztonságosan kezeli azt.
Használja az opciókat, ha előfordulhat, hogy van egy példánya a függvényhez való visszatérésre, vagy nem.
Szolgáltatások mint például az opcionális kötés, az opcionális láncolás és a nulla összefogás, biztonságosan és hatékonyan dolgozhat az opcionális értékekkel.
Gyors és hatékony
A Swift a legkorábbi elképzelésektől fogva gyorsnak készült. A hihetetlenül nagy teljesítményű LLVM fordító technológia segítségével a Swift kódot optimalizált natív kódokká alakítják, amely a legtöbbet hozza ki a modern hardverből. A szintaxist és a szabványos könyvtárat úgy is beállítottuk, hogy a kód írásának legkézenfekvőbb módja a legjobban teljesítsen, függetlenül attól, hogy a csuklóján lévő órában fut, vagy a kiszolgálófürtön keresztül.
A Swift utódja mind a C, mind az Objective-C nyelvekre. Alacsony szintű primitíveket tartalmaz, például típusokat, áramlásszabályozást és operátorokat. Objektum-orientált szolgáltatásokat is kínál, mint például osztályok, protokollok és generikumok, így a Cocoa és a Cocoa Touch fejlesztők az általuk igényelt teljesítményt és hatalmat biztosítják.
Nagyszerű első nyelv
A Swift ajtókat nyithat a kódolás világába. Valójában azt tervezték, hogy bárki legyen az első programozási nyelv, függetlenül attól, hogy még iskolában jár, vagy új karrierutakat keres. Az oktatók számára az Apple ingyenes tantervet hozott létre, hogy Swiftet tanítsa az osztályteremben és kívül is. Az első kódolók letölthetik a Swift Playgrounds alkalmazást – egy iPad alkalmazást, amely interaktívvá és szórakoztatóvá teszi a Swift kód használatának megkezdését.
A törekvő alkalmazásfejlesztők ingyenes tanfolyamokhoz férhetnek hozzá, hogy megtanulják első alkalmazásaikat Xcode-ban felépíteni.Az Apple üzletek pedig világszerte az Apple Coding & alkalmazások munkameneteinek otthont adnak, ahol gyakorlati tapasztalatokat szerezhetnek a Swift kóddal.
További információ a Swift oktatási erőforrásairól. az Apple-től
Forrás és bináris kompatibilitás
A Swift 5 használatával a fordító új verziójának használatához nem kell módosítania a Swift 4 kódját. Ehelyett elkezdheti használni az új fordítót, és saját tempójában migrálhat, kihasználva az új Swift 5 funkciók előnyeit, egy-egy modult. És a Swift 5 most bemutatja az alkalmazások bináris kompatibilitását. Ez azt jelenti, hogy többé nem kell a Swift könyvtárakat belefoglalnia olyan alkalmazásokba, amelyek a jelenlegi és a jövőbeli OS kiadásokat célozzák meg, mert a Swift könyvtárak a jövőben minden operációs rendszer kiadásban szerepelnek. Az alkalmazásai kihasználják a könyvtár legújabb verzióját az operációs rendszerben, és a kód továbbra is futni fog újrafordítás nélkül. Ez nem csak egyszerűbbé teszi alkalmazásának fejlesztését, hanem csökkenti az alkalmazás méretét és annak indítási idejét is.
Nyílt forráskód
A Swiftet a Swift a nyílt környezetben fejlesztette ki. org, forráskóddal, hibakeresővel, fórumokkal és rendszeres fejlesztési verziókkal mindenki számára elérhető. Ez a széles fejlesztői közösség, mind az Apple-n belül, mind pedig több száz külső közreműködő mellett, együtt dolgozik azért, hogy a Swift még csodálatosabbá váljon. Még szélesebb körben léteznek olyan blogok, podcastok, konferenciák és találkozók, ahol a közösség fejlesztői megosztják tapasztalataikat arról, hogyan lehet kiaknázni Swift nagy lehetőségeit.
Cross Platform
A Swift már támogat minden Apple platformok és Linux, a közösség tagjai aktívan dolgoznak azon, hogy még több platformra portáljanak. A SourceKit-LSP segítségével a közösség azon is dolgozik, hogy a Swift támogatást beépítse a fejlesztői eszközök sokféle változatába. Izgatottan várjuk, hogy a Swift további módon teheti biztonságosabbá és gyorsabbá a szoftvert, miközben szórakoztatóbbá teszi a programozást.
Swift for Server
Míg a Swift számos új alkalmazást működtet az Apple platformjain , a modern szerveralkalmazások új osztályához is használják. A Swift tökéletes olyan szerveralkalmazásokban való használatra, amelyek futásidejű biztonságot, összeállított teljesítményt és kis memóriaterületet igényelnek. A Swift irányításának irányítása a szerveralkalmazások fejlesztése és telepítése érdekében a közösség megalakította a Swift Server munkacsoportot. Ennek az erőfeszítésnek az első terméke a SwiftNIO, egy platformon átívelő, aszinkron eseményvezérelt hálózati alkalmazás keretrendszer a nagy teljesítményű protokollkiszolgálók és kliensek számára. Alapul szolgál további szerver-orientált eszközök és technológiák kiépítéséhez, ideértve a naplózást, a metrikákat és az adatbázis-illesztőprogramokat, amelyek mind aktív fejlesztés alatt állnak.
További információ a nyílt forráskódú Swift közösségről és a Swift Server munkájáról. látogasson el a Swift.org oldalra.
Játszóterek és Read-Eval-Print-Loop (REPL)
Hasonlóan a Swift Playgrounds for iPad-hez, az Xcode-os játszóterek is Swift-kódot írnak hihetetlenül egyszerű és szórakoztató. Írjon be egy sort a kódból, és az eredmény azonnal megjelenik. Ezután gyorsan megnézheti az eredményt a kód oldalán, vagy rögzítheti közvetlenül az eredményt. Az eredmény nézet grafikákat, eredménylistákat vagy egy idő grafikonját jelenítheti meg. Megnyithatja az Idővonal-asszisztenst egy összetett nézet fejlődésének és animációjának megtekintéséhez, amely kiválóan alkalmas új felhasználói felület kódolásához, vagy animált SpriteKit jelenetet játszhat le a kódolás közben. Ha tökéletesítette kódját a játszótéren, egyszerűen helyezze át a kódot a projektjébe. A Swift akkor is interaktív, ha a Terminálban vagy az Xcode LLDB hibakereső konzolján használja. Használja a Swift szintaxist a futó alkalmazás kiértékeléséhez és az azzal való interakcióhoz, vagy írjon új kódot, hogy lássa, hogyan működik egy szkriptszerű környezetben.
Csomagkezelő
A Swift Csomagkezelő egyetlen cross-platform eszköz a Swift könyvtárak és futtatható fájlok felépítéséhez, futtatásához, teszteléséhez és csomagolásához. A Swift csomagok a legjobb módja a könyvtárak és a forráskód terjesztésének a Swift közösség számára. A csomagok konfigurálása magában a Swift-ben van megírva, megkönnyítve ezzel a célok konfigurálását, a termékek deklarálását és a csomagfüggőségek kezelését. A Swift 5 újdonságaként a swift run parancs mostantól lehetővé teszi a könyvtárak importálását a REPL-ben anélkül, hogy futtatandó fájlt kellene létrehoznia. Maga a Swift Package Manager tulajdonképpen a Swift alkalmazással épül fel, és csomagként szerepel a Swift nyílt forráskódú projektben.
C-objektív-interoperabilitás
A Swift segítségével ma teljesen új alkalmazást hozhat létre, vagy kezdje el használni a Swift kódot új funkciók és funkcionalitások alkalmazásában. A Swift kód létezik a meglévő Objective-C fájlok mellett ugyanabban a projektben, teljes hozzáféréssel az Objective-C API-hoz, megkönnyítve annak átvételét.