Новости
Digest MBLTdev: Новости для iOS разработчиков №210
В течение недели топовые iOS-разработчики Вадим Дробинин, Юрий Петухов и Сергей Бендак собирают для нас интересные и полезные ссылки на статьи, необходимые для прочтения каждому начинающему и опытному разработчику. В каждом выпуске – новости, коды, инструменты, дизайн и прочее.
В последнее время все начинают заботиться о приватности: Цукерберг пространно сравнивает сайты с гостиными и площадями, Firefox обещает скрывать от сайтов разрешение экрана, а W3C утвердили стандарт для замены паролей на отпечатки пальцев и прочей биометрии прямо в браузерах. Одна Apple как сохраняла Significant Locations, так и сохраняет.
Тем временем дорогая редакция поздравляет дорогих причастных с Международным женским днём и желает всем вокруг, помимо всего прочего, отсутствия дискриминации в индустрии. А то вот в Берлине через пару месяцев UIKonf (довольно известное, к слову, мероприятие), и в этом году мужчинам нельзя выступать с докладами. Много их слишком, видите ли.
Sony finally brings PS4 Remote Play to iPhone and iPad
Четыре года назад — на Android, но теперь и на iOS. В захватывающее время мы живём.
Google reveals «high severity» flaw in macOS kernel
Команда Google Project Zero нашла уязвимость в macOS, позволяющую модифицировать смонтированные данные, используя COW (copy-on-write) механизм без уведомления системы. Apple была уведомлена в ноябре 2018, но до сих пор не выпустила «заплатку» с исправлением.
SPOILER alert, literally: Intel CPUs afflicted with simple data-spewing spec-exec vulnerability
Ещё одна «дыра» в безопасности на этот раз обнаружена в процессорах Intel, получила название Spoiler, связана с механизмом спекулятивного выполнения, затрагивает все процессоры Intel Core, начиная с первого поколения. Проблема не имеет ничего общего со Spectre или Meltdown, обнаруженными ранее, а значит, патчи, которые их устраняют, в данном случае не помогут. Ждём ответа Intel.
Swift Code Formatters
В iOS-сообществе идут бурные обсуждения о создании единого стиля и инструмента для форматирования кода. Пока не выработан общий подход, авторы предлагают обратить внимание на популярные инструменты, такие как SwiftFormat, SwiftLint в контексте простоты установки, использования и производительности.
Dependency Injection in Swift with Protocols
Реализация DI при помощи композиции протоколов и абстрактной фабрики.
Fileprivate vs private in Swift: The differences explained
В чём отличие между модификаторами доступа private и fileprivate — кратко рассказано в статье. Подробнее о других модификаторах — open, public и internal можно узнать из документации Apple.
Why using isEmpty is faster than checking count == 0
Показана разница в реализации и скорости подсчёта количества элементов с помощью isEmpty и count == 0.
Importance of isViewLoaded when embedding child controllers
Пример использования свойства isViewLoaded для контроля загрузки и выгрузки дочерних контроллеров.
The power of UserDefaults in Swift
В чём сила UserDefault, как организовать доступ к данным из разных приложений, принадлежащих одной группе, и как решить проблемы тестирования без мок-объектов — рассказано в статье.
Tips and tricks to run your iOS app on the Mac
Про Marzipan уже многое было сказано, но если вы пробовали запустить свои мобильные проекты на компьютере, то наверняка заметили, что не всё так просто. В этой подборке — подсказки по решению наиболее частых проблем.
Consent SDK
Постоянно спрашивать разрешение у пользователей — такой себе план, но если очень надо, то можно воспользоваться готовым решением.
Swift code metrics
Измеряя прибыльность приложения, его производительность или продуктивность разработчиков, очень часто забывают о метриках, связанных с кодом. Ещё не поздно всё исправить.
swift-format
Инструмент, описанный в статье NSHipster, для форматирования кода. Предлагается как стандартное средство для Swift-сообщества. Версия 0.0.1 — не стоит ждать от неё чудес, но можно ознакомиться с ранней версией и принять участие в разработке.
Product Analytics Playbook: Mastering Engagement
Читали предыдущие книги Amplitude? Замечательно. В этот раз речь в Product Analytics Playbook пойдёт про Engagement. Не сказать, что откроете много интересного для себя, но структурировать знания поможет (такие книги обычно и не претендуют на большее).
Why nobody cares about your “two cents”
Короткая заметка про работу в команду и ваши пять копеек. С автором сложно поспорить.
HubSpot’s Kieran Flanagan on product-led growth
Интервью с Кираном, VP Growth в Hubspot, про так называемый product-led growth.
Product is the Future of Growth
Бонус! Если вы не поняли, как перевести на русский product-led growth, есть и другая статья Кирана.
TL’DR — подходит для freemium моделей, когда пользователь может попробовать ваш продукт и оценить преимущества до покупки. Старые истины новыми словами.
Dev Fused iPhones
Если вы задумывались, откуда берутся все эти 0day-уязвимости и статьи о найденных багах, почитайте про dev-fused iPhones, которые разными путями оказываются в руках исследователей и позволяют манипулировать всем подряд, вплоть до Secure Enclave.
The Downsides of Freelancing
Если вы думаете, что фрилансеры или голодают в общежитиях, или живут на Бали, то не всё так просто. В этой статье рассматриваются скорее минусы и заблуждения, чем плюсы, но в целом — всё правда. Может пригодиться, чтобы сделать осознанный выбор.