Programmering

Hva er nytt på Apples Swift 4.2-språk

I forkant av den planlagte utgivelsen av Swift 5 i 2019, har Apple gitt ut den mellomliggende Swift 4.2-versjonen.

Gjeldende versjon: Hva er nytt i Apples Swift 4.2

Versjon 4.2 av Apples Swift programmeringsspråk bringer språket nærmere et stabilisert applikasjons binært grensesnitt (ABI) og muliggjør binær kompatibilitet for fremtidige utgivelser. ABI-stabilitet muliggjør binær kompatibilitet mellom biblioteker og applikasjoner samlet med forskjellige versjoner av språket.

Selv om Apples mål er stabilitet, er ikke Swift 4.2 binærkompatibel med tidligere utgivelser. Kildekompatibilitet er imidlertid gitt. De fleste kildekoder som er bygget med Swift 4.0-kompilatoren, skal kompileres med både Swift 4.2 og Swift 4.1-kompilatorene.

Andre nye funksjoner i Swift 4.2 er:

  • Generiske forbedringer, forankret av ferdigstillelse av betinget konformitetsstøtte, redusert mengde kjelekode og gjør mer kode gjenbrukbar.
  • Standardbiblioteksfunksjoner inkluderer forbedringer av Hashable-protokollen og et enhetlig sett med randomiseringsfunksjoner og protokoller.
  • Batch-mode kompileringsstøtte, som forbedrer byggetider.
  • En endring i anropskonvensjonen for retain / release-syklusen, for å redusere kodestørrelsen og forbedre ytelsen.
  • Rekursiv metadatastøtte.
  • Mer kompakte refleksjonsmetadata.
  • Avbøyningsargumenter er innrammet på anropssider.
  • Ulike feilrettinger, for eksempel for arv av generiske initialiserere.
  • De kompilator direktiv som er syntaktisk ekvivalent med # hvis raskt versjonskontroll, men sjekker mot versjonen av kompilatoren, uavhengig av hvilken kompatibilitetsmodus som kjører.
  • Nye Swift-pakkehåndteringsfunksjoner, inkludert støtte for batch-modus, med mål som nå er samlet med denne modusen; forbedret ordning generering logikk; og automatisk generering av Xcode-prosjekter.

Hvor laster du ned Swift 4.2

Du kan laste ned Swift 4.2 ved å laste ned Xcode 10.0 IDE fra Apple.

Andre planer for Swift 4.2 inkluderer:

  • Forbedringer av kompileringstid ytelse.
  • Strenger er nå 16 byte i stedet for 24 byte. Apple ser på dette som en god avveining mellom minnebruk og ytelse, samtidig som den er stor nok til å gjøre små strengoptimaliseringer.
  • API-er tilbys for enklere generering av tilfeldige tall.
  • De har import bygge konfigurasjonsdirektivet uttrykker bedre hensikt når du deler kode mellom iOS og MacOS.

Forrige versjon: Hva er nytt i Swift 4.1

Swift 4.1 ble utgitt i slutten av mars 2018 og tilfører språket flere generiske samt forbedringer. Versjon 4.1 er kildekompatibel med Swift 4.0.

Generiske relaterte forslag implementert i 4.1-versjonen inkluderer betingede samsvar, og uttrykker forestillingen om at en generisk type bare vil være i samsvar med en bestemt protokoll når typeargumenter oppfyller spesifikke krav. Denne funksjonen forventes å ha stor innvirkning på Swift-standardbiblioteket. Andre generiske forbedringer inkluderer:

  • Å ha kompilatoren syntetisert Lignende og Hashable samsvar, for å redusere kokeplaten og kompleksiteten.
  • Lage standard biblioteket indeks typer Hashable.
  • Eliminering av tilhørende type, Indeksavstand, fra Samling og modifisere bruksområder til betongtypen, Int, i stedet.

Også omtalt i Swift 4.1 er flere måter å konfigurere builds på, for eksempel optimalisering av kodestørrelse og enklere mekanismer for å målrette plattform- og miljøstøtte.

Endringer under panseret i versjon 4.1 ble gjort som en del av en plan for å stabilisere ABI (application binary interace) i Swift 5, som forfaller sent i år. Disse endringene inkluderer bruk av et ordstørrelsesfelt i den opprinnelige objektoverskriften for referansetelling og revisjon av kjøretidsfunksjoner. Dessuten kollapses forskjellige samleinnpakninger ved bruk av betinget samsvar.

Swift 4.1 forbedrer Swift Package Manager. Det løser nå avhengigheter i pakkediagrammer som bruker URL-ordninger som f.eks ssh og http. Ytelsen er også forbedret for pakkediagrammer med delte avhengigheter.

4.1-oppgraderingen inneholder også Swift evolusjonsforslag, inkludert fjerning av eierskapssøkeord, svak og ikke eid, for eiendomserklæringer i en protokoll. Dette gjøres for klarhetens skyld. Også initialisering av moduler over flere moduler blir begrenset. Dette samsvarer med en eksisterende begrensning for klasser.

Hvor laster du ned Swift 4.1

Du kan laste ned Swift 4.1-oppgraderingen fra Swift-nedlastingssiden. Swift 4.1 er også tilgjengelig med Xcode 9.3 IDE, som har en kodemigrator for å håndtere mange kildeendringer.

Forrige versjon: Hva er nytt i Swift 4.0

Swift 4.0 er en stor oppgradering til Apples Swift, den tre år gamle etterfølgeren til Objective-C-språket som brukes til MacOS og iOS-applikasjonsutvikling.

Swift 4-oppgraderingen forbedrer Swift Package Manager og gir nye kompatibilitetsmodi for utviklere. Apple sa at Swift 4 også gjør Swift mer stabil og forbedrer standardbiblioteket. Swift 4 er stort sett kildekompatibel med Swift 3 og sendes som en del av Apples Xcode 9 IDE.

Hva er nytt i Swift 4s pakkeleder

Swift Package Manager, som debuterte i Swift 3, er verktøy for distribusjon av kode. Det er integrert med Swift-byggesystemet for å automatisere prosesser, inkludert nedlasting, kompilering og kobling av avhengigheter. Forbedringer i Swift 4s pakkebehandling inkluderer:

  • Et renere pakke-API som gjør at pakker kan spesifisere nye innstillinger. Disse innstillingene gir utviklere mer kontroll over bygging av pakker og organisering av kilder på disk.
  • Utvikling av flere pakker sammen er blitt enklere.
  • Formalisering av pakkeprodukter, som muliggjør kontroll over hvilke biblioteker en pakke publiserer for klienter.
  • Pakkebygg på MacOS forekommer nå i en sandkasse, og forhindrer nettverkstilgang og modifisering av filsystemer for å redusere rekkevidden til ondsinnede manifestasjoner.

Nye kompatibilitetsmodi i Swift 4 hjelper migrering

Swift 4s nye kompatibilitetsmodi kan spare deg for å måtte endre kode for å kunne bruke den nye versjonen av kompilatoren. To moduser støttes, inkludert Swift 3.2-modus, som godtar de fleste kildefiler bygget med Swift 3.x-kompilatorer, og Swift 4.0-modus, som inkluderer Swift 4 og API-endringer.

Apple sa at det vil være nødvendig med en del kildemigrering for mange prosjekter, men antall kildeendringer er "ganske beskjedne" sammenlignet med mange tidligere store endringer mellom Swift-utgivelser. Innføringen av kompatibilitetsmodusene i Swift 4 gir utviklere mer kontroll over migrasjonstempoet.

Språkforbedringer florerer i Swift 4

Swift 4 introduserer flere språkforbedringer, inkludert:

  • En raskere og enklere å bruke String implementering som beholder Unicode-korrekthet og støtter utvikling og bruk av underlag.
  • Forbedret bruk og styring av samlingstyper.
  • Håndhevelse av eksklusiv tilgang til minne, der potensielle modifikasjoner av variabler må være eksklusive med annen tilgang til variabelen.
  • Evne til å arkivere struct og enum typer.
  • Typesikker serialisering til eksterne formater som JSON.
  • Protokollorienterte heltall, som rydder opp Integer APIer og gjør dem mer nyttige for generisk programmering.
  • Støtte av hvor klausuler for å begrense tilknyttede typer. Tidligere kunne tilknyttede typer bare uttrykke enkle arvebegrensninger og ikke mer sofistikerte begrensninger tilgjengelig for generiske typer med hvor klausul.
  • Inkludering av raskt løp kommando for å bygge og kjøre en kjørbar fil definert i gjeldende pakke.
  • Fjerning av endelig nøkkelordstøtte når deklarerer funksjoner i protokollutvidelser.
  • Forbedret samhandling mellom privat erklæringer og utvidelser, med privat tilgangskontroll utvidet slik at medlemmer som er definert i en utvidelse av en type, har samme tilgang som medlemmer som er definert på selve typen, så lenge typen og utvidelsen er i samme kildefil.
$config[zx-auto] not found$config[zx-overlay] not found