Swift 5 lässt Apps schrumpfen

| 7:01 Uhr | 0 Kommentare

Wie 9to5Mac berichtet, stehen mit Swift 5 einige Verbesserungen an. Besonders interessant ist hierbei, dass ab iOS 12.2 und macOS 10.14.4 für Apps nicht mehr die zugehörigen Swift-Bibliotheken heruntergeladen werden müssen, was die Download-Größe reduziert.

Kleinere Apps dank Swift 5

Ein Aspekt von Apples Programmiersprache Swift ist, dass sich das Application Binary Interface (ABI) zwischen den einzelnen Swift-Versionen deutlich unterscheidet. Dies führt in der Praxis dazu, dass Apple die zugehörigen Sprachbibliotheken nicht in seine Betriebssysteme integriert, da beispielsweise eine mit Swift 3 geschriebene App nicht mit den Binärdateien für Swift 4 funktioniert. Die Lösung dafür besteht darin, die Swift-Sprachbibliotheken in das App-Paket aufzunehmen, was den Speicherbedarf der App erhöht.

Nun will Apple das ABI für zukünftige Swift-Versionen „stabiler“ halten. Im Zuge dessen werden ab iOS 12.2, tvOS 12.2, watchOS 5.2 und macOS 10.14.4 die Bibliotheken von Swift 5 ein fester Bestandteil der Betriebssysteme sein. Somit werden Apps, die mit Swift 5 programmiert wurden, für Nutzer der aktuellen Betriebssysteme kleiner werden, da die Bibliotheken nicht mehr im App-Paket benötigt werden.

Genau genommen sind die Swift-Runtime-Bibliotheken immer noch ein Bestandteil des App-Pakets, da ältere OS-Versionen ansonsten nicht mehr die neuen Apps ausführen könnten. Der App Store erkennt jedoch, ob dem Betriebssystem die Bibliotheken vorliegen und entfernt vor dem Download den Programmteil, der nicht benötigt wird.

Neben der kleineren Dateigröße macht sich die Neuerung auch mit schnelleren Startzeiten bemerkbar, da mit jeder dynamischen Bibliothek, die von einer App verwendet wird, ihre Startzeit leicht erhöht wird. Mit dem Betriebssystem mitgelieferte Bibliotheken werden jedoch im Speicher zwischengespeichert und von allen Anwendungen gemeinsam genutzt.

Kategorie: App Store

Tags:

0 Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert