iosgr | Технологии

Telegram-канал iosgr - iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

10615

Самые интересные статьи, видео и новости, связанные с iOS разработкой. Не больше трёх материалов в день. Лучшее iOS сообщество в Телеге: @iosgt Размещение рекламы: @tatiana_2209

Подписаться на канал

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

DocC туториалы по Composable Architecture

Если вы хотите вкатиться в ТСА, но смотреть кучу видеоуроков не ваш формат, то попробуйте новый интерактивный туториал на DocC, в котором разбирается создание новой фичи, работа с сайд-эффектами и покрытие всего тестами.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Как Uber трекает время старта приложения

В iOS 15 появился автоматический прогрев приложений. Иногда операционная система сама запускает процесс приложения, чтобы, если пользователь захочет его включить, ждать пришлось бы меньше. Эта фича сильно усложнила мониторинг времени старта приложения, и в статье инженеры Uber рассказывают, как перепилили свою систему мониторинга.

Если кратко – с помощью MetrikKit собираются pre-launch метрики, с помощью собственной логики – post-launch метрики. Дальше они отправляются на сервер, там склеиваются, и попадают в мониторинг.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Обзор CI в Airbnb

Команда Airbnb рассказывает, как они используют AWS, Terraform и Packer, чтобы управлять фермой из 300 Mac устройств и легко обновлять их окружение.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

DeviceDiscoveryUI – системный фреймворк для соединения tvOS и iOS

Год назад Apple выпустили DeviceDiscoveryUI – фреймворк, который позволяет приложению на Apple TV обмениваться данными с iPhone, iPad и Apple Watch по локальной сети.

Статья – золото, так как официальная документация практически отсутствует, тестовые примеры не компилируются и используют не существующий API, а сам фреймворк работает не особо надежно.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Дайджест Swift Evolution за апрель-май

✅SE-0314: AsyncStream and AsyncThrowingStream
✅SE-0388: Convenience AsyncStream.makeStream methods
✅SE-0389: Attached Macros
✅SE-0391: Package Registry Publish
✅SE-0393: Value and Type Parameter Packs
✅SE-0394: Package Manager Support for Custom Macros

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Squirrel – приложение, которое чинит скроллинг в симуляторе

В iOS симуляторе не работает скроллинг. Вернее работает, но он не интегрируется с колесиком мыши или трекпадом. Squirrel – приложение, которое висит в трее, следит за скроллом, и с помощью Accessibility делает нужный жест в симуляторе.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

DSL на Swift

Большое количество примеров того, как на Swift можно определять свои DSL, и строить на их основе архитектуру всего приложения.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Кастомный SegmentedControl на SwiftUI

Стандартный SegmentedControl практически не кастомизируется, поэтому, если ваш дизайн отличается от стандартного, компонент придется реализовывать самому. Автор начинает с самой наивной реализации, и заканчивает гибким контролом с плавными анимациями.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Overlays в SwiftUI

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

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Анимация песочных часов на SwiftUI

Эффект реализован с помощью заблюренных линейных градиентов и SpriteKit частиц. Код можно посмотреть здесь.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

ETTrace – новый фреймворк для профилирования приложений

Основные отличия от Time Profiler:

- Более простой интерфейс для поиска проблем в перфомансе
- Более быстрый, менее флакующий профилировщик
- Корректная символизация
- Готов к работе в CI

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Несколько советов про Reachability

👉Вместо проверок на наличие соединения перед каждым запросом используйте флаг waitsForConnectivity, благодаря которому активный запрос будет дожидаться появления сети.
👉Если вам надо ограничить приложение работой только по WiFi, настройте URLSessionConfiguration таким образом, чтобы разрешать только определенные типы соединений.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Предсказания анонсов на WWDC’23

Bloomberg подбили все известные утечки в одном материале:

😎Reality Headset, премиальная AR/VR гарнитура
📱Новая операционка для гарнитуры, xrOS
⌚️Крупный апдейт в watchOS 10, в котором должны сильно переработать интерфейс
💻Новые макбуки, но вроде как все еще на М2
✋Никаких крупных апдейтов в iOS/macOS не ожидается, не считая возможности загружать приложения на iOS в обход официального магазина

Перевод на русский язык

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Foundation на Swift

В конце прошлого года Apple заанонсили, что переписывают Foundation на Swift, параллельно разбивая его на маленькие пакеты. Спустя всего четыре месяца первое превью уже выпущено на GitHub!

Пока в библиотеке доступна только часть типов, например AttributedString, Date и Calendar. Ключевая особенность – улучшенный перфоманс. Например, Calendar показывает 20% улучшение, а форматирование дат через FormatStyle – 150%. Самое крутое, конечно, JSONEncoder/JSONDecoder, которые показывают прирост в 2-5 раз.

Следующие планы – перенести URL, Bundle, FileManager, FileHandle, Process, SortDescriptor, SortComparator, а заодно – обрабатывать фичереквесты и баги от коммьюнити.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Как пропустить экран логина с помощью брейкпойнтов в Xcode

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

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Ищем инженера, который займется интеропом Kotlin и Swift

Одно из главных направлений развития Kotlin Multiplatform – хороший интероп с iOS экосистемой. Сейчас интероп Kotlin со Swift работает только через Objective-C. Мы хотим это улучшить, в том числе за счет интеропа напрямую со Swift. В команду, которая занимается этой задачей, мы ищем сильного инженера с iOS бэкграундом.

Какие основные требования у вакансии (сразу предупреждаю, что опыта разработки языков и рантаймов мы не ожидаем):

💻Сильный бэкграунд в любых нативных языках (C++/Swift/Objective-C/Rust)
🤔Базовое понимание того, как работают виртуальные машины, рантаймы и операционные системы.

Вакансия с релокацией: Нидерланды, Германия, Кипр, Сербия или Армения. Отправляйте резюме, а если будут вопросы – пишите напрямую мне (@etolstoy).

*️⃣А если вы работали в платформенных командах, занимались инфрой, сборками и CI/CD, то вот еще одна кайфовая вакансия в тему.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Дизайнерский гайд по паттернам навигации

Human Interface Guidelines не очень подробно распространяются на тему навигации. Вместо них держите супер-подробный сторонний гайд, в котором рассматриваются все часто встречающиеся способы организации структуры экранов, и детали поведения их интерфейсов.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

SwiftFiddle – онлайн Swift плейграунд

SwiftFiddle – онлайн редактор Swift кода. Из интересного:

➡️Можно шарить сниппеты по ссылке.
➡️Код можно собирать любой версией компилятора, начиная со Swift 2, заканчивая последними nightly сборками.
➡️Можно использовать некоторые официальные библиотеки, например swift-collections.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Dynamic Island как индикатор прогресса чтения

Обязательно посмотрите весь тред – там еще две реализации. Эта, правда, моя любимая.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Code Scanning и Dependabot для Swift на GitHub

GitHub анонсировали расширенную поддержку Swift. Во-первых, на пулл реквестах вы будете автоматически получать уведомления о различных потенциальных дырах в безопасности. Во-вторых, Dependabot будет сообщать о том, что в ваших зависимостях найдены уязвимости.

Пока поддержка в Beta, но вы можете попробовать ее на своем опенсорсном проекте и оставить команде фидбэк.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Jenkins для iOS разработки

Подробный гайд по тому, как поднять CI сервер на Jenkins: настроить окружение, сконфигурировать джобы и написать Jenkinsfile.

Перевод на русский язык

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Mojo – новый язык от Криса Латтнера

Новость не про iOS, но зато про Латтнера, человека, который раньше стоял за Swift. Так вот, на прошлой неделе он запустил новый язык Mojo, с синтаксисом, похожим на Python, и производительностью, стремящейся к С++. Основной юзкейс – обучать модели и работать с ними на сервере, используя один и тот же язык.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Фреймворк TabularData для ежедневных задач

TabularData – системный фреймворк для того, чтобы готовить данные для обучения ML моделей. Если работали с DataFrame в Python – вот это он.

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

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Как оптимизировать count запросы в Core Data

В статье приводится 12 способов писать более эффективные count запросы к данным. Для каждого из них разбирается сгенерированный в итоге SQL.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Проблемы MVx архитектур

В статье разбирается три проблемы, из-за которой типичные «слоистые» архитектуры вроде MVC, MVP и MVVM плохо ложатся на большинство приложений.

🤏Проблема остатка: не все фичи идеально раскладываются на все слои, в результате приходится иметь много бесполезного бойлерплейта.
🔎Проблема масштабирования: при расширении фичи ее код начинает сильно разбухать, так как вместо нормальной декомпозиции ее пытаются впихнуть в уже написанный юзкейс.
🤔Проблема разрывов в логике: архитектура пишется таким образом, который зависит от строгой последовательности выполнения действий в разных компонентах, в то время как механизмов, обеспечивающих эту последовательность, нет.

Любви достоин только VIPER.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Когда пользователь лучше всего конвертится во внутреннюю покупку

Феликс Краузе, бывший ментейнер Fastlane, сейчас запускает новый продукт – ContextSDK. Он предсказывает, когда лучше всего предложить пользователю совершить внутреннюю покупку, основываясь на анализе кучи факторов. Вот несколько примеров того, что может значимо влиять на конверсию:

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

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

VK запускает Weekend Offer для мобильных разработчиков

Получите возможность присоединиться к командам VK Мессенджера, VK Видео, Почты Mail.ru и Облака Mail.ru всего за одни выходные — 20–21 мая. Разработчики требуются на направления iOS и Android.

Отправить отклик можно до 18 мая включительно.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Swift для TensorFlow все

Вторая новость про Swift чуть менее радостная. Google тихо прикрыл все работы, связанные со Swift для TensorFlow, и заархивировал проект. Из заметных достижений за время их работы:

👉В компилятор добавили поддержку differentiable programming, причем ее саппорт продолжится.
👉Запустили несколько проектов, которые продолжат поддерживаться: PythonKit для интеропа с Python, swift-jupyter для возможности использовать ноутбуки, swift-benchmark для, как ни удивительно, бенчмарков кода.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Результаты Swift Community Awards

Подборка самых высоко оцененных сообществом инструментов, сервисов, опенсорсных проектов и докладов. Загляните, может быть, пропустили интересные штуки! Вот несколько классных:

🍍TelemetryDeck – легковесная аналитика с упором на приватность собираемых данных
🍍IceCubes – очень красивый опенсорсный клиент для Мастодона
🍍Bakery – простой конструктор иконок приложений

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

for-case-let

Вместо того, чтобы писать if let внутри for цикла, вы можете использовать case let прямо при его объявлении. Уровень вложенности кода падает, да и выглядит чище.

Читать полностью…
Подписаться на канал