Как размер APK зависит от метода разработки приложения

Как размер APK зависит от метода разработки приложения

❤ 358 , Категория: Новости IT,   ⚑ 17 Мар 2018г


Существует много способов создать мобильное приложение – есть нативная разработка на платформе (с использованием Java и Kotlin для Android, Obj-C и Swift для iOS), а также React Native от Facebook, Electrode Native от Walmart, фреймворк Ionic, подходящий для определенных типов приложений Unity и Flatter, который был недавно выпущен Google.

Вы когда-нибудь задавались вопросом, как эти библиотеки и фреймворки влияют на размер вашего приложения? Давайте проанализируем размер APK приложений, созданные при помощи разных фреймворков. Приложения будут содержать только заголовок сверху и текст в центре экрана. Это необходимый минимум для создания APK.

  • Для этого теста я создал четыре разные версии приложения в Java, Kotlin, React Native и Flutter (Android API 27).
  • Затем APK были опубликованы при помощи Android Studio для Java и Kotlin и с помощью cli для React Native и Flutter.
  • По умолчанию использовалась конфигурация proguard.
  • APK-файлы были проанализированы с использованием функции Analyze APK в Android Studio.

Java (539 КБ)

Начнем с самого простого — Java. Как и следовало ожидать, этот файл стал самым маленьким по размеру, так как мы используем только Java и платформу Android для создания этого приложения. Единственной зависимостью здесь является Android Support Library, которая занимает довольно много места.

Мы могли бы снизить размер приложения, удалив эту зависимость и используя Activity вместо AppCompatActivity.

Kotlin (550 КБ)

Если вы долгое время программировали на Java, Kotlin — это глоток свежего воздуха. APK  приложения на Kotlin содержит все, что мы видели в APK Java, а также небольшую часть синтаксической информации Kotlin.

Читайте также:  Astell&Kern AK300 будет младшей моделью в новой серии Hi-Fi-плееров

React Native (7 МБ)

Если вы пришли из веб-разработки и хотите сделать большую часть приложения на JavaScript, ваш вариант — это React Native. Фреймворк также полезен, если вы хотите быстрее проводить итерации без релиза приложения при каждом небольшом изменении.

В пакете, созданном React Native, есть несколько классов в файле classes.dex, которые имеют 12,193 методов для этого конкретного приложения.

Он также добавляет некоторые собственные зависимости в каталоге lib для x86 и armeabi-v7a. В общей сложности React Native добавляет около 6.4 МБ зависимостей.

Flutter.io (7,5 МБ)

Приложение, созданное cli Flatter, содержит движок C/C ++ и Dart VM, которые занимают почти весь APK. Приложение напрямую запускается с использованием набора собственных команд и не задействует интерпретатор.

Выводы

Каждый способ написания приложения имеет свои плюсы и минусы. Вам нужно выбрать метод, который наиболее подходит для вашего случая и для вашей компании. Вы также можете смешивать и сопоставлять некоторые из этих фреймворков, чтобы создавать разные части приложения.

Например, если вы экспериментируете над чем-то, создайте этот компонент в React Native. Если вы хотите поделиться кодом между iOS и Android-приложением, поопробуйте React Native или Flutter.io, а если вы фокусируетесь только на Android и хотите сохранить минимальный размер приложения, вы можете использовать Java или Kotlin.

Оставить отзыв

Ваш адрес email не будет опубликован. Обязательные поля помечены *

*
*

top