iOS-дайджест № 1 (март)
Вы можете знать наш Android-дайджест на jug.ru, выходящий раз в две недели, а теперь пробуем кое-что новое: аналогичный iOS-дайджест. Встречайте подборку ссылок «что происходит в iOS-мире». Поскольку это первый выпуск, ссылки собрали не строго за две недели, некоторые старше. А поскольку горячая тема сейчас — всё вокруг Swift 5, выпуск получился очень «свифтовым», но после пунктов о нём есть и другие.
- Если хотите собирательно и доступно сразу обо всём новом в Swift 5, появился соответствующий пост об этом. А если хотите подробнее конкретно о String Interpolation — об этом написал Пол Хадсон.
- Поскольку в Swift 5 стабилизируется ABI, в будущем миграция проектов на новые версии языка должна стать совсем лёгкой. Но пока что кому-то всё ещё может пригодиться свежий пост о подходах к такой миграции.
- О скорости работы Swift вышла статья в целых трёх частях: на дворе 2019 год, а разработчики до сих продолжают сравнивать производительность с C/C++. Можно вспомнить, что ещё при выходе beta-версии языка в 2014 году сравнивали результаты производительности некоторых алгоритмов сортировки с другими языками.
Практика же показывает, что каким бы умным не был компилятор, и насколько бы сильно он не оптимизировал исходный код, в некоторых случаях производительность очень сильно падает при вызове процедур за пределами стандартной библиотеки языка, например, вызов некоторых методов класса FileManager занимает неприемлемое количество времени за счет операция brigning’а. В таких критических по скорости местах кода приходится переписывать часть логики на Objective-C, чтобы избежать проблем с производительностью.
- Да и вообще, как бы ни хоронили ламповый Objective-C, в 2019 он остается очень актуальным языком. Появилось исследование, из которого следует, что лишь немногим большим половины приложений используют Swift.
- Теперь не о Свифте. В Bloomberg со ссылкой на свои источники пишут, что Apple к 2021-му намерена объединить приложения для Mac, iPhone и iPad: разработчики смогут поставлять «единый бинарник», магазины приложений тоже объединятся. И всё это как бы ради того, чтобы упростить жизнь разработчикам.
Не вполне ясно, каким именно образом такое полное объединение её упростит: продуктов, которые поддерживают сразу несколько поддерживаемых Apple платформ, не так много, а схожий опыт Microsoft по объединению нескольких платформ оказался скорее печальным.
- Пара новостей формата "Apple занимается шоппингом". Во-первых, компания купила стартап по распознаванию речи Pullstring — может, хоть это поможет Siri наконец стать полезнее? А во-вторых, из ранее купленного Shazam компания решительно выпилила сторонние зависимости, том числе библиотеки аналитики и рекламы от фейсбука. Интересно, что часть этих зависимостей в Android-приложении ещё осталась: то ли причина в том, что iOS-девелоперы разрабатывают быстрее, то ли Apple просто не беспокоится об утечке данных пользователей, если они с Андроидом и должны страдать.
- Полезные технические посты. Инженеры Pinterest поделились опытом ускорения сборки. На Mobius 2018 Moscow многих впечатлил доклад Артёма Зиннатуллина о сборках в Lyft, но Артём смотрит на всё с Android-стороны, а этот пост именно про iOS.
- Миграции в CoreData: довольно подробный гайд с примерами того, как создавать новые версии базы данных на девайсе, организовать миграцию и не потерять данные пользователя с предыдущих версий.
- Напоследок — минутка безопасности. Появилась статья про отслеживание джейлбрейкнутых девайсов во время работы приложения. Расскажите, а используете ли вы что-то для проверки того, насколько безопасна/небезопасна среда, в которой запускаются ваши iOS-приложения?
