Воркфлоу работы с LLM
AI довольно сильно меняет процесс разработки как для новых проектов, так и при работе в существующих кодовых базах. Я сам использую похожий на описанный в статье подход:
👉В чате совместо с AI брейнштормятся требования к задаче, на выходе получается подробная спека
👉На базе спеки ассистент пишет план атомарных задач
👉Эти задачи одна за одной скармливаются агенту либо LLM, хорошо работающей с кодом
AI довольно сильно меняет процесс разработки как для новых проектов, так и при работе в существующих кодовых базах. Я сам использую похожий на описанный в статье подход:
👉В чате совместо с AI брейнштормятся требования к задаче, на выходе получается подробная спека
👉На базе спеки ассистент пишет план атомарных задач
👉Эти задачи одна за одной скармливаются агенту либо LLM, хорошо работающей с кодом
harper.blog
My LLM codegen workflow atm
A detailed walkthrough of my current workflow for using LLms to build software, from brainstorming through planning and execution.
Как обходить защиту от дебага и джейлбрейка
Некоторые приложения, чаще всего банковские, встраивают дополнительные средства защиты, которые не дают подключиться к ним в рантайме, а на джейлбрейкнутых телефонах вообще не работают. В статье разбирается, как обойти все эти проверки, успешно подключиться дебаггером и выполнить в рантайме произвольный код.
Некоторые приложения, чаще всего банковские, встраивают дополнительные средства защиты, которые не дают подключиться к ним в рантайме, а на джейлбрейкнутых телефонах вообще не работают. В статье разбирается, как обойти все эти проверки, успешно подключиться дебаггером и выполнить в рантайме произвольный код.
bryce.co
Debugging An Undebuggable App
This app has a surprising number of anti-debugging protections. Let's figure out how to bypass them.
Serverless Swift
Пример того, как на Swift написать AWS Lambda, которая будет управлять умными лампочками. Помимо особенностей реализации, автор подсчитывает стоимость такого бэкенда и его перфоманс.
Пример того, как на Swift написать AWS Lambda, которая будет управлять умными лампочками. Помимо особенностей реализации, автор подсчитывает стоимость такого бэкенда и его перфоманс.
Ryantoken
Ryan Token – Serverless Swift
Controlling Philips Hue bulbs by running Swift on AWS Lambda.
Доклады про Swift с FOSDEM 2025
Если вы хотите послушать неконвенциональные доклады про Swift, то FOSDEM – самое оно! Ничего про iOS разработку, вместо этого – серверсайд, эмбеддед и технические кишки. Вот несколько интересных записей:
👉Swift/Java Interoperability
👉Ferrofluidic Music Visualiser with Embedded Swift
👉Distributed Tracing
Если вы хотите послушать неконвенциональные доклады про Swift, то FOSDEM – самое оно! Ничего про iOS разработку, вместо этого – серверсайд, эмбеддед и технические кишки. Вот несколько интересных записей:
👉Swift/Java Interoperability
👉Ferrofluidic Music Visualiser with Embedded Swift
👉Distributed Tracing
fosdem.org
FOSDEM 2025 - Foreign Function and Memory APIs and Swift/Java interoperability
Какие версии iOS сейчас используются
1️⃣iOS 18 – 79.5%
2️⃣iOS 17 – 13.7%
3️⃣iOS 16 – 5%
А распределение по минорным версиям можно посмотреть здесь.
1️⃣iOS 18 – 79.5%
2️⃣iOS 17 – 13.7%
3️⃣iOS 16 – 5%
А распределение по минорным версиям можно посмотреть здесь.
Model Context Protocol
Новая статья в блоге NSHipster, в этот раз с разбором MCP – протокола для общения LLM и внешних инструментов. А помимо статьи, ребята заопенсорсили и Swift SDK для MCP.
Новая статья в блоге NSHipster, в этот раз с разбором MCP – протокола для общения LLM и внешних инструментов. А помимо статьи, ребята заопенсорсили и Swift SDK для MCP.
NSHipster
Model Context Protocol (MCP)
Language Server Protocol (LSP) revolutionized how programming languages integrate with developer tools. Model Context Protocol (MCP) aims to do the same for a new generation of AI tools.
Lynx – новый кроссплатформенный фреймворк
TikTok выпустили новый кроссплатформенный UI фреймворк. Концептуально он ближе всего к React Native – используются веб-технологии, но UI рендерится в нативные платформенные компоненты. Обещают классный перфоманс за счет использования двух рантаймов, одного для высокоприоритетных UI операций, а другого для большей части пользовательского кода.
TikTok выпустили новый кроссплатформенный UI фреймворк. Концептуально он ближе всего к React Native – используются веб-технологии, но UI рендерится в нативные платформенные компоненты. Обещают классный перфоманс за счет использования двух рантаймов, одного для высокоприоритетных UI операций, а другого для большей части пользовательского кода.
Ускоряем таблицы в SwiftUI с помощью UIKit
Если производительности списков в SwiftUI вам в каких-то кейсах недостаточно, вы можете продолжить его использовать только для лэйаута ячеек, но для менеджмента всей табличной логики переключиться на UICollectionView. Это стало возможным благодаря новому типу конфигурации UIKit ячеек, который позволяет встраивать SwiftUI.
Если производительности списков в SwiftUI вам в каких-то кейсах недостаточно, вы можете продолжить его использовать только для лэйаута ячеек, но для менеджмента всей табличной логики переключиться на UICollectionView. Это стало возможным благодаря новому типу конфигурации UIKit ячеек, который позволяет встраивать SwiftUI.
Swift with Majid
SwiftUI Performance - How to use UIKit
Nowadays, Apple platform development has undergone significant changes. Previously, we believed that building the core of an app around UIKit and using SwiftUI for certain screens was a good idea. This week, we’ll delve into the foundation of app development…
Как сократить большой JSON
Огромные JSON'ы, загружаемые с сервера, один из частых недостатков backend-driven UI. Ребята из Альфы рассказывают, как они свели дублирующиеся конструкции к минимуму, реализовав кастомную логику шаблонизации. В итоге на списках со 100 элементами получается ~74% экономии.
Огромные JSON'ы, загружаемые с сервера, один из частых недостатков backend-driven UI. Ребята из Альфы рассказывают, как они свели дублирующиеся конструкции к минимуму, реализовав кастомную логику шаблонизации. В итоге на списках со 100 элементами получается ~74% экономии.
Хабр
Как мы сокращали размер JSONʼа в SDUI
Проблема большого объёма JSON Представим, что мы отображаем на экране несколько однотипных элементов, например, список акций. Представим SDUI-разметка для данного экрана. Акции отображаются с помощью...
Новый релиз Copilot for Xcode
Вышла новая версия плагина Copilot, вместе с которой он перешел из статуса беты в GA. Самое важное – теперь можно выбирать, какая LLM будет использоваться в чате: Claude Sonnet, o1 или o3-mini.
Вышла новая версия плагина Copilot, вместе с которой он перешел из статуса беты в GA. Самое важное – теперь можно выбирать, какая LLM будет использоваться в чате: Claude Sonnet, o1 или o3-mini.
Что происходит с Apple Intelligence
На прошлой неделе Apple в очередной раз отложили релиз новых AI фичей, которые показывали еще на WWDC. Одновременно с этим произошла утечка того, о чем говорилось на внутреннем разборе полетов команды Siri:
👉AI надежно работает только в 66-80% случаев, что очень мало и далеко от продакшна.
👉Менеджер команды Siri винит маркетинг в том, что всему миру показали и пообещали еще не работающие фичи, создав нереалистичные ожидания.
👉Никого из топов увольнять за провал пока не планируют, но и не исключают этого.
👉Apple Intelligence выпустят только тогда, когда будут уверены в качестве.
На прошлой неделе Apple в очередной раз отложили релиз новых AI фичей, которые показывали еще на WWDC. Одновременно с этим произошла утечка того, о чем говорилось на внутреннем разборе полетов команды Siri:
👉AI надежно работает только в 66-80% случаев, что очень мало и далеко от продакшна.
👉Менеджер команды Siri винит маркетинг в том, что всему миру показали и пообещали еще не работающие фичи, создав нереалистичные ожидания.
👉Никого из топов увольнять за провал пока не планируют, но и не исключают этого.
👉Apple Intelligence выпустят только тогда, когда будут уверены в качестве.
Daring Fireball
Something Is Rotten in the State of Cupertino
Who decided these personalized Siri features should go in the WWDC keynote, with a promise they’d arrive in the coming year, when, at the time, they were in such an unfinished state they could not be demoed to the media even in a controlled environment? Three…
Правильный поиск вхождения строки
❌
✅
Чем второй вариант лучше:
👉По умолчанию case insensitive
👉Игнорирует диакритические знаки (cafe vs café)
👉Нормально справляется с локально-специфичными символами (ẞ → ss)
👉Поддерживается в SwiftData
❌
name.lowercased().contains(searchText.lowercased())
✅
name.localizedStandardContains(searchText)
Чем второй вариант лучше:
👉По умолчанию case insensitive
👉Игнорирует диакритические знаки (cafe vs café)
👉Нормально справляется с локально-специфичными символами (ẞ → ss)
👉Поддерживается в SwiftData
Рендеринг пиксель-арта
Основная проблема в рендеринге пиксель-арта – размывание четких границ каждого пикселя при скейле картинки для дисплеев с большим разрешением. В статье разбирается два способа, как это сделать в SwiftUI: с помощью
Основная проблема в рендеринге пиксель-арта – размывание четких границ каждого пикселя при скейле картинки для дисплеев с большим разрешением. В статье разбирается два способа, как это сделать в SwiftUI: с помощью
Image
и с помощью Canvas
.Новая рабочая группа в Swift, отвечающая за тестирование
Как вы, наверное, знаете, развитие Swift сейчас довольно децентрализовано, и за разные его аспекты отвечают рабочие группв, собранные как из сотрудников Apple, так и из членов коммьюнити. Так вот, сформирована новая рабочая группа, которая будет отвечать за все, что связано с тестированием, включая различный тулинг и библиотеки. В основном они будут заниматься реализацией Swift Testing Vision.
Подробнее об участниках и целях можно прочитать здесь.
Как вы, наверное, знаете, развитие Swift сейчас довольно децентрализовано, и за разные его аспекты отвечают рабочие группв, собранные как из сотрудников Apple, так и из членов коммьюнити. Так вот, сформирована новая рабочая группа, которая будет отвечать за все, что связано с тестированием, включая различный тулинг и библиотеки. В основном они будут заниматься реализацией Swift Testing Vision.
Подробнее об участниках и целях можно прочитать здесь.
Swift Forums
Announcing the Testing Workgroup
I'm excited to announce the formation of a new Testing Workgroup for Swift! This team will help guide the experience, libraries, and tools for testing Swift code. The idea of creating a testing workgroup first came up during the Language Steering Group's…
Используем Swift в Zed
Zed – сравнительно недавно выпущенный редактор кода, основная особенность которого – он супер быстрый. Если вам интересно посмотреть на еще одну альтернативу Xcode, то настроить для Swift разработки по инструкциям из статьи его довольно просто.
Zed – сравнительно недавно выпущенный редактор кода, основная особенность которого – он супер быстрый. Если вам интересно посмотреть на еще одну альтернативу Xcode, то настроить для Swift разработки по инструкциям из статьи его довольно просто.
WWDC 2025
А вот и анонс WWDC этого года. Блокируем неделю с 9 по 13 июня. Смотреть можно, как и в прошлый раз на YouTube и в Apple Developer app.
А вот и анонс WWDC этого года. Блокируем неделю с 9 по 13 июня. Смотреть можно, как и в прошлый раз на YouTube и в Apple Developer app.
Почему Group в SwiftUI стоит избегать
В отличие от
В отличие от
VStack
/HStack
, Group
работает не очень надежно – поведение между симуляторами и превью различается, какие-то модификаторы вызываются только один раз, а какие-то – для каждой вьюшки.chris.eidhof.nl
Why I Avoid Group — Chris Eidhof
Мутационное тестирование в большом проекте
Мутационное тестирование – это метод тестирования программ, при котором в код специально вносятся небольшие изменения – мутации, чтобы проверить, обнаружат ли их тесты. Так вот, для Swift есть опенсорсный инструмент Muter, который умеет реализовывать довольно много различных мутаций.
В статье разбирается опыт использования Muter в проекте с 1000 тестов и 1657 сгенерированных мутантов.
Мутационное тестирование – это метод тестирования программ, при котором в код специально вносятся небольшие изменения – мутации, чтобы проверить, обнаружат ли их тесты. Так вот, для Swift есть опенсорсный инструмент Muter, который умеет реализовывать довольно много различных мутаций.
В статье разбирается опыт использования Muter в проекте с 1000 тестов и 1657 сгенерированных мутантов.
GitHub
GitHub - muter-mutation-testing/muter: 🔎 Automated mutation testing for Swift 🕳️
🔎 Automated mutation testing for Swift 🕳️. Contribute to muter-mutation-testing/muter development by creating an account on GitHub.
Bindings в SwiftUI
Chris Eifhof рассказывает, почему в продакшн коде стоит избегать
Chris Eifhof рассказывает, почему в продакшн коде стоит избегать
Binding(get:set:)
– меньше рисков поймать проблемы с перфомансом, код проще поддерживать и тестировать.chris.eidhof.nl
Bindings — Chris Eidhof
Туториал про профилирование от Apple
Apple выпустили большой полуторачасовой туториал про то, как использовать Instruments для профилирования фризов и перфоманса приложения.
Apple выпустили большой полуторачасовой туториал про то, как использовать Instruments для профилирования фризов и перфоманса приложения.
Apple Developer Documentation
Profiling apps using Instruments | Apple Developer Documentation
Use Instruments to analyze the performance, resource usage, and behavior of your apps. Learn how to improve responsiveness, reduce memory usage, and analyze complex behavior over time.