Aplikace pro iOS jsou až 10x větší, než pro Android! Anebo je to jinak? Hlavní stránka Zprávičky Sdílejte: Libor Foltýnek Publikováno: 12.10.2024 12:00 Žádné komentáře 0 Reklama Aplikace pro Android jsou až 10x menší než stejné aplikace v AppStore Je to způsobeno tím, že každý údaj znamená něco jiného Aplikace pro Android se po instalaci výrazně zvětší Server Emerge Tools upozornil na zajímavou věc: pokud srovnáme stejnou aplikaci pro iOS a pro Android, zjistíme, že ta pro iOS je většinou mnohem větší. Klidně i 10x, a to je už opravdu velký rozdíl. Jenže, jak upozorňuje přímo i Emerge Tools, věc není tak jednoduchá, jak může na první pohled vypadat. Emerge Tools si ke srovnání vybrali aplikaci Linear. Zatímco verze pro Android ukazuje velikost 8.5 MB, verze pro iPhone 96.3 MB. Kde se vzal tak velký rozdíl? Kouzlo je v detailu, srovnáváme totiž hrušky a jablka. Aplikace Linear pro Android Aplikace Linear pro iOS Zatímco v případě AppStore je uváděná velikost, kterou zabere aplikace v zařízení po instalaci, v Obchodě Play je uváděno, kolik dat budete stahovat. Další osud staženého balíčku ale připomíná pohádku o Otesánkovi. Aplikace se přenáší v komprimovaném stavu, aby se ušetřila stahovaná data. To vidíme i v tabulce níže, že i v případě iPhone jsou stahovaná data menší, než deklarovaná v AppStore. Během instalace se aplikace překládá z úsporného kódu do předkompilovaného. Teď se dopustím hrubého zjednodušení. Aplikace se programují v nějakém programovacím jazyce. Já vyvíjím v C#, pro Android se dnes používá primárně Kotlin. Kdybychom ale zkusili spustit aplikaci přímo v programovacím jazyce, musela by se neustále za běhu překládat do binárního kódu, a to by bylo velmi pomalé (takto fungovaly interprety jazyka BASIC). Proto se před publikováním musí aplikace přeložit do formy, které už bude rozumět procesor. Aby to nebylo úplně jednoduché, v případě Androidu jsou ty překlady dva. Jeden je do dex bytekódu a před spuštěním se pak ten ještě překládá do nativního kódu, kterému už opravdu rozumí konkrétní zařízení. Je to proto, že dex bytekód je úspornější a šetří se tím místo. Pokud bychom chtěli maximální výkon (myšleno rychlost spouštění), budeme muset skladovat aplikace v nativním kódu, který je největší. Ale to je právě to jablko, které bychom měli vzít na srovnání, pokud chceme poměřovat velikosti aplikací pro Android a iOS. základní instalace plná kompilace Zde je tabulka, která srovnává velikost aplikace v jednotlivých fázích jejích života. Data jsem převzal ze serveru Emerge Tools, sám nemám potřebné nástroje a ani iPhone, abych je mohl sám získat. I po plné kompilaci je aplikace pro iPhone větší, ale už to je „jen“ 1,5x. iPhone Android Rozdíl Obchod 88,3 9,52 cca 9,5x Ke stažení 33,6 9,52 cca 3,5x Normální instalace 87,6 25,81 cca 3,5x Plná instalace 87,6 56,08 cca 1,5x Stále je ale aplikace pro iPhone větší, než pro Android. To je způsobeno mimo jiné tím, že aplikace pro iOS jsou kompilovány přímo do nativního kódu. Dalším faktorem je, že programovací jazyk, který se používá pro iOS je robustnější, což zvětšuje velikost přeloženého kódu. Posledním důvodem, který zmíníme, je, že v aplikacích pro iOS je poměrně dost kódu duplikovaného (až 17 %). Linear Linear Orbit, Inc Instalovat (Free) Google Play Poznámka: možná jste si všimli, že velikosti aplikací v jednotlivých odstavcích nesouhlasí. Je to proto, že obchod hlásí velikost pro zařízení, ze kterého tam přistupujete a stejně tak velikost instalace se může lišit pro jednotlivá zařízení. Já k testu použil Pixel 8a s Androidem 15 beta, kde byla velikost instalace menší, než u Samsung Galaxy S24 Ultra. Podstatné jsou ale rozdíly po jednotlivých krocích, ne absolutní hodnoty. Věděli jste, že aplikace po instalaci zvětší svou velikost? Zdroj: EmergeTools O autorovi Libor Foltýnek Libor Foltýnek je redaktor s rozsáhlými zkušenostmi v oblasti technologií a fotografie. Jeho práce je charakterizována důkladným výzkumem, poutavým vyprávěním a praktickými radami, které zpřístupňují… Více o autorovi Sdílejte: Žádné komentáře Vložit komentář Android aplikace Apple iPhone iOS Obchod Play Mohlo by vás zajímat Android Auto dostává první letošní aktualizaci. Co je nového? Adam Kurfürst 10.1. WhatsApp dokáže zlikvidovat paměť vašeho mobilu. Jak ho zkrotit? Jana Skálová 30.12.2024 Sláva! Samsung vylepší oblíbenou aplikaci Good Lock a umístí ji na Google Play Adam Kurfürst 3.1.