Блог

Почему iOS-приложения на Swift 5 станут легче и быстрее

Новости от Apple. Как оценить преимущества пятой версии Swift уже сейчас?
12 февраля 20192 минуты1213

Swift существует, чтобы упрощать создание софта для устройств Apple. Тем удивительнее, что до сих пор iOS и другие «яблочные» операционные системы не имели библиотек Swift в своем составе. Стандартные функции языка разработчику приходилось включать в приложение. Пользователь дольше скачивал программу и тратил на нее больше дискового пространства. Написанная на Swift 3 программа не работала с откомпилированными модулями Swift 4. Это называют отсутствием обратной совместимости. Мелочь, а неприятно.

Стандартные библиотеки Swift не были «родными» для ОС — она воспринимала их как файлы пользователя и не спешила подгружать при запуске программ. Это влияло на скорость загрузки софта. Загрузка динамических библиотек Swift занимала 95 % времени от запуска приложения до начала выполнения кода.

В новой версии языка Apple устранила недочеты, чтобы разработчикам было проще оптимизировать приложения.

Swift 5 обеспечивает бинарную совместимость. Это значит, что написанные на нем программы смогут без перекомпиляции работать с будущими версиями языка и в последующих релизах ОС от Apple. Кроме того, больше не нужно включать в программу стандартные функции Swift — они будут храниться в системе.

Сейчас ждут релиза свежие версии систем для мобильных устройств, телевизоров и часов: iOS 12.2, macOS 10.14.4, tvOS 12.2 и watchOS 5.2 — пока они на стадии бета-версий. Когда они выйдут, пользователи откроют App Store и обнаружат, что написанные на Swift 5 приложения весят меньше. А еще программы начнут быстрее запускаться, потому что библиотеки в составе ОС будут кешироваться в памяти, чтобы приложения обращались к ним мгновенно.

Apple обещает, что старые проблемы исчезнут в одночасье — по одному обновлению!

Будут улучшения ощутимы или это реклама?

Чтобы внести ясность, вы можете скачать из App Store интересные вам приложения и посмотреть, сколько весят Swift-библиотеки к ним. Бразильский разработчик Гильерме Рамбо так и сделал. Вот какие результаты он получил:

  • Twitter-клиент Chirp для Apple Watch весит 29 Мб, из которых 11,6 Мб — стандартные библиотеки Swift. После обновления до Swift 5 размер приложения уменьшится на 30 %, то есть оно будет весить менее 20 Мб. Результат впечатляющий, но он относится к библиотекам для watchOS. Как дела в iOS? Следующие приложения проходили проверку на iPhone XS Max.
  • Инженерный калькулятор PСalc при весе 86,8 Мб включает 7,5 Мб стандартных библиотек. С переходом на Swift 5 размер приложения уменьшится на 9 % — до 80 Мб.
  • Apollo for Reddit занимает 35,7 Мб, в том числе 7,5 Мб Swift-библиотек. Значит, в iOS 12.2 вес приложения не превысит 30 Мб, то есть сократится примерно на 20 %.

Точный объем дискового пространства, который можно будет сэкономить с переходом на пятый Swift, зависит от устройства.

Для разработчиков лучшая часть новости в том, что миграция проектов с Swift 4.2 будет простой.

Код, который компилировался на «четверке», скомпилируется и в Swift 5. А вот исходники на более ранней, третьей версии языка, новому компилятору не скормить. Еще учтите, что уже скомпилированные модули Swift 4 «прикрутить» к новым программам не удастся.

Сколько ждать изменений

Те, кто пользуются бета-версиями «яблочных» операционок и ставят софт через TestFlight, могут оценить разницу в весе приложений на Swift 5 уже сейчас! Остальным придется запастись терпением: дождаться свежей релизной версии своей ОС, а потом — обновления любимых приложений, написанных на Swift 4.

Зато с переводом собственных приложений на «пятерку» можно не откладывать. Когда пользователи ваших программ смогут оценить плюсы, о которых мы говорили выше, — зависит от вас. Не бросайте свои разработки — поддерживайте их и используйте новые возможности и преимущества, которые дает язык. Тем более что перейти на Swift 5 можно без существенной правки кода.

appleswiftiosметки: программирование
Нашли ошибку в тексте? Напишите нам.
Спасибо,
что читаете наш блог!
Posts popup