Telegram Web Link
This media is not supported in your browser
VIEW IN TELEGRAM
Swift Assist — топовая фича нового Xcode

👨‍💻 Во вчерашнем Platform State of the Union показали пример, как это должно быть в действии.

Как минимум, должно быть супер-полезно при прототипировании приложений.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
MeshGradient в iOS 18

Теперь доступен градиент, который можно задавать с помощью 2D-сетки расставленных цветов.

🚀Попробовал сделать несложную анимацию, чувствуется потенциал (код доступен прямо на гифке).

📺 Можно посмотреть ещё и на такой вариант анимации.

🕖Вариант реализации через таймлайн (и код).

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
Анимации SwiftUI доступны в UIKit с iOS 18

Сейчас SwiftUI, UIKit и AppKit используют различные базовые реализации для анимации.

📖 Apple рекомендует использовать новую возможность с iOS 18 во всех фреймворках, чтобы создать более ожидаемый опыт для пользователей (и избежать потенциальных сложностей для разработчиков с синхронизацией таймингов и другими проблемами).

👨‍💻На скриншоте пример создания использования такой анимации.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
История создания приложения iOS IQ (эффекты, код и примеры)

❤️ Спасибо всем, кто установил приложение и оставил отзыв, это очень ценно.

По запрошенным комментариям в чате решился опубликовать большую статью про разработку приложения.

Рассмотрел основные моменты по анимации, реализации шейдеров, статистике и тому, как быстро сделать авторизацию.

📖 Статья уже сейчас доступна всем.

А если вам интересно, как именно можно реализовать эффект гиперпространства или анимацию подсветки:

Доступ со скидкой на время WWDC можно получить здесь (или тут ещё выгоднее).

😃 iOS Dev - кстати, версия с обновлёнными рангами уже доступна

Пользователей, который набрал в харкдоре больше 20 - это очень мощно! Но в следующих обновлениях будет ещё сложнее.
Please open Telegram to view this post
VIEW IN TELEGRAM
Xcode 16 упростит поиск проблем, приводящим к зависаниям приложений

🛠 Теперь с помощью нового инструмента flame graph можно будет определить, выполнение какого именно кода занимает большую часть времени при тяжелых подвисаниях в приложении (особенно полезно на старте).

🤩 Интервалы уже взвешены по параметру процента времени, которые они занимают.

Бонус: в Organizer добавили новую категорию Launches, в которой можно будет увидеть, что именно является причиной долгого запуска приложения у пользователей (статистика за всё время).

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
Новый метод count(where:) в Swift 6

➡️В SE-0220 появился новый метод count(where:), который выполняет filter() и count за один проход.

Это позволяет избежать создания нового массива и обеспечивает четкое и прозрачное решение подсчёта.

🤩 Этот метод доступен для всех типов, соответствующих Sequence, поэтому его можно использовать и для сетов, и для словарей.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Подборка анимаций c WWDC c примерами кода

Прекрасная сессия, в которой Robb и Philip поделились примерами кода и новыми подходами к реализации.

📺 Новая анимация при скролле.
📺 Работа с цветом.
📺 View и эффекты.
📺 Работа с текстом и новые анимации (уже добавил себе в закладких).
📺 Metal shaders (а куда же без них).

После завершения WWDC уверен, что ещё вернёмся и рассмотрим многое детально.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
🥳 Нужен будет только один набор скриншотов при загрузке приложения в App Store (как для iPhone, так и для iPad).

📖 Отличная новость для дизайнеров, инди-разработчиков, да и для компаний тоже.

А ещё доступ к запросу фичеринга будет более явным (конечно же, без гарантий успеха).

🛩 Новый App Store Connect обещают выкатить осенью.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Память: ARC, side table, флаги, утечки и многое другое

🧠 Одна из основных тем в разработке — управление памятью. Наверняка каждый сталкивался в своей работе с проблемами, связанными с утечками и искал, как их решить.

В своём канале я регулярно делюсь советами и исследованиями на эту тему, более того, в приложении есть целая пачка вопросов на эту тему.

🧠 Уже сегодня в iOS IQ добавлена новая большая секция, которая отвечает на многие из этих вопросов.

Поэтому, если вы хотели бы расширить арсенал своих знаний и узнать больше об ARC, side table или тому, что приводит к утечкам памяти, уже сейчас доступно несколько десятков вопросов с разными уровнями сложности:

Подпишитесь на сайте или в телеграме (на год - выгоднее).

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Создание анимации в стиле Siri в iOS 18

Siddhant Mehta и Meng To использовали комбинацию из Mesh Gradient (пример вы можете увидеть в моём посте выше) и ripple-эффекта.

🛠 Исходный код проекта доступен на github.

📺 Сессия с примерами анимаций вот тут.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
NotPrivateAPIs — проект, который раскрывает некоторые приватные API

❗️Конечно, их нельзя использовать в рабочих проектах и выкладывать в App Store.

Например, меню со своими элементами это вообще та ещё задача (посмотрите реакции в Messages над сообщением, или реализацию в телеграме).

📖 Morris Richman собрал в одном месте вещи, которые юзает Apple: например, как добавить кастомный хэдер в UIAlertController или как поменять иконку приложения без предупреждения пользователя.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Realm vs SwiftData: что быстрее?

Jacob Bartlett из компании Emerge Tools провел большое исследование и сравнил производительность по трём ключевым метрикам:

1️⃣ Скорость.

2️⃣ Размер.

3️⃣ Память.

И хотя с точки зрения записи и выполнения простых запросов на чтение Realm впереди, но в некоторых моментах благодаря превосходному управлению графами объектов при работе с более сложными данными SwiftData оказалась производительнее.

При небольших объемах (≤10 000 элементов, что охватывает подавляющее большинство сценариев в мобильных приложениях) SwiftData также была намного быстрее при обновлении существующих данных.

📖 Много графиков, выводов и интересных особенностей можно узнать в этой статье.

📖 А на хабре вы возможно видели, что Realm не так хорош в этой статье от Dodo Engineering.

C моей точки зрения, всё, конечно зависит от задач. И для небольших проектов в целом можно использовать что угодно, а вот при разработке внутри компании все равно придётся все тщательно взвесить и, возможно, попробовать несколько подходов, или собрать себе собственный SQLite (привет, ВК).

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Создание эффекта перехода App Store с использованием NavigationTransition в iOS 18

Этот эффект можно увидеть, например, в разделе «Сегодня» или на 📺.

И если создание похожего перехода в iOS 18 может занять пару строк кода, то повторение анимации с учетом всех эффектов — куда более сложная задача.

📖 В этой статье Peter Friese поэтапно рассказывает, какие моменты стоит учитывать и показывает все итерации на примерах кода.

Подпишитесь, чтобы увидеть больше таких разборов и получить доступ ко всей базе знаний.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Создание динамических текстовых эффектов с помощью TextRenderer

👨‍💻 Используя метод draw протокола TextRenderer, мы должны выполнить рендеринг на основе информации об элементах, предоставленной Text.Layout в рамках GraphicsContext.

Новые функции в iOS 18 дают нам доступ ко многим ранее недоступным деталям, таким как определение того, обрезан ли текст через свойство Layout's isTruncated, количество строк, отображаемых после рендеринга, и конкретные данные о расположении текста.

📖 В этом материале рассмотрены не только плюсы, но и ограничения и сложности работы с анимацией в целом. А код можно посмотреть вот тут.

📖 Кстати, если хотите почитать про хардкорные вещи в TextView: работу с атрибутами, стилями, перфомансом, математикой для отрисовки и многим другим — на канале есть отличный пост.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
2024/06/28 11:26:45
Back to Top
HTML Embed Code: