Ontwikkelaars kunnen sinds iOS 9 app thinning inzetten. Deze reeks technieken zorgt ervoor dat apps sneller downloaden en minder opslagruimte innemen. We laten zien hoe het precies werkt.
Lees verder na de advertentie.
Bij het installeren van grote apps ben je soms gedwongen om andere apps of bestanden van je telefoon te verwijderen, omdat het interne geheugen vol is. Vooral iPhone-gebruikers met 8 of 16GB aan opslagruimte lopen snel tegen beperkingen aan. Hoewel Apple van mening is dat je dit grotendeels kan ondervangen door iCloud te gebruiken, introduceert het met app thinning een methode op apps kleiner te maken.
App thinning is de verzamelnaam voor een drietal technieken: app slicing (iOS), on-demand resources (iOS) en bitcode (iOS en watchOS). In de basis maakt de technologie het mogelijk voor de App Store en iOS om apps te optimaliseren voor de door jou gebruikte iPhone, iPad, Apple Watch, Apple TV of iPod Touch. Met app thinning onderkent Apple het probleem dat komt kijken bij de steeds groter wordende apps: meer dataverbruik bij het downloaden en de steeds krapper wordende opslagruimte.
App slicing: wat is het?
App slicing is een techniek die interessant is wanneer je een iPhone of iPad gebruikt met iOS 9.0.2. Langzaam maar zeker worden er meer apps beschikbaar die gebruikmaken van deze nieuwe technologie die de app-grootte verkleint bij het downloaden uit de App Store.
Een app bestaat uit een pakket van verschillende onderdelen bedoeld voor verschillende apparaten, waaronder ondersteuning voor verschillende interfaces, bitcodes, werkgeheugens en grafische processors. Veel apps zijn nu nog universeel, waardoor ze op alle iOS-apparaten geïnstalleerd en gebruikt kunnen worden. Gebruik je een iPhone 5S, dan heb je echter niet de bestanden nodig die zijn bedoeld voor de hogere resolutie op de iPhone 6(S) of de bredere interface van de iPad Air 2. De data komt echter nog wel mee met de download, waardoor deze meer data kost en meer ruimte inneemt op je toestel.
Zo werkt app slicing
De App Store creëert door middel van app slicing varianten van een app-pakket voor de verschillende softwaresystemen waarvoor de app geschikt is gemaakt. Hierdoor krijg je bij het downloaden alleen de benodigde data binnen die nodig is voor het apparaat, wat het downloaden sneller maakt, het dataverbruik vermindert en meer opslagruimte vrijlaat.
App slicing maakt apps beduidend kleiner
App-ontwikkelaars hoeven hiervoor overigens weinig te doen. Ze uploaden de universele app naar de App Store en die maakt de juiste variant aan voor het doelapparaat. Wel wordt aan ontwikkelaars gevraagd om catalogi te maken voor het verkleinen van de benodigde data en aan te geven welke nodig is voor welk apparaat. Hoe beter de ontwikkelaar zijn app heeft georganiseerd, des te beter app slicing werkt. Volgens Apple kan er 20 tot 40 procent opslag bespaard worden.
Dit doen on-demand resources
De tweede methode van app thinning maakt gebruik van on-demand resources. Die zijn beschikbaar vanaf iOS 9 of hoger en laten het toe om alleen de content te downloaden die is benodigd om een app te kunnen opstarten en de eerste handelingen uit te voeren.
Deze on-demand resources bestaan uit de content van een app, bijvoorbeeld afbeeldingen, pictogrammen of geluiden, die door middel van een trefwoord aangeduid kunnen worden en zo per groep opslagen wordt. Deze content kan dan ook weer per trefwoord in groepen gedownload worden. Deze content wordt bewaard op de Apple-servers totdat de download benodigd is.
Zo kan bijvoorbeeld een game onderverdeeld worden in verschillende groepen levels. Een volgende groep levels zal pas gedownload worden als de App Store het seintje krijgt dat je deze levels binnenkort bereikt. Een ander voorbeeld zijn de bronnen voor de content van in-app aankopen. Deze worden alleen gedownload wanneer je daadwerkelijk een aankoop doet in de app. Allemaal ‘on demand’ dus.
Dit merk jij van on-demand resources
Dat is echter niet het enige voordeel van on-demand resources. Wanneer je opslagruimte lager wordt, verwijdert iOS de bronnen om zo ruimte vrij te maken. Het nieuwe komt erin en het oude gaat eruit. Als gebruiker zul je weinig meekrijgen van deze manier van app thinning aangezien het on demand bronnen voor de app aanlevert zonder dat jij daar iets voor hoeft te doen.
App-data wordt on demand gedownload
Wat je wel merkt is dat het minder tijd kost om een app te downloaden, omdat deze tot de kleinst mogelijke versie verkleind wordt. Daarnaast nemen apps tot 50 procent minder opslagruimte in, omdat alleen het nodige wordt bewaard. Kleine kanttekening is dat de App Store bepaalt wat jij wel en niet nodig hebt. Hier heb je zelf geen invloed op.
On-demand resources voor Apple TV
On-demand resources werken ook voor de Apple TV. App-pakketten mogen maximaal 200MB groot zijn wanneer ze worden gedownload vanuit de App Store en dat klinkt als weinig, zeker als je nagaat dat veel apps voor de settopbox games danwel streaming en offline content betreffen. 200MB is echter alleen het downloadlimiet voor het installatiepakket. Nadat je de app hebt geïnstalleerd en ermee aan de gang gaat, zal de Apple TV App Store op basis van jouw behoeftes via on-demand resources nog eens tot 2GB per app kunnen downloaden.
Zo optimaliseert Bitcode apps
Bovenstaande twee methodes werken voor apps die geschikt zijn voor iOS 9. App thinning bevat nog een derde methode die ook geldt voor lagere versies van iOS en apps minder ruimte en data laat verbruiken. Deze methode werkt via Bitcode; een versleuteling van de instructies voor een apparaat die virtueel worden uitgevoerd.
Bitcode kan apps optimaliseren en verkleinen
Apps die bitcode bevatten en worden geupload naar iTunes Connect worden gecompileerd en gekoppeld aan de App Store. Wanneer een app inefficiënt is geschreven zal de bitcode-optimalisatie in de App Store deze herschrijven, wat de app weer kleiner maakt. Daarnaast kan Apple door de toevoeging van bitcode de app ook in de toekomst blijven optimaliseren zonder dat er een nieuwe versie van de app toegevoegd hoeft te worden.
32- en 64-bit
Er wordt door Apple een 32-bit en een 64-bitcode onderscheiden, respectievelijk voor de iPhone 4S en voor iPhone 5S en nieuwer. Eerder was het niet mogelijk om alleen 64-bitcode te gebruiken, maar Apple laat ontwikkelaars nu vrij om te bepalen of ze apps willen voorzien van de 32-bitcode om de app ook geschikt te maken voor oudere toestellen.
Apps die alleen beschikken over de 64-bitcode kunnen gebruikt worden op een iPhone 5S, iPad Air, iPad mini 2, iPod touch 6 en nieuwer. Bitcode is al verplicht voor watchOS-apps, aangezien Apple Watches weinig opslagruimte beschikbaar hebben voor apps. Voor iOS is het nog niet verplicht, maar is het voor ontwikkelaars wel mogelijk om bitcode toe te voegen.