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

Новости Kotlin и мультиплатформы @kotlin_broadcast
Новости Android @android_broadcast
Реклама и прочее @ab_manager
Download Telegram
📱 Рендеринг пиксельной графики с помощью SwiftUI
Люблю интересные задачки. Недавно только думал как реализуют алгоритмы для рисования картин по-номерам из любой фотографии. Суть задачи простая, разбиваем изображение на полигоны, находим средний цвет в каждом полигоне и выбираем наиболее близкий из доступной палитры. Звучит просто? Но каждый из этапов со звездочкой: полигон какой формы, как выделить контуры? Какой размер полигона? Нужно ли мержить полигоны? Какое минимальное число цветов нужно для generic решения? Можно посмотреть решение на TypeScript но статья не про это.
Статья про решение похожей задачи: перевод в PixelArt. Основная проблема рендеринга пиксельной графики — сохранение четких границ пикселей при масштабировании. Можно использовать .interpolation(.none) модификатор, чтобы избежать размытия. Холст позволяет рисовать дополнительные элементы, такие как разделители. Так же используются модификаторы aspectRatio, antialiased для корректного рендеринга.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1
🔨 Соединение двух точек
Простая статья с примерами использования UIBezierPath и trimmedPath для создания закругленных углов.
🟢 Закругление нижнего левого угла
🟢Прямая с нулевым началом
🟢Применение scaleEffect после кадра для точного позиционирования
🟢Учет различных направлений входа и выхода из точек
🟢Определение относительной позиции между начальной и конечной точками
🟢Создание подпутей для различных направлений входа и выхода
Много примеров кода и разных подходов к реализации внутри статьи
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
💤 Zed - твой редактор завтрашнего дня
Рубрика рассуждения. Мы с вами переживаем не только LLM революцию но и ренессанс редакторов кода.
Открытие месяца - Zed, он заменил мне все кейсы использования Sublime Text и Merge.
🟢🐥 Поддержка Swift
🟢Молниеносно быстрая работа, мгновенный холодный старт и не требовательность к ресурсам
🟢Если сравнивать с Xcode, что угодно лучше Xcode, но без него все равно не обойтись
🟢Удобная работа с Git из коробки
🟢Уникальная интеграция с AI-ассистентами, даже с Claude
🟢Сниппеты кода
🟢Режим совместного редактирования, очень круто для парного программирования
🟢Полный рендеринг Markdown из коробки
🟢Обширная библиотека расширений - 513 на сегодня
🟢Недавно влили дебаггер (да, он с открытыми исходниками на Rust, должны же быть минусы)

AI ассистенты меняют подход к работе с исходниками, привычные принципы, на которых строились современные IDE на рассвете высокоуровневых языков программирования, постепенно уступают место вайб-кодингу. Разработчики все больше полагаются на искусственный интеллект для выполнения повседневных задач и IDE в современном их виде не достаточно гибкие чтобы успевать адаптироваться. Очень интересно как будет выглядеть setup разработчика через 3-5 лет. Как думаете, останутся ли редакторы и IDE в современном представлении или мы перейдем к чему-то совсем другому? Я уже стал чаще использовать для автоматизаций не привычный Swift а Python, т.к. с ним лучше справляется AI, а значит и мы с AI можем сделать задачу быстрее.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
5
📁 Использование Proxyman для перехвата сетевых запросов приложений
Проксирование трафика это обязательная часть разработки мобильного приложения. У каждого есть свой любимый мультитул для проксирования, сам я использовал Charles, а последнее время полностью перешел на Proxyman. В статье как раз на примерах показывается как его настроить и использовать.Proxyman — инструмент для перехвата и имитации сетевых запросов. Его можно использовать для мокирования различных сценариев, тестирования API, подмены ответов и многого другого. В статье рассматривается как раз настройка и использование этого инструмента:
🔵Установка и настройка Proxyman
🔵Захват сетевых запросов
🔵Proxyman не классифицирует запросы по приложениям, а по доменам.
🔵Моделирование данных (Имитационные данные)
🔵Поддержка отображения протокольных буферов и двоичных данных.
🔵Возможность моделирования различных сетевых условий и конфигураций сервера.
🔵Функции отладки сетевых точек останова, пользовательские сценарии, автоматическая генерация кода и механизм редактирования и повтора.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9
Улучшите архитектуру Вашего Кода с помощью принципов SOLID (с примерами Swift)
Начинаем неделю с моей любимой рубрики, статья от подписчика Maxim Egorov. Тема статьи никогда не устареет, понимание применения SOLID принципов поможет вам улучшить ваш код. SOLID помогает писать чистый, масштабируемый и поддерживаемый код. Следование принципам уменьшает зависимости, повышает гибкость и упрощает расширение и тестирование.
⌨️ Принцип единой ответственности. Каждый объект должен выполнять только одну задачу и иметь только одну причину для изменения
⌨️ Принцип открытия/закрытия. Код должен быть открыт для расширения, но закрыт для модификации
⌨️ Принцип замещения - Лисков. Подклассы должны заменять родительский класс без изменения логики программы
⌨️ Принцип разделения интерфейсов. Классы не должны принуждаться к реализации методов, которые им не нужны
⌨️ Принцип инверсии зависимостей. Модули высокого уровня не должны зависеть от модулей низкого уровня

Выводы
🔵Применение принципов SOLID делает код стабильным, адаптируемым и устойчивым к сложности
🔵SOLID помогает предотвратить хаос в проектах
🔵Улучшает организацию, поддержку, тестирование и расширение кода
🔵SOLID помогает создавать масштабируемые и гибкие архитектуры
#solid
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥1