iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT
12.4K subscribers
654 photos
64 videos
3.95K links
Самые интересные статьи, видео и новости, связанные с iOS разработкой. Не больше трёх материалов в день.

Лучшее iOS сообщество в Телеге: @iosgt

Размещение рекламы: @tanyasanovna
Download Telegram
Уже через неделю начнется WWDC! Помогите подготовить гайд для сообщества:
1. Если вы организуете совместный просмотр кейноута в своем городе, напишите мне в личку (@etolstoy)
3. Если вы знаете кого-то, кто будет на WWDC вживую, и готов вести текстовую трансляцию с места событий, сведите его со мной!
4. Если есть идеи, что еще крутого можно сделать вокруг WWDC – тоже пишите!
У Apple есть специальная программа Swift Mentorship Program, цель которой помогать разработчикам контрибьютить в свифтовый open source. В 2021 году кто-то контрибьютил в документацию, кто-то – в Vapor, а кто-то – в компилятор.

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

📆Таймлайн:
1-15 июня – подача заявок
27 июня – анонс участников
4 июля-23 сентября – работа над проектом
30 сентября – сбор фидбэка и окончание
До 30 июня все приложения, в которых есть регистрация пользователей, должны реализовать возможность удаления профиля.
🔎Ее нельзя прятать куда-то очень далеко, она должна быть хорошо заметна
🍏Те, кто использует Sign in with Apple должны не забыть ревоукнуть токены
🤷🏻‍♂️Недостаточно просто блокировать аккаунт, надо удалить все связанные с ним данные
В Swift 5.6 (Xcode 13.3) завезли флаг компиляции -experimental-hermetic-seal-at-link
который позволяет вырезать неиспользуемый код на этапе полной линковки.
Судя по бенчмаркам стоит ожидать уменьшение размера бинаря +- в 3 раза.

Будем ждать упоминания на WWDC и включения осенью по дефолту!
за новость спасибо @petropavel
Разработчики Юлы (проекта VK) запустили свой канал в Телеграме, где делятся ценными материалами о разработке, интересными проектами и активностями, которые можно посетить, и выступлениями сотрудников. Полезный канал для iOS-разработчиков, подписывайтесь!
Огромная подборка отзывов про работу со SwiftUI в его текущем состоянии от известных айосеров. В основном все жалуются на то, насколько фреймворк и тулинг вокруг него сырой, на скорость Apple в исправлении проблем и на отсутствие обратной совместимости. Но есть и позитивные отзывы.
Каждое переключение между git ветками ведет к тому, что проект начинает переиндексироваться, скорость билда уменьшается, появляется раздражающий ворнинг про «The file has been modified by another application». В статье разбирается, как использование git worktrees помогает справляться с этой проблемой за счет создания копий проекта.
Самый прямолинейный способ заинжектить какой-то код в момент вызова Objective-C метода – это method swizzling. Но есть случаи, когда его использовать не получится – например, если нужная вам функция написана на C++. В статье разбирается, как использовать переменную окружения DYLD_INSERT_LIBRARIES, чтобы заинжектить в приложение фреймворк, перехватывающий все вызовы нативного кода к кейчейну. Это может быть полезно в тех случаях, когда вы хотите обложить перфоманс-метриками или логами. какую-то стороннюю нативную библиотеку в своем проекте.
Смотрите, какой классный пропозал – поддержать в SwiftPM сниппеты с примерами использования API библиотеки. SwiftPM сниппеты – это отдельные небольшие swift файлы, которые билдятся и запускаются как отдельные таргеты.

Такой подход гораздо более простой и гибкий, чем написание полноценных семпловых приложений, и более интерактивный, чем обычные примеры кода в документации.
Если вы разрабатываете приложения под macOS, вам будет полезна эта статья. Автор рассуждает, по каким критериям отличить действительно круто реализованное приложение от всех остальных.
В понедельник начинается WWDC. Чтобы провести его с максимальной пользой, держите пост-шпаргалку!

📆Основные даты (GMT +3)
6 июня (пн), 20:00 – Apple Keynote
6 июня (пн), 23:00 – Platforms State of the Union
7 июня (вт), 03:00 – Apple Design Awards
7-10 июня (вт-пт) – Сессии, лабы, конкурсы

🤔Чем заняться в удаленном режиме
1. Найти тусовку для совместного просмотра WWDC в своем городе. А на худой конец – подписаться на твиттер Олега Годовых, в котором он каждый год делает лучшие текстовые трансляции происходящего.
2. Подписаться на канал нашего подписчика, который поехал на WWDC вживую, и обещал вести прямую трансляцию происходящего с фотоками!
3. Скачать обновленное приложение Apple Developer Lab, с помощью которого можно смотреть ежедневные сессии и участвовать в конкурсах
4. Записаться в 1/1 лабы, на которых вы можете задать вопросы про проблемы с технологиями, процессом ревью или дизайном.
5. Подключиться к текстовым Q&A сессиям с инженерами Apple.
6. Каждый день заглядывать в @iosgr за новостями по мотивам новых анонсов и в @iosgt за горячими обсуждениями того, что все пропало, и лучше бы ничего не обновляли.

Что не забыть сделать до WWDC
1. Заранее подумать о том, сессии на какие темы вам интересны, и запланировать пару часов в день на их просмотр.
2. Поставить себе XcodesApp, чтобы было проще устанавливать бетку.
Кому интересен WWDC, когда на пороге действительно главное событие этого лета – новый сезон Podlodka iOS Crew: Modern iOS Coding!

Основной фокус сезона в том, чтобы разобраться, как затаскивать в свои проекты актуальный стек технологий: async/await, SwiftUI, Tuist, SPM и разные API из iOS 15. Все сессии – максимально прикладные, спикеры – огонь. Вот несколько крутых сессий из расписания:
💻Лайв-кодинг «Struct oriented programming»
🧱Доклад «SPM (Super Package Manager)»
🤡Лайв-кодинг «API, которые ваш тимлид не даст вам встроить в проект»
🛠Доклад «Туистифицируем проект»

Сезон пройдет 20-24 июня. Влетаем, пока билеты по ценам раннего доступа!
Reveal зарелизили новую большую фичу – Accessibility Workspace. С ее помощью можно быстро проверять все связанные с доступностью свойства элементов интерфейса – VoiceOver, voice control, contrast checks и другие.
Большое исследование экосистемы iOS разработки в России

Какие архитектурные подходы сейчас самые модные
🍒Какой dependency manager выбрать для нового проекта
🧱Как организуют модульность в других командах
🛒Какие библиотеки можно затащить в свой проект, и не бояться, что это помешает найму
🛠Какие новые полезные инструменты попробовать

Спасибо всем подписчикам, кто участвовал в наших опросах. Я планирую собирать такой срез каждый год и следить за тем, как будет меняться стек инструментов со временем!
Effective Power – инструмент, который позволяет проанализировать метрики энергопотребления всех приложений на вашем устройстве, включая различных системных демонов.
Обзор различных атрибутов AttributedString и особенностей работ с ними

🧱Foundation Attributes: ссылки и маркдаун
👵UIKit/AppKit Attributes: цвета, шрифты, подложка
👶SwiftUI Attributes: специфичные для фреймворка стили
👨‍🦯Accessibility Attributes: подкручивание свойств доступности на уровне отдельных рейнджей в строке
🛠Custom Attributes, которые вы можете определить сами и переиспользовать в будущем
Если от изучения Human Interface Guidelines вас останавливает плохое знание английского языка, держите их полный перевод на русский. Насчет актуальности не уверен, но в любом случае должны быть очень полезны.
Додо рассказывают про свой процесс разработки новой фичи на примере добавления в приложение мессенджера:
1️⃣Проработка сценариев использования и анализ пользы
2️⃣Составление критериев для выбора библиотеки и ее подбор
3️⃣Разработка MVP без кода
4️⃣Самостоятельная работа в контакт-центре
5️⃣Разработка
6️⃣Ретро и аналитика