iOS 9 va reduce dramatic spatiul ocupat de catre aplicatiile instalate in iPhone, iPad si iPod Touch-uri multumita unui nou sistem conceput de catre compania Apentru dezvoltatori. Acest sistem are la baza trei componente principale, fiecare dintre ele conlucrand pentru a le permite utilizatorilor sa se bucure de mult mai mult din spatiu pe care terminalele lor il au disponibil in momentul achizitiei de la Apple.
App Thinning este denumirea sistemului conceput de catre compania Apple, el avand la baza atat noul SDK special creat pentru dezvoltatorii de aplciatii si iOS 9, iar mai jos vom vorbi despre componentele sale principale.
App Slicing. Prin App Slicing compania Apple le permite dezvoltatorilor sa-si imparta elementele aplicatiilor pe tipuri de iPhone, iPad sau iPod Touch-uri, astfel incat atunci cand utilizatorii descarca aplicatia sa descarce doar continutul necesar terminalului lor.
O aplicatie universala are elemente pentru multiple modele de iPhone sau iPad, insa pe terminalul vostru sunt necesare doar unele dintre ele, astfel ca prin App Slicing atunci cand veti descarca aplicatia vor fi descarcate doar elementele care sunt necesare pentru rularea pe terminalul vostru.
Aceasta metoda poate reduce cu pana la o treime spatiul ocupat de aplicatii, iar daca ne gandim la jocuri complexe, spatiul ocupat de catre acestea poate fi redus la cateva sute de MB de la cativa GB.
Say you have an iPhone 5C, which uses a 32-bit CPU and a GPU that doesn’t support the Metal API. Download a modern universal game, and that binary includes 64-bit code, iPad and “3x” iPhone 6 Plus assets, and Metal API code that it doesn’t need. It only needs the 32-bit code, “2x” iPhone-sized assets, and the OpenGL graphics code.
App Slicing trebuie teoretic facut de catre dezvoltatorii ce vor trebui sa aplice tag-uri elementelor aplicatiei pentru a le diferentia pe cele necesare pentru anumite modele de iDevice-uri, insa Apple este capabila sa faca acest lucru si singura.
On-Demand Resources (ODR). Aceasta functie este gandita pentru a reduce marimea aplicatiilor prin descarcarea doar a unui anumit tip de continut necesar imediat pentru rularea titlului, lasand alt continut pentru descarcare ulterioara, la nevoie.
Mai exact, sa spunem ca instalati un joc in care exista multiple niveluri ce trebuie parcurse. In momentul descarcarii din App Store veti avea doar aplicatia cu elementele sale necesare pentru terminalul vostru, dar si primele niveluri, urmand ca cele urmatoare sa fie descarcate ulterior pe masura ce avansati in joc, cele vechi fiind sterse concomitent cu descarcarea celor noi.
Bitcode. In final ajungem la Bitcode, aceasta functie obligandu-i pe dezvoltatorii de aplicatii sa incarce in App Store doar o forma preliminara, necompilata, a aplicatiei, compania Apple compiland-o inainte ca noi sa o descarcam, optimizand-o in acelasi timp.
Optimizarea presupune si diferentierea resurselor pentru fiecare tip de dispozitiv in parte, dar si eficientizarea modului in care este rulat codul pentru a-l face mai eficient si a oferi o experienta de utilizare mai buna.
Desi vor exista probleme pentru cei care nu stau foarte mult pe internet in timp ce se joaca, pe rotal, vorbim despre GB intregi de spatiu salvat de catre sistemul App Thinning al Apple.