Spotify відкриває вихідний код свого інструменту «Лінійка», щоб допомогти розробникам додатків аналізувати розміри додатків

Spotify має відкритий вихідний код свого інструменту Ruler, щоб допомогти розробникам програм аналізувати розміри своїх програм. Це простий спосіб визначити великі залежності.

Встановлюючи програми в магазині Google Play, користувачі зазвичай віддають перевагу меншим розмірам програм. Це може бути через обмежений простір для зберігання чи обмежену пропускну здатність завантаження, або деякі користувачі просто віддають перевагу швидшій інсталяції. Тим не менш, у Spotify є інструмент під назвою «Лінійка», який він використовує для вимірювання та аналізу розміру своїх програм для Android, щоб з’ясувати, як їх зменшити. Тепер компанія робить цей інструмент відкритим і безкоштовним для будь-якого розробника, який хоче його використовувати.

Програми, опубліковані в магазині Google Play, тепер зазвичай завантажуються у формі Android App Bundle. Коли користувач запитує програму для встановлення, магазин Google Play створює оптимізований APK для кінцевого користувача, який встановлює програму. Лінійка імітує цей процес, щоб створити APK, який точно відповідає тому, що має отримати кінцевий користувач. Потім для кожного файлу Ruler фіксує два вимірювання:

  1. Розмір завантаження: Байти, що передаються через мережу, коли користувач завантажує програму
  2. Розмір установки: Байти, які файл займає на пристрої після встановлення програми

Тоді Ruler може просканувати за допомогою програми та знайти список файлів усередині та їх розміри. Він також може знайти всі модулі та залежності Gradle, які впливають на розмір програми. Завдяки цьому створюється другий список усіх компонентів та їхнього вмісту. Об’єднання обох списків дає змогу згрупувати всі файли програми за їх джерелом і визначити, який внесок кожного модуля та залежності в загальний розмір програми. Існують також інші методи, і варто перевірити методи компанії інженерна публікація в блозі щоб дізнатися більше.

Spotify каже, що основна програма Spotify має понад 1000 модулів Gradle і сотні залежностей від сторонніх розробників, і що за останні шість місяців Ruler допоміг зменшити розмір програми трохи більше ніж на 9%. Компанія каже, що експортує дані про розмір програми раз на день, використовуючи останню основну збірку. Він може використовувати ці дані для відстеження історичних тенденцій як програми в цілому, так і окремих модулів і залежностей третіх сторін. Також аналізується вплив кожного запиту на розмір програми, щоб розробники могли отримати попередній відгук.

Ruler повністю написаний на Kotlin, і для його використання все, що вам потрібно зробити, це застосувати плагін до вашого проекту Android і запустити одне завдання Gradle. Ви можете перевірити лінійку GitHub щоб навчитися інтегрувати його у свій проект.