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

Новости Kotlin и мультиплатформы @kotlin_broadcast
Новости Android @android_broadcast
Реклама и прочее @ab_manager
Download Telegram
Круговые диаграммы в iOS 17

👉 Круговые диаграммы более интуитивны
👉 Поддерживают анимации для изменения данных
👉 Графики теперь имеют удобный API для отображения деталей в выбранной точке
👉 Скроллинг доступен из коробки
👉 Проект с примерами диаграмм

#SwiftUI #Charts #WWDC
👍92👎1
Новое свойство contentUnavailableConfiguration у UIViewController в iOS 17

В этом году на WWDC Apple внезапно расширила UIKit новым API для отображения состояния загрузки, ошибки или пустого контента. Такое улучшение легко сделать самому, но приятно иметь из коробки. Доступно 4 способа создать UIContentUnavailableConfiguration:

👉 Создать с нуля заполнить поля у .empty конфигурации
👉 Использовать готовую .loading конфигурацию
👉 Использовать готовую .search конфигурацию
👉 Использовать UIHostingConfiguration
с блоком в котором можно использовать SwiftUI

#UIKit #WWDC
👍4👎1
Создаем и модифицируем UIKit компоненты в стиле SwiftUI
Простой способ превратить императивный интерфейс UIKit в декларативный. Применив этот подход в вашем проекте вы можете делать код более читаемым. В статье разбирается:

👉 Как структурировать UI компоненты
👉 Как применить протокол-ориентированное программирование для простых задач

#UIKit #DSL #SwiftUI
👎6🔥4👍21
На сколько Swift удобен для DSL? (5 мин)

По следам обсуждения прошлого поста решил написать статью про динамические фишки Swift, @dynamicCallable и @dynamicMemberLookup. Они были добавлены для интеропа с динамическими языками, такими как Python, JavaScript, но их использование этим не ограничивается.

👉 SE-0195 Dynamic Member Lookup
👉 SE-0216 Dynamic callable
👉 SE-0253 CallAsFunction
👉 Примеры использования их комбинаций в повседневных задачах

#swift #proposal #DSL
👍7👎1
Генерализованые API с пакетами параметров

Благодаря SE-0393SE-0398 и SE-0399 в Swift 5.9 появились вариативные дженерики, которые решают важную проблему в Swift - дженерик функции для каждого набора аргументов.
Благодаря этому, например, в SwiftUI убрали лимит на 10 View 🎉.

#wwdc #swift #proposal
👍4👎1
This media is not supported in your browser
VIEW IN TELEGRAM
Глубокое погружение в Observation (13 мин)
На WWDC представили новый фреймворк призванный оптимизировать работу SwiftUI. Советую ознакомиться со статьей перед началом использования нового фреймворка

👉 Зачем нужен Observation
👉 Как объявить Observable Object
👉 Как работает макрос @Observable
👉 Как использовать Observable Object совместно с SwiftUI View

#Observation #SwiftUI #swift
👍1👎1
Анализ .ipa файла Threads app
Ожидаемо ничего интересного или провокационного не обнаружено. Анализ показывает как просто получить доступ к файлам в бандле, и что plist не место для приватных ключей. Из интересного:

👉 Полный набор собственных шрифтов
👉 Библиотеки статически слинкованы
👉 36 локализаций
👉 Metal шейдеры
👉 CoreML модели для оптимизации выдачи ленты на устройстве
👉 info.plist содержит релизный бранч fbobjc/releases/release-igios-2023.07.17

#reverseEngineering
👍5👎1
This media is not supported in your browser
VIEW IN TELEGRAM
Незаметные детали интерактивного дизайна
Лонгрид с примерами интуитивного интерфейса с которым пользователь знакомится через анимации

👉 Метафоры в дизайне
👉 Кинетическая физика анимаций
👉 Жесты смахивания
👉 Отзывчивость интерфейса
👉 Закон Фиттса

#design
👍9👎1