iOS Dev
7.87K subscribers
1.11K photos
130 videos
1 file
1.36K links
👨‍💻Автор: Виктор Грушевский (@Viktorianec)

⚒️ База: https://boosty.to/ios_dev | 🤖 @iOSIQBot | https://iosiq.ru

🍏Канал об iOS-разработке, алгоритмах и архитектурах

⭐️ Подготовка к собесам

⭐️ Код. Много кода.

#ios #mobile #swift
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Джуны сразу после курсов с ИИ-резюме пробиваются через автофильтры HR
🤣56😁15🔥83👏2👍1
Передача кастомных параметров и создание анимации с помощью Metal-шейдеров

Для того, чтобы начать делать что-то с помощью шейдеров, достаточно чекнуть официальную доку (да хотя бы layerEffect, где буквально из коробки у нас уже есть позиция пикселя, да ещё и layer в придачу).

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

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

🔗 Про более фундаментальные принципы можно посмотреть тут.
🔗 Или в этом посте о GM Shaders

Напомню, что в iOS IQ можно посмотреть на большую подборку необычных анимаций (и узнать несколько советов).

🔗 Warp-эффект на metal-шейдере
🔗 Beauty infinite loop
🔗 Огненный шейдер

И многое, многое другое. А код всех реализаций есть 💰 тут и ⭐️ тут.


😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
1214🔥85👍3
Как перейти на использование @Observable, не сломав приложение

Интересная статья (с мемами) о том, что вообще такое @Observable, о том, какие проблемы можно решить и как вообще осуществить миграцию.

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

📖 Почитать можно здесь.

📺 А посмотреть на пример использования в UIKit можно в сессии Apple.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
10🔥177👍5👏32🏆1
Core AI вместо Core ML?

В заметке Марка Гурмана упоминается, что Apple понимает, что «машинное обучение» — это устаревший термин, который больше не резонирует с разработчиками и пользователями. И вероятно, нас ждёт новый фреймворк (или существенно изменённый старый).

При этом общая цель Core AI должна остаться прежней: помочь интегрировать внешние модели искусственного интеллекта в свои приложения.

Для разработчиков это, вероятно, будет означать появление новых способов интеграции ИИ без необходимости использования большого количества сторонних либ и создания инструментов с нуля.

Что думаете, будет ли расширение фич Core-фреймворка в новой оси? Наконец-то будут инновации?

🎉 - если ждёте изменений, 🐾 - если всё останется как есть

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
18🎉3612👍8🔥43❤‍🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
10x агент-инженер показывает, как у него собирается iOS-приложение без его участия с OpenClaw

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
1🤣93😁13🔥8👏22👍1
DebugSwift - опенсорсный тулкит для отладки и оптимизаций iOS-приложений

Авторы репозитория пишут, что в нём есть сразу несколько полезных фич.

Среди них, например: мониторинг сети, производительности (включая обнаружение утечек памяти и несколько метрик в реалтайме, вроде CPU и FPS), а также средства для тестирования интерфейса вместе с сеткой, иерархией вью и так далее.

🛠 DebugSwift на GitHub - 1700 ⭐️.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
819🔥6👏4👍3🆒211
Виды кэширования в iOS: разбор видов, возможных подходов, стратегий обновления и интересных задач

Я постарался собрать самые популярные подходы к реализации и рассмотрел их плюсы и минусы по важным параметрам: производительности, надёжности и стоимости + сложности реализации (тут и про трафик, и про стратегию обновления в целом).

От того, что именно мы планируем кэшить, будет и зависеть выбранный: ответ сети, изображения, модели, резы вычислений, где хранить (память, диск, БД) и как управлять инвалидацией.

Про концепты работы с кэшированием можно посмотреть и на GitHub: тут и вот здесь (уверен, что многие сталкивались и использовали это решение).

А ещё разобрал несколько популярных паттернов для реализации этой задачи.

Про TTL, версионирование и как лучше всего поступить при логауте - тоже есть.

Кстати, разобрался немного с mermaid-диаграммами, так что теперь будет больше красивых схем).

Знаю, что многие спрашивают это и в рамках секции по систем-дизайну, так что красивое и доступное структурирование никогда не помешает.

Весь код, все примеры и многое другое: 💰 На бусти и ⭐️ в телеграме.

🧠 Что вы получите ещё, подписавшись:
➡️Карта изучения Swift Concurrency (примеры, разбор каждого уровня, полезные советы)
➡️Вопросы на чтение кода (несколько уровней: простых, посложнее)
➡️Многопоточность
➡️DispatchQueue: практические вопросы
➡️Swift Concurrency
➡️Алгоритмы: терминология и примеры + путь Яндекс Coderun (разбор нескольких десятков задач)
➡️Память: ARC, side table, флаги, утечки
➡️Результаты зарплатного опроса в нашем канале + сравнение с европейскими реальными зарплатами в iOS
➡️Разбор подходов к анимациям и лучшие паттерны (классические способы, Metal, комбинации - все подкреплено кодом)
➡️Утечки памяти в Swift: что с ними делать, как предотвратить?
➡️Навигация в SwiftUI: типы, отличия, разбор неочевидных моментов


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

❤️ Спасибо всем, кто поддерживает iOS IQ - благодаря вам я нахожу силы на составление не только задач, но и кайфовых примеров, разборов и многого другого (и для вас все останется по-прежнему).

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
811🔥6👍4❤‍🔥3🫡2👏1💯1
Apple Music будет отмечать контент, созданный ИИ

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

Среди них: обложка песни, сам трек, текст или видео, которое идёт вместе с музыкой (в Spotify был анонс схожих изменений ещё в сентябре)

💪 Такими темпами и моя шутка про специальную пометку приложений, сделанных нейросетью станет реальностью.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
7👏26🔥95❤‍🔥2👍1🎉1🏆1
На ваш взгляд, какая ситуация сейчас для iOS в России?
Anonymous Poll
10%
Рынок кандидата
90%
Рынок работодателя
1🤯20🔥541❤‍🔥1👍11
Потокобезопасность в Swift - предотвращение гонок данных с помощью блокировок, очередей и акторов

Swift предоставляет мощные инструменты для реализации параллелизма. Но для создания надежных приложений важно понимать, что такое безопасность потоков (и как вообще обеспечить правильное поведение кода при одновременном доступе).

📖 В этой статье рассматривается несколько полезных разделов:

Что из себя представляет потокобезопасность
В чём её важность для приложения
Как возникают конфликты данных
Методы обеспечения безопасности потоков в Swift
Как современная модель параллелизма Swift повышает безопасность

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
9🔥179❤‍🔥43👏1
Что упало — не пропало? EXC_BAD_ACCESS vs. LLDB

Делюсь занятной статьёй с хабра про один из возможных сценариев разбора неочевидного краша.

Есть советы, как читать backtrace, много инфы про регистры и про то, как отследить цепочку до причины падения приложения.

📖 Сама статья доступна здесь

А о продвинутых трюках lldb для Swift можно почитать в этом посте.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
10👏20🔥115❤‍🔥43🍾2
Модуляризация Swift-приложений с помощью SPM

В этой статье автор делится своим подходом по работе с зависимостями на проекте. И делит их на три типа: common (для логгеров и небольших тулкит-расширений), services (для работы с моделями API и эндпоинтами в целом), а также features.

Можно посмотреть на пример настройки таких пакетов (и полный граф зависимостей).

📖 А почитать можно тут.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
19🔥138👍4👏2
This media is not supported in your browser
VIEW IN TELEGRAM
Анимация принтера в 30 строчек кода

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

Например, на гифке один из эффектов в моём пет-проекте. Под капотом UIBezierPath, а значит, эффект можно полностью кастомизировать как угодно.

🏠 Как это выглядит в продакшне - можно посмотреть здесь.

А расширенный код фичи целиком: 💰 вот тут и ⭐️ здесь.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
720❤‍🔥10🔥9👍5👌4👏3
За последний месяц время проверки приложений в App Store для вас
Anonymous Poll
29%
Увеличилось
6%
Уменьшилось
17%
Не изменилось
47%
Интересны ответы
3👌52🍾22❤‍🔥1👍1🔥1💯1
Ещё один день

и теперь уже из каждого утюга новости о блокировке телеги. Той самой уютной, в которой сидит фактическое, пусть и с ботами вместе, но всё-таки большинство современной аудитории этих наших интернетов.

Современной - а значит: молодёжной, самой светлой, умной и продвинутой части 21 века. Тех самых умов, которые двигают науку, технологии, экономику и все остальные не менее важные сферы далее, вперёд.

Я зарегистрировался в телеграме не просто на ранних стадиях, а буквально в первых 10 000 человек (любой это может проверить через стандартный бот-чек времени реги акка). И с тех пор многое изменилось.

В телеге стало больше проблем, появился упор на развитие и финансовую составляющую от разработчиков (хоть и было заявление про отсутствие рекламы или платных услуг когда-то).

Но несмотря на это, этот продукт - фактический флагман современной iOS-разработки, все лучшее и самое производительное собрано здесь. Другие - копируют.

Я могу быть не согласен с основателем телеграма по многим вопросам. И у каждого из вас наверняка есть свои претензии к качеству.

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

Лимитировать доступ к буквально важнейшему средству общения сейчас - абсурдно.

Любой, кто проходил аудит приложения, понимает значение, что безопасность техническая это совершенно не то же самое, что и безопасность, связанная с социальной инженерией.

Пока это будет в моих силах - я продолжу писать здесь.

Спасибо за внимание.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
35❤‍🔥115👏32💯15🔥11🤗54👍2🍾1
This media is not supported in your browser
VIEW IN TELEGRAM
Фильтр Кувахара в iOS: делаем из фотки картину с помощью алгоритма

Знаете ли вы, как в приложениях получаются те самые эффекты «картины маслом» или акварели?

Чаще всего за этой магией стоит фильтр Кувахары - нелинейный сглаживающий алгоритм, который умеет убирать шум, но при этом сохраняет резкие границы объектов.

Вы практически наверняка видели этот фильтр в куче редакторов.

Но скорее всего ещё вы делали снимки МРТ или УЗИ, и именно с помощью этого фильтра они чистятся от всяких зёрен и лишнего шума. И хотя всегда есть крайние кейсы, этот фильтр получил широкое распространение.

На один из вариантов реализации можно посмотреть здесь.

А исходный код на SwiftUI+Metal уже доступен: 💰 вот тут и ⭐️ здесь.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
16186❤‍🔥5🔥4💯21
This media is not supported in your browser
VIEW IN TELEGRAM
Текущая обстановка в разработке: промпт-инженеры просят ИИ-помощников исправить ошибки в их коде

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
😁55🤣24💯11🔥2👍1
На сколько вам хватит финансовой подушки безопасности? Особенно актуальный вопрос после прошлого опроса про ситуацию на рынке
Anonymous Poll
15%
0 месяцев
9%
До 1 месяца (хватит на самое необходимое)
16%
1-3 месяца
14%
3-6 месяцев
10%
6-12 месяцев
10%
Больше года, но меньше трех
7%
Хватит более, чем на 3 года
19%
Узнать результаты
🤯30🔥43🎉2💯2🤝2
Please open Telegram to view this post
VIEW IN TELEGRAM
1😁57💯14🤣8❤‍🔥2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Анимация разворачивания контента в SwiftUI

Не всегда стандартные элементы в iOS выполняют свою функцию так, как нужно, и периодически это относится даже к анимациям.

Делюсь занятным подходом к реализации компонента для раскрытия (под капотом GeometryReader и протокол Animatable).

📖 Почитать статью можно здесь.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
8248🔥5👍4👏2
🗓 WWDC26 пройдет с 8 по 12 июня

Какие нововведения ждёте больше всего? Может быть, новый фреймворк или очередное превращение шутки в реальность?

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
2615🔥8🫡3❤‍🔥1👍1💯1🆒1