iOS Broadcast
3.32K subscribers
1.71K photos
85 videos
977 links
Подборка новостей и статей для iOS разработчиков.

Новости Kotlin и мультиплатформы @kotlin_broadcast
Новости Android @android_broadcast
Реклама и прочее @ab_manager
Download Telegram
😀 Что такое observability мобильного приложения (45 мин)
Вышел мой самый любимый доклад с осеннего Mobius про Observability мобильных приложений в Тинькофф. Я принимал участие в адаптации этого доклада под аудиторию мобильных разработчиков, но Даниэль смог превзойти мои ожидания! Из доклада вы узнаете:

😀 Как один сбой в клиенте Тинькофф привел к 24 часам неработающего приложения
😀 Как из этого появились инженерные SRE практики в мобильных приложениях
😀 Что такое Observability и что есть в мобильном приложении Тинькофф
😀 Какие данные и как собираются для обеспечения Obsrvability

Очень рад что получилось поделиться этим с сообществом и крайне рекомендую к просмотру!
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍641
🐥 SE-0414: Region Based Isolation

Если вы ловили баги с Sendability (Sendable) при использовании 🐥 Swift Concurrency, то новый пропоузал уже ждет вашего внимания. В предложении представлена новая диагностика в процессе компиляции, которая позволяет передавать non-sendable значения в другие домены изоляции, когда это безопасно, и выдавать ошибку, когда это небезопасно. Это должно упростить использование типов, не подлежащих отправке, при использовании Swift Concurrency
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
🐥 SE-0413 Типы ошибок в исключениях

Один из самых больших изъянов в Swift try catch наконец-то будет исправлен! Proposal по ограничениям типов исключений принят 🍾! Нам больше не придется угадывать тип ошибки! Вот такой вот подарок разработчикам под елочку 🎄
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥22🤔2👍1
🐥 Typestate - новый для swift шаблон проектирования, доступный со Swift 5.9
Нашел отличный пример применения нововведений в системе типов Swift. Typestate — это шаблон проектирования, появившийся в языках с развитой системой типов и строгими моделями владения памятью, особенно в Rust. Теперь он доступен программистам Swift с появлением некопируемых типов в Swift 5.9.

Typestate привносит в систему типов концепцию конечного автомата. В этом шаблоне состояние объекта кодируется в его типе, а переходы между состояниями отражаются в системе типов.

Важно отметить, что Typestate помогает выявить серьезные логические ошибки во время компиляции, а не во время выполнения. Это делает его идеальным для разработки критически важных систем, особенно там, где важна безопасность человека
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10
📹 Диплинки в iOS: почему это так важно и как мы их реализовали в Vestiaire Collective (20 мин, 🇺🇸)

Наконец, добрался до Cocoaheads Paris и единственный доклад который зацепил меня-про диплинки. Тема мне интересна, я сам выступал с докладом 📹 "Декларативная навигация в iOS-приложении" на 😀Mobius и все еще ищу более простой подход. Доклад действительно интересный и на редкость покрывает вопросы с навигацией:
👉 Unit тестирование навигации
👉 UI тестирование навигации
👉 Отложенная авторизация
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5
Forwarded from Android Broadcast (Кирилл Broadcast)
Вышел новый релиз Emcee - решения для ускорения прогонов тестов для Android и iOS. Что нового (иконкой помечена категория)
🤖 Реализовали новый способ запуска тестов - через командную строку с помощью JAR
🤖 Поддержали запись видео прогонов тестов.
🍎 Поддержали новый механизм дискаверинга тестов — runtimeXCTest.
🍎 Теперь можно запускать тесты таких альтернативных фреймворков, как Quick, Kiwi и других.
🍎 Улучшили управление ресурсами и процессами очистки и поменяли уровень подробностей логов с trace на debug. Без лишней детализации проще находить и анализировать проблемы в коде. А чем больше свободных ресурсов, тем быстрее скорость следующих запусков
☁️ Поддержали запуск Appium-тестов
☁️ Выкатили Emcee.cloud Actions - интеграция Emcee Cloud в GitHub Actions

Emcee для iOS можно скачать из GitHub , а для Android - образ на Docker Hub. Как вариант попробовать все через Emcee Cloud.

#tooling #testing
Please open Telegram to view this post
VIEW IN TELEGRAM
📱 AnyView’s Влияние на производительность SwiftUI (🇺🇸 10 мин)

Не очевидное место оптимизаций для SwiftUI. Сам я не задумывался раньше что стертый тип View может привести не только к увеличению времени компиляции но и к проблемам в производительности. В статье рассматривается, когда стоит использовать конкретные типы для разных View в контейнерах. Так же подсвечивается не очевидный момент с тем что использование if-else приводит к той же ситуации что и использование AnyView.
Каковы ваши впечатления от AnyView? Вы широко использовали его и заметили ли вы какое-либо снижение производительности?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
🐥 Низкоуровневые атомарные операции в Swift

Вторая стадия ревью SE-0410: Atomics завершилась 2 января, и группа по развитию Swift приняла это предложение с изменениями в названиях протоколов. В чем суть предложения?
Пропоузал добавляет в стандартную библиотеку Swift ограниченный набор атомарных операций низкого уровня, включая собственные варианты написания для упорядочения памяти в стиле C++. Главная цель — дать возможность авторам и разработчикам библиотек, пишущим код системного уровня, начать создавать конструкции синхронизации непосредственно в Swift. Эта библиотека может быть полезна и в обычной разработке, но ей точно не стоит злоупотреблять. Несмотря на соблазнительность такого подхода, атомарные операции предназначены для низкоуровневого кода и в продуктовом коде сильно ухудшают читабельность
Please open Telegram to view this post
VIEW IN TELEGRAM
📱 Используем TipKit со SwiftUI (5 мин 🇺🇸)

Мы часто создаем функции в наших приложениях, которые, как мы уверены, понравятся людям, но предоставить пользователям возможность их обнаружить может быть непросто. TipKit, представленный на WWDC23, представляет собой платформу, предназначенную для отображения полезных советов в вашем приложении. Его цель — информировать пользователей о новых функциях, раскрывать скрытые функции или оптимизировать выполнение задач.
В этом туториале показывается на примере, как создавать и отображать подсказки в приложении, разработанном на SwiftUI
Please open Telegram to view this post
VIEW IN TELEGRAM
👍41
🎵 Визуализация аудио с помощью CoreAudio, Combine и SwiftUI (3 мин 🇺🇸)

Отличный пример пет проекта. Автор разбирается с CoreAudio, рассказывая о своем опыте написания простого приложения для личных целей. В статье разбираются такие элементы как:
👉 AVFoundation
👉 AVAudioEngine
👉 AVAudioFile
В конце ссылка на github с исходниками. Отличный шанс за 3 минуты ознакомиться с базовыми элементами CoreAudio на примере
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥3
Forwarded from Android Broadcast (Кирилл Розов)
Чтобы сделать ваше приложение доступным для всех людей важно знать про Accessibility
и как работать с ней при создании приложения. Читайте статью с подборкой материалов для Android и iOS

#accessibility
🔥2👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔19👍14