Разработка
- Be the Idiot
- Drunk Post: Things I’ve Learned as a Senior Engineer
- “Tell a story” is not helpful advice
Маркетинг
Кроссплатформа
- Plumix: как я переписываю Flutter на C# — вместе с ИИ
- Refresh Tokens in Flutter: Keep Users Logged In Without Interruptions
- Stop Installing Generic Flutter Skills. Write Your Own. Here’s How.
iOS
Мне захотелось зайти иначе. Я взял три «памятных» нововведения Swift 6.2, написал на них бенчмарки, прогнал на релизном тулчейне и полез в сгенерированный ассемблер. Вопрос меня занимал не «что это делает», а куда более практичный: дают ли эти фичи реальный выигрыш в цифрах — и в каких случаях оптимизатор Swift давно делает то же самое за вас, бесплатно и молча. Ответ оказался менее очевидным, чем их маркетинг.
- Swift 6.2 против вашего оптимизатора: разбираемся с InlineArray, Span и strict memory safety на замерах
- 10 Tips to Maximize Claude Code for iOS Development
- 15 SwiftUI Components I Built Entirely with Claude Code
Android
Kotlin DSL — это не отдельный язык и не «магия» Gradle, а обычный Kotlin, который благодаря trailing lambda, extension- и infix-функциям, перегрузке операторов и особенно lambdas with receivers начинает выглядеть как специализированный язык. Поэтому dependencies { implementation(...) } — всего лишь вызов функции с лямбдой, а внутри блока меняется не синтаксис языка, а объект-получатель this. По той же схеме устроены блоки Ktor, Koin, kotlinx.html и многие API в Compose. Создание собственного DSL начинается не с классов, а с желаемого вида кода: сначала проектируется удобный call site, затем для каждого блока определяется receiver и добавляются builder-функции, создающие и связывающие объекты. В статье этот подход показан на HTML DSL, где структура Kotlin-кода повторяет структуру документа, типы ограничивают допустимые вложения, а @DslMarker не позволяет случайно обращаться к внешнему receiver. В результате примерно за 60 строк получается типобезопасный мини-язык с автодополнением и проверкой ошибок на этапе компиляции.

