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

Регистрация в РКН: https://gosuslugi.ru/snet/67b464d698a28c4e866d827a

Размещение рекламы: @tanyasanovna
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Перенос Papers, Please на мобальные устройства

Очень интересная статья про то, как автор известной десктопной инди-игры пошагово адаптировал интерфейс и геймплей к маленьким экранам и тач-скрину.
👍22
Слухи про iPhone 14

- Новая презентация Apple с показом iPhone 14 пока планируется 7 сентября
- Самое заметное – у Pro версии уберут челку и заменят ее на точку с камерой и сенсором FaceID
- Камера станет еще мегапиксельнее, а батарея чуть лучше
- В Apple Watch завезут датчик температуры тела
🤡53👍112👎1
50 сниппетов с полезными анимациями из разных приложений

Анимации не всегда служат только для украшения интерфейса. Они могут нести полезные функции. Например, сообщать пользователю об ошибке, мотивировать его сделать целевое действие или сообщать о важном событии.

В репозитории содержится несколько десятков примеров таких анимаций из разных приложений. Для каждого из них объясняется контекст его применения и приводится реализация.
👍37🔥6🤡3💯21
Как анимация и вибрация помогли Додо сделать кнопку полезнее

В прошлом посте я поделился паттернами анимаций, которые приносят пользу. Кейс Додо из этой статьи – отличный пример использования таких паттернов на практике.
🤡23🔥152👍2
Conditional Layouts в SwiftUI

- В новой версии SwiftUI появился протокол Layout, который реализуется всеми стандартными контейнерами
- В протоколе две функции: sizeThatFits, которая расчитывает финальный размер контейнера с учетом всех детей, и placeSubviews, которая лэйаутит все дочерние вьюшки
- Новый тип AnyLayout позволяет менять лэйаут внутри контейнера без полной перерисовки вьюшек и сбрасывания стейта
🤯27🔥3😢2👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Pow – анимированные переходы для SwiftUI

Вышла Beta версия библиотеки Pow, которая добавляет кучу классных transition’ов для ваших вьюх. Несколько примеров:

💨Blur – при добавлении View переходит из заблюренного в четкое состояние, при удалении – наоборот
⭕️Iris – растущий круг при добавлении, убывающий – при удалении
🪄Vanish – View рассыпается на мелкие кусочки
👏28🤡19👍4❤‍🔥3
Команды Почты и Облака Mail.ru ищут iOS-разработчиков и запускают Weekend Offer

В команду Почты Mail.ru приглашают человека, который готов участвовать в продуктовой разработке по основным направлениям развития почты, поддерживать и улучшать технические и продуктовые SLA и метрики в основных продуктах.

В команду Облака Mail.ru приглашают iOS-разработчика, который разделит задачи по развитию продукта, будет участвовать в новых продуктовых запусках и A/B-тестах, принимать технические вызовы в работе с файлами и медиаконтентом, а также улучшать инфраструктуру и автоматизацию.

Успейте зарегистрироваться до 2 сентября!
🤡98👎10👍5🌭4🤬1
Статистика использования SwiftUI, Catalyst и AppKit системными приложениями macOS

- В macOS Ventura 85% приложений используют AppKit, 12% – SwiftUI, 4% – Catalyst
- Доля SwiftUI растет с каждой версией. С Monterey она выросла в 2.5 раза
- Catalyst стагнирует уже пару лет
🔥22👍6🤡4🌭2
Интерактивные туториалы на DocC

DocC, инструмент для генерации документации от Apple, умеет не только генерировать API reference, но и очень крутые пошаговые интерактивные туториалы. Вот, что они позволяют делать:

📝Разбивать туториал на главы
📹Встраивать видео, картинки и загружаемые файлы
Показывать квизы с вопросами, которые проверяют полученные знания

А вот еще один пример того, как можно использовать эти туториалы.
👍27🔥3❤‍🔥2
Модификатор presentationDetents() в SwiftUI

Этот модификатор помогает установить, какого размера должен быть отображаемый Sheet. Что интересно – он работает и с Popover, для которого тоже можно кастомизировать размер.
👍34🤡10
AppBox – инструмент для распространения сборок через Dropbox

С помощью AppBox можно распространять все виды сборок – Development, Ad-Hoc и Enterprise. Сервис полностью бесплатный, простой в использовании, интегрируется с Fastlane.
😁8🤡7👍6
Lighter – генератор Swift-врапперов для SQLite базы

Lighter берет схему SQLite базы и генерирует из нее набор соответствующих Swift структур. Дальше их можно использовать двумя способами – встроенным в Lighter API для работы с базой или, не затаскивая дополнительных зависимостей, создавать соединение с базой вручную. Интегрируется в проект с помощью SwiftPM Plugins.
👍8
Изменения в отображении ViewController’ов в iPadOS 16

Огромный анализ всех изменений в отображении, которые произошли с разными видами ViewController’ов. Посмотрите, насколько это коснется вас, и решите – надо ли адаптироваться или использовать предложенные воркэраунды.
TCA Action Boundaries

При использовании архитектуры TCA в очень больших приложениях возникают проблемы, которые не решаются стандартными подходами. В статье разбирается какую проблему несет в себе стандартная реализация Action.
🔥17👎3🤯1
Релиз Pulse 2.0

Pulse – это система работы с логами для iOS и macOS приложений. Она записывает логи и сетевые запросы и позволяет удобно с ними работать. Состоит из встраиваемой в приложение библиотеки, экрана-консоли логов и сетевых запросов и приложений для анализа логов.

В версии 2.0 появилось много новых фичей:

- Отображение статуса pending сетевых запросов
- Улучшенное отображение метрик сетевых запросов, в том числе средней продолжительности и размеров запросов и ответов сервера
- Подробное отображение ошибок URLSession
- Улучшенное macOS приложение для анализа логов
🔥45👍8🌚32
DivKit — новый фреймворк для Server-Driven UI

- Позволяет управлять с сервера как отдельным элементом интерфейса, так и всем экраном
- Поддерживает server-driven ui второго поколения: описываются не параметры кастомизации крупных блоков, а вся верстка блока в целом
- Создан и применялся в приложениях Яндекса, сейчас опубликован командой на гитхабе.
🤡65👍29👎94🤔1🤬1