Programmering

Hvad er nyt på Apples Swift 4.2-sprog

Forud for den planlagte 2019-udgivelse af Swift 5 har Apple frigivet den mellemliggende Swift 4.2-version.

Aktuel version: Hvad er nyt i Apples Swift 4.2

Version 4.2 af Apples Swift programmeringssprog bringer sproget tættere på en stabiliseret applikations binær interface (ABI) og muliggør binær kompatibilitet til fremtidige udgivelser. ABI-stabilitet muliggør binær kompatibilitet mellem biblioteker og applikationer, der er sammensat med forskellige versioner af sproget.

Selvom Apples mål er stabilitet, er Swift 4.2 ikke binær-kompatibel med tidligere udgivelser. Kildekompatibilitet leveres dog. De fleste kildekoder, der er bygget med Swift 4.0-kompilatoren, skal kompileres med både Swift 4.2- og Swift 4.1-kompilatorerne.

Andre nye funktioner i Swift 4.2 er:

  • Generiske forbedringer, forankret ved afslutningen af ​​understøttelse af betinget overensstemmelse, reducerer mængden af ​​kogepladekode og gør mere kode genanvendelig.
  • Standardbiblioteksfunktioner inkluderer forbedringer af Hashable-protokollen og et samlet sæt randomiseringsfunktioner og protokoller.
  • Batch-mode kompilering understøtter, hvilket forbedrer byggetider.
  • En ændring i opkaldskonventionen til retain / release-cyklus for at reducere kodestørrelse og forbedre ydeevnen.
  • Rekursiv understøttelse af metadata.
  • Mere kompakt reflektionsmetadata.
  • Afbøjningsargumenter indlejret på opkaldssteder.
  • Forskellige fejlrettelser, f.eks. Til nedarvning af generiske initialiseringer.
  • Det kompilator direktiv, der er syntaktisk ækvivalent med # hvis hurtig versionskontrol, men kontrollerer mod versionen af ​​compileren, uanset hvilken kompatibilitetstilstand der kører.
  • Nye Swift-pakkehåndteringsfunktioner, inklusive support til batch-tilstand, med mål, der nu er kompileret ved hjælp af denne tilstand; forbedret skema generation logik; og automatisk generering af Xcode-projekt.

Hvor downloades Swift 4.2

Du kan downloade Swift 4.2 ved at downloade Xcode 10.0 IDE fra Apple.

Andre planer for Swift 4.2 inkluderer:

  • Forbedringer af kompileringstidens ydeevne.
  • Strenge er nu 16 byte i stedet for 24 byte. Apple ser dette som en god kompromis mellem hukommelsesforbrug og ydeevne, mens den er stor nok til at udføre små strengoptimeringer.
  • API'er tilbydes til lettere generering af tilfældigt tal.
  • Det har import build-konfigurationsdirektivet udtrykker bedre hensigt ved deling af kode mellem iOS og MacOS.

Tidligere version: Hvad er nyt i Swift 4.1

Udgivet i slutningen af ​​marts 2018 tilføjer Swift 4.1 flere generiske egenskaber til sproget såvel som forbedringer af opbygningen. Version 4.1 er kildekompatibel med Swift 4.0.

Generiske relaterede forslag implementeret i 4.1-udgivelsen inkluderer betingede overensstemmelse, der udtrykker forestillingen om, at en generisk type kun vil være i overensstemmelse med en bestemt protokol, når typeargumenter opfylder specifikke krav. Denne funktion forventes at have stor indflydelse på Swift-standardbiblioteket. Andre generiske forbedringer inkluderer:

  • At få compileren til at syntetisere Tilsvarende og Hashable overensstemmelse for at reducere kedelpladen og kompleksiteten.
  • Oprettelse af standard biblioteksindeks typer Hashable.
  • Fjernelse af den tilknyttede type, Indeksafstand, fra Kollektion og ændre anvendelser til betontypen, Int, i stedet for.

Også vist i Swift 4.1 er flere måder at konfigurere builds, såsom optimering af kodestørrelse og lettere mekanismer til at målrette platform- og miljøstøtte.

Ændringer i hukommelsen i version 4.1 blev foretaget som en del af en plan for at stabilisere ABI (application binary interace) i Swift 5, som forventes sent i år. Disse ændringer under hætte inkluderer brug af et ordstørrelsesfelt i det oprindelige objektoverskrift til referenceoptælling og revision af runtime-funktioner. Desuden kollapses forskellige indsamlingsindpakninger ved brug af betinget overensstemmelse.

Swift 4.1 forbedrer Swift Package Manager. Det løser nu afhængigheder i pakkegrafer, der bruger URL-ordninger som f.eks ssh og http. Ydeevnen er også forbedret for pakkegrafer med delte afhængigheder.

4.1-opgraderingen indeholder også Swift-evolutionsforslag, herunder fjernelse af ejerskabsnøgleord, svag og ikke ejet, til ejendomserklæringer i en protokol. Dette gøres for at skabe klarhed. Desuden er strukturinitialiserere på tværs af moduler begrænset. Dette matcher en eksisterende begrænsning for klasser.

Hvor downloades Swift 4.1

Du kan downloade Swift 4.1-opgraderingen fra Swift-downloadwebsiden. Swift 4.1 er også tilgængelig med Xcode 9.3 IDE, som har en kodemigrator til at håndtere mange kildeændringer.

Tidligere version: Hvad er nyt i Swift 4.0

Swift 4.0 er en stor opgradering til Apples Swift, den tre år gamle efterfølger til Objective-C-sproget, der bruges til MacOS og iOS-applikationsudvikling.

Swift 4-opgraderingen forbedrer Swift Package Manager og giver nye kompatibilitetstilstande til udviklere. Apple sagde, at Swift 4 også gør Swift mere stabil og forbedrer sit standardbibliotek. Swift 4 er stort set kildekompatibel med Swift 3 og sendes som en del af Apples Xcode 9 IDE.

Hvad er nyt i Swift 4s pakkehåndtering

Swift Package Manager, der debuterede i Swift 3, er værktøj til distribution af kode. Det er integreret med Swift build-systemet til at automatisere processer, herunder download, kompilering og sammenkædning af afhængigheder. Forbedringer i Swift 4s pakkehåndtering inkluderer:

  • En renere pakke-API, der giver pakker mulighed for at specificere nye indstillinger. Disse indstillinger giver udviklere mere kontrol over opbygningen af ​​pakker og organisering af kilder på disken.
  • Udvikling af flere pakker i tandem er blevet lettere.
  • Formalisering af pakkeprodukter, der muliggør kontrol over hvilke biblioteker en pakke udgiver til klienter.
  • Pakkebygninger på MacOS findes nu i en sandkasse, hvilket forhindrer netværksadgang og filsystemændring for at reducere rækkevidden af ​​ondsindede manifestationer.

Nye kompatibilitetstilstande i Swift 4-hjælpemigrering

Swift 4s nye kompatibilitetstilstande kan spare dig for at skulle ændre kode for at kunne bruge den nye version af compileren. To tilstande understøttes, herunder Swift 3.2-tilstand, som accepterer de fleste kildefiler bygget med Swift 3.x-kompilatorer, og Swift 4.0-tilstand, som inkluderer Swift 4 og API-ændringer.

Apple sagde, at der er behov for en vis kildeoverflytning til mange projekter, men antallet af kildeændringer er "ret beskedne" sammenlignet med mange tidligere store ændringer mellem Swift-udgivelser. Introduktionen af ​​kompatibilitetstilstande i Swift 4 giver udviklere mere kontrol over migrationshastigheden.

Sprogforbedringer findes i overflod i Swift 4

Swift 4 introducerer flere sprogforbedringer, herunder:

  • En hurtigere og lettere at bruge Snor implementering bevarer Unicode-korrekthed og understøtter udvikling og brug af underlag.
  • Forbedret brug og styring af samlingstyper.
  • Håndhævelse af eksklusiv adgang til hukommelse, hvor potentielle ændringer af variabler skal være eksklusive med enhver anden adgang til den variabel.
  • Evne til arkivering struct og enum typer.
  • Typesikker serialisering til eksterne formater som JSON.
  • Protokolorienterede heltal, der renser heltal-API'er og gør dem mere nyttige til generisk programmering.
  • Støtte til hvor klausuler for at begrænse tilknyttede typer. Tidligere kunne tilknyttede typer kun udtrykke enkle arvebegrænsninger og ikke mere sofistikerede begrænsninger, der var tilgængelige for generiske typer med hvor klausul.
  • Inkludering af hurtigt løb kommando til at opbygge og køre en eksekverbar fil, der er defineret i den aktuelle pakke.
  • Fjernelse af endelig nøgleordssupport, når deklarerer funktioner i protokoludvidelser.
  • Forbedret interaktion mellem privat erklæringer og udvidelser med privat adgangskontrol udvidet, så medlemmer defineret i en udvidelse af en type har den samme adgang som medlemmer, der er defineret på selve typen, så længe typen og udvidelsen er i den samme kildefil.