iOS
Автор рассказал, как ему удалось ускорить CI-сборки Xcode почти в 10 раз с помощью подхода slot-warmed caching. Проблема была типичной: даже на быстрых Mac mini сборки в CI занимали 15–30 минут из-за постоянных «холодных» кешей DerivedData. Каждая задача начинала сборку с нуля, не переиспользуя уже собранные артефакты, что приводило к огромным потерям времени. Решением стали фиксированные «слоты» — постоянные директории кеша, которые переиспользуются между запусками CI. Задача просто получает свободный слот с уже прогретым кешем, без копирования и конфликтов путей. В итоге среднее время сборки сократилось до ~2,5 минут. Главный вывод автора — быстрый CI важен не ради цифр, а ради потока разработки: когда проверки проходят почти мгновенно, разработчики меньше отвлекаются и работают заметно продуктивнее.
👍, если хочешь перевод на русский.
• Cupertino — локальный сканер документации Apple и сервер MCP
• Побег из стеклянной тюрьмы. iOS Jailbreak. Часть первая
• Stop Using Loops to Search Data in Swift — Instead, Do This
• The Coding Round Where I Forgot the Most Basic Edge Case — And Paid for It
• Building Complex UIs with SwiftUI Phases
• Keep Your Strings Clean and Localized in a Single File
• Implementing subnoscriptions In-App Purchases with StoreKit 2
• From broken to testable SwiftUI navigation: The decoupled approach of MVVM with coordinators
• 10× faster Xcode CI builds with slot caching
• Analysing and Removing Hangs in iOS Apps
Автор рассказал, как ему удалось ускорить CI-сборки Xcode почти в 10 раз с помощью подхода slot-warmed caching. Проблема была типичной: даже на быстрых Mac mini сборки в CI занимали 15–30 минут из-за постоянных «холодных» кешей DerivedData. Каждая задача начинала сборку с нуля, не переиспользуя уже собранные артефакты, что приводило к огромным потерям времени. Решением стали фиксированные «слоты» — постоянные директории кеша, которые переиспользуются между запусками CI. Задача просто получает свободный слот с уже прогретым кешем, без копирования и конфликтов путей. В итоге среднее время сборки сократилось до ~2,5 минут. Главный вывод автора — быстрый CI важен не ради цифр, а ради потока разработки: когда проверки проходят почти мгновенно, разработчики меньше отвлекаются и работают заметно продуктивнее.
👍, если хочешь перевод на русский.
• Cupertino — локальный сканер документации Apple и сервер MCP
• Побег из стеклянной тюрьмы. iOS Jailbreak. Часть первая
• Stop Using Loops to Search Data in Swift — Instead, Do This
• The Coding Round Where I Forgot the Most Basic Edge Case — And Paid for It
• Building Complex UIs with SwiftUI Phases
• Keep Your Strings Clean and Localized in a Single File
• Implementing subnoscriptions In-App Purchases with StoreKit 2
• From broken to testable SwiftUI navigation: The decoupled approach of MVVM with coordinators
• 10× faster Xcode CI builds with slot caching
• Analysing and Removing Hangs in iOS Apps
Jeffverkoeyen
10× faster Xcode CI builds with slot caching — featherless software design
👍9❤1🔥1
Android
В релизе Kotlin 2.3.0 представлен ряд значимых улучшений для языка, инструментов и различных платформ. Вот некоторые: явные backing fields; проверка неиспользуемых возвращаемых значений; изменения в контекстно-зависимое разрешение; улучшенный экспорт в Swift; импорт библиотек C и Objective-C; поддержка Java 25; поддержка стектрейсов для минифицированных Android-приложений; добавлена совместимость с Gradle 9.0.
• Улучшение доступности в Android-приложениях
• When Kotlin Flow Needs channelFlow and callbackFlow
• Understanding MVI in Jetpack Compose with Clean Architecture
• The Android Threading Question That 90% of Developers Get Half Right
• WorkManager in Android: Background Tasks Done Right
• 15 Must-Know Android Interview Questions for 2025
• Kotlin 2.3.0 Released
• 18% Faster Compiles, 0% Compromises
В релизе Kotlin 2.3.0 представлен ряд значимых улучшений для языка, инструментов и различных платформ. Вот некоторые: явные backing fields; проверка неиспользуемых возвращаемых значений; изменения в контекстно-зависимое разрешение; улучшенный экспорт в Swift; импорт библиотек C и Objective-C; поддержка Java 25; поддержка стектрейсов для минифицированных Android-приложений; добавлена совместимость с Gradle 9.0.
• Улучшение доступности в Android-приложениях
• When Kotlin Flow Needs channelFlow and callbackFlow
• Understanding MVI in Jetpack Compose with Clean Architecture
• The Android Threading Question That 90% of Developers Get Half Right
• WorkManager in Android: Background Tasks Done Right
• 15 Must-Know Android Interview Questions for 2025
• Kotlin 2.3.0 Released
• 18% Faster Compiles, 0% Compromises
The JetBrains Blog
Kotlin 2.3.0 Released | The Kotlin Blog
The Kotlin 2.3.0 release is out! This version includes new language features, stable ones, and other features now enabled by default. This release also brings tooling updates, performance improvements
❤1
В то время как такие технологические гиганты, как Google, Amazon и Apple, доминируют на рынке умного дома с закрытыми экосистемами, альтернатива с открытым исходным кодом незаметно набирает обороты. Поклонники домашней автоматизации используют Home Assistant, платформу для самостоятельного управления умным домом. И в этом году с ней произошло нечто грандиозное. По данным Appfigures Intelligence, мобильное приложение Home Assistant, по прогнозам, достигнет 1.7 млн загрузок в 2025 году. Этот рост особенно примечателен, учитывая техническую природу приложения и тот факт, что пользователям необходимо настроить и поддерживать собственный сервер умного дома. Рост Home Assistant показывает, что даже в категориях, где доминируют технологические гиганты, есть место для открытых альтернатив, которые отдают приоритет контролю со стороны пользователя. По мере расширения использования умного дома и накопления пользователями все большего количества устройств в несовместимых экосистемах, спрос на единое, принадлежащее пользователю решение будет только расти.
Разработка
• Сдвиг камеры в 2ГИС MSDK на маркер при разных углах поворота камеры
• How Pinterest Built a Real‑Time Radar for Violative Content using AI
Маркетинг
• Home Assistant — приложение, возглавляющее революцию в сфере «умного дома»
• ASOGenius: бесплатный ИИ-инструмент для ASO
Кроссплатформа
• Announcing RNRepo: Faster React Native Builds Through Prebuilt Artifacts
Разработка
• Сдвиг камеры в 2ГИС MSDK на маркер при разных углах поворота камеры
• How Pinterest Built a Real‑Time Radar for Violative Content using AI
Маркетинг
• Home Assistant — приложение, возглавляющее революцию в сфере «умного дома»
• ASOGenius: бесплатный ИИ-инструмент для ASO
Кроссплатформа
• Announcing RNRepo: Faster React Native Builds Through Prebuilt Artifacts
AppTractor
Home Assistant — приложение, возглавляющее революцию в сфере «умного дома»
Рост Home Assistant показывает, что даже в категориях, где доминируют технологические гиганты, есть место для открытых альтернатив, которые отдают приоритет контролю со стороны пользователя.
👍4🍾3
В сотрудничестве с облачной платформой Nebius AI компания JetBrains запустила серию из десяти бесплатных мини-курсов для разработчиков, демонстрирующих, как интегрировать ИИ в рабочий процесс, чтобы повысить производительность.
Всего на платформе есть 10 курсов и один Live-урок:
• Техники промптинга
• Программирование с ИИ-агентом
• Теория агентского рабочего процесса
• Обзор ИИ-инструментов для разработчиков
• ИИ-агенты как ваша команда
• Создание собственного ИИ-агента
• ИИ в QA
• Введение в ИИ для DevOps
• Легальные риски использования ИИ для программирования
• Создание приложения с ИИ с нуля
• Лабораторная ИИ разработки
Внутри 25 практических задач, выпускной проект. Предполагаемое время на все - около 20 часов. Все бесплатно. Также есть план за $500, который включает более сложную программу обучения и в итоге позволяет получить сертификат.
Please open Telegram to view this post
VIEW IN TELEGRAM
✍5😁4❤2😐1
iOS
А вот и вчерашняя статьяочень интересно, ничего не понятно. Есть множество деталей, но в целом, основная идея, как я понял, человек просто сделал "постоянные" папки для
• Ускорение CI сборок в Xcode с кэшированием слотов
• Все не так с Codable
• Опенсорс-библиотека Implicits от Яндекс Браузера: новый шаг в передаче зависимостей Swift
• Stretchable Header in SwiftUI for Vertical and Horizontal ScrollView
• My Worst iOS Interview Ever — The Senior Reviewer Who Destroyed My Architecture Diagram
А вот и вчерашняя статья
DerivedData? В чем была сложность до этого так сделать? Кто понял суть происходящего?• Ускорение CI сборок в Xcode с кэшированием слотов
• Все не так с Codable
• Опенсорс-библиотека Implicits от Яндекс Браузера: новый шаг в передаче зависимостей Swift
• Stretchable Header in SwiftUI for Vertical and Horizontal ScrollView
• My Worst iOS Interview Ever — The Senior Reviewer Who Destroyed My Architecture Diagram
AppTractor
Ускорение CI сборок в Xcode с кэшированием слотов
Далее следует полный технический анализ решения, которое я в итоге реализовал, которое я называю кэшированием с подогревом слотов.
✍1
Android
Google представил Gemini 3 Flash для Android — новую веху в мобильном ИИ, сочетающую высокую скорость и мультимодальность. Модель оптимизирована для работы с минимальной задержкой, позволяя приложениям мгновенно анализировать текст, изображения и видео прямо на устройстве через Google AI Edge SDK. Для разработчиков это означает возможность создавать более приватные и экономичные решения: обработка данных на девайсе снижает затраты на облачную инфраструктуру и повышает безопасность. Благодаря обновленным инструментам в Android Studio и интеграции с AICore, внедрение функций умного помощника или сложного анализа контента теперь требует гораздо меньше времени и ресурсов.
• Android Gradle Graph Plugin — мониторинг зависимостей проекта
• Android UI-тесты с Maestro без тяжелой инфраструктуры
• Theming Your App for the Holidays
• Build smarter apps with Gemini 3 Flash
Google представил Gemini 3 Flash для Android — новую веху в мобильном ИИ, сочетающую высокую скорость и мультимодальность. Модель оптимизирована для работы с минимальной задержкой, позволяя приложениям мгновенно анализировать текст, изображения и видео прямо на устройстве через Google AI Edge SDK. Для разработчиков это означает возможность создавать более приватные и экономичные решения: обработка данных на девайсе снижает затраты на облачную инфраструктуру и повышает безопасность. Благодаря обновленным инструментам в Android Studio и интеграции с AICore, внедрение функций умного помощника или сложного анализа контента теперь требует гораздо меньше времени и ресурсов.
• Android Gradle Graph Plugin — мониторинг зависимостей проекта
• Android UI-тесты с Maestro без тяжелой инфраструктуры
• Theming Your App for the Holidays
• Build smarter apps with Gemini 3 Flash
✍1
На Хабре
Кайф. Присоединяйтесь.
Разработка
• «Станьте инженером, использующим искусственный интеллект» — обучающий курс JetBrains и Nebius
• Скандалы, интриги, продуктовые метрики: что нам дало ускорение загрузки экрана в приложении hh
• 10 Automation Tools Every Lazy Developer Should Use
Маркетинг
• Google тестирует помощника по повышению продуктивности на основе электронной почты
Кроссплатформа
• Building the Same Screen in Flutter, SwiftUI & Compose: A Real Developer’s Reality Chec
hh.ru пишет об эксперименте по ускорению одного экрана. Результат - экран ускорился. Как выросло удовлетворение пользователей и выручка, кажется, осталось за кадром. В комментариях традиционно автору напихали в панамку:В результате опроса на сайте установленО, что 100% пользователей пользуются интернетом. Что, кроме синтетических непонятных "продуктовых метрик" сделал полезного в итоге ваш тест?
Кайф. Присоединяйтесь.
Разработка
• «Станьте инженером, использующим искусственный интеллект» — обучающий курс JetBrains и Nebius
• Скандалы, интриги, продуктовые метрики: что нам дало ускорение загрузки экрана в приложении hh
• 10 Automation Tools Every Lazy Developer Should Use
Маркетинг
• Google тестирует помощника по повышению продуктивности на основе электронной почты
Кроссплатформа
• Building the Same Screen in Flutter, SwiftUI & Compose: A Real Developer’s Reality Chec
Хабр
Скандалы, интриги, продуктовые метрики: что нам дало ускорение загрузки экрана в приложении hh
Всем привет! Меня зовут Саша Тотилас и я крашу иконки руковожу командой разработки в hh.ru . Хочу поделиться с Хабром результатами A/B-эксперимента: при оптимизации одного из экранов нашего приложения...
❤3👍2
iOS
Apple внесла ряд изменений в японский App Store, чтобы соответствовать требованиям Закона о конкуренции в сфере мобильного программного обеспечения (Mobile Software Competition Act, MSCA), который вступает в силу 18 декабря. MSCA похож на европейский Закон о цифровых рынках (DMA), поэтому японский App Store будет работать во многом так же, как и европейский App Store, но с некоторыми отличиями. Главное - теперь разработчики смогут принимать сторонние платежи в своих приложениях или направлять пользователей на веб-сайт для совершения покупки, можно запускать альтернативные магазины приложений — приложения могут распространяться через альтернативные магазины приложений вместо App Store. В связи с этим вводятся новые сборы - от 5% до 26% в зависимости от способа распространения и способа оплаты.
• Apple обновляет японский App Store для соответствия MSCA
• Snowdrop — простая работа с сетью
• Frames in SwiftUI Explained
• 10 SwiftUI Modifiers of iOS 26+ You Probably Missed
• Why Startups Are Slowly Abandoning Native iOS
• Implementing Consumable In-App Purchases with StoreKit 2
Apple внесла ряд изменений в японский App Store, чтобы соответствовать требованиям Закона о конкуренции в сфере мобильного программного обеспечения (Mobile Software Competition Act, MSCA), который вступает в силу 18 декабря. MSCA похож на европейский Закон о цифровых рынках (DMA), поэтому японский App Store будет работать во многом так же, как и европейский App Store, но с некоторыми отличиями. Главное - теперь разработчики смогут принимать сторонние платежи в своих приложениях или направлять пользователей на веб-сайт для совершения покупки, можно запускать альтернативные магазины приложений — приложения могут распространяться через альтернативные магазины приложений вместо App Store. В связи с этим вводятся новые сборы - от 5% до 26% в зависимости от способа распространения и способа оплаты.
• Apple обновляет японский App Store для соответствия MSCA
• Snowdrop — простая работа с сетью
• Frames in SwiftUI Explained
• 10 SwiftUI Modifiers of iOS 26+ You Probably Missed
• Why Startups Are Slowly Abandoning Native iOS
• Implementing Consumable In-App Purchases with StoreKit 2
AppTractor
Apple расширит рекламное пространство в поиске App Store
Apple позиционирует это обновление как часть более масштабных усилий по расширению масштабов поисковой рекламы в App Store, которая уже охватывает сотни миллионов посетителей еженедельно.
👍4
Android
В новой статье автор рассказывает о распространённой проблеме в Kotlin-коде — огромных блоках
• Implementing Play Store Age Signals API in Android (Kotlin)
• Stop Writing Massive when Statements: Master the State Pattern in Kotlin
В новой статье автор рассказывает о распространённой проблеме в Kotlin-коде — огромных блоках
when, которые со временем растут и превращаются в трудночитаемый, тяжело поддерживаемый код. Такие конструкции усложняют сопровождение, нарушают принцип открытости/закрытости (Open/Closed Principle) и заставляют постоянно искать и обновлять каждый метод при добавлении нового состояния. Вместо этого автор предлагает использовать паттерн State, который позволяет инкапсулировать поведение по состояниям в отдельные классы и убрать разветвления по действиям в одну точку, делая код чище и проще для изменений. Основная идея статьи — показать, как с помощью современного Kotlin-синтаксиса и объектно-ориентированного подхода можно избавиться от разраставшихся when-выражений, сгруппировав логику по состояниям, а не по действиям. Такой подход улучшает читаемость, соблюдает принципы SOLID и облегчает тестирование, ведь каждый класс-состояние реализует своё поведение. Переход на State Pattern особенно эффективен в случаях, когда объекты изменяют своё поведение в зависимости от состояния, и число таких состояний со временем растёт.• Implementing Play Store Age Signals API in Android (Kotlin)
• Stop Writing Massive when Statements: Master the State Pattern in Kotlin
Medium
Stop Writing Massive when Statements: Master the State Pattern in Kotlin
Tame Your Codebase with Elegant, Scalable, and Type-Safe State Machines
👍3
Прекрасная история о создании Offline-First приложения. В теории? Прекрасно. В реальности? Автор случайно открыл финального босса в прохождении архитектурного квеста — конфликты данных. И не те милые, что описаны в учебниках. А реальные, запутанные, противоречивые ошибки, которые поступают от реальных людей, использующих приложение на разных устройствах, способами, которые ни один менеджер по продукту не мог предсказать. К концу проекта его локальная база данных знала о предательстве и несогласованности больше, чем любые человеческие отношения. Главный урок: приложения, ориентированные на работу в офлайне, кажутся простыми… до поры до времени.
Разработка
• Я попытался сделать Offline-First приложение, и это чуть не уничтожили проект
• OpenAI открывает ChatGPT для сторонних приложений
• Я использовал MVVM на собеседовании в стартапе — меня спросили «почему»
• Как мы перевернули подход к мобильным интерфейсам с Backend Driven UI
• AI code creates 1.7x more problems
Маркетинг
• Apple расширит рекламное пространство в поиске App Store
• Прогнозы развития цифровой экономики в 2026 году
• Почему ваши воронки вам лгут и как можно измерить ценность действий пользователя
Кроссплатформа
• Flutter Hot Reload Isn't Enough (And Why Flutter Developers Need Widget Previews)
Разработка
• Я попытался сделать Offline-First приложение, и это чуть не уничтожили проект
• OpenAI открывает ChatGPT для сторонних приложений
• Я использовал MVVM на собеседовании в стартапе — меня спросили «почему»
• Как мы перевернули подход к мобильным интерфейсам с Backend Driven UI
• AI code creates 1.7x more problems
Маркетинг
• Apple расширит рекламное пространство в поиске App Store
• Прогнозы развития цифровой экономики в 2026 году
• Почему ваши воронки вам лгут и как можно измерить ценность действий пользователя
Кроссплатформа
• Flutter Hot Reload Isn't Enough (And Why Flutter Developers Need Widget Previews)
AppTractor
Я попытался сделать Offline-First приложение, и это чуть не уничтожили проект
Мы, разработчики, иногда проводим эксперименты ради удовольствия. А иногда такие эксперименты превращаются в фильмы ужасов.
👍5
Forwarded from AppFiles - Mobile Development
•
(iOS Ru) Ставим приложения на iOS через Android•
(iOS Ru) А ваше приложение похудело к лету?•
(iOS En) Senior iOS Engineer Mock Interview - Hotel Booking System Design•
(iOS En) Apple Books Expandable Menu - SwiftUI•
(iOS En) Truncated Text Effect - Tap to Expand Text View, Text Animations, Text Renderer - SwiftUI•
(iOS En) How I use Codex GPT 5.2 with Xcode (My complete workflow)•
(iOS En) App Store Style Toolbar Scroll Effect - Toolbar Header Scroll Effect - SwiftUI•
(iOS En) Smarter Lists, Labels, and Dictionary Grouping in SwiftUI•
(And Ru) Разработка видеоредактора•
(And En) Navigate Back With Result In Navigation3 (CMP & Native Android)•
(And En) Scenes & Scene Strategies In Navigation3 (CMP & Native Android)•
(And En) Coroutines Need a Scope... and That's a Good Thing!•
(Crs Ru) Да кто такой этот ваш 2D-скролл?•
(Dev Ru) TransmateSDK — ваш товарищ-полиглот•
(Dev Ru) Яндекс обновил процесс найма: что внутри?•
(Dev Ru) Сокращения, AI и рынок СНГ: кто останется востребованным в IT•
(Dev Ru) Онбординг пользователей — Активация, retention, продуктовая ценность•
(Dev Ru) ИИ-агенты в жизненном цикле ПО: от ассистентов к полноценным членам команды•
(Dev En) Unity 2D Pixel Art Game Tutorial•
(Dev En) Intro to Supabase – Full Tutorial for Beginners•
(Dev En) Gemini Flash Native Audio: Build a Voice AI Ordering System in PythonПрошлогодние видео:
•
(And Ru) Публикация Android и KMP библиотеки в Maven Central•
(Crs Ru) Flutter Dev Podcast #49: многомодульность на Flutter•
(Dev Ru) Compose и SwiftUI: найди 10 отличий•
(Dev Ru) Запускаем мобильные UI-тесты эффективно•
(Dev Ru) Как мы писали проигрыватель с нуля под каждую платформу•
(Dev Ru) Как ВКонтакте измеряет перфоманс приложений•
(Dev Ru) Очевидные и неочевидные дыры безопасности в мобильной разработке•
(Dev Ru) Страх и ненависть в мобильных автотестах. Строим своё облачное решениеPlease open Telegram to view this post
VIEW IN TELEGRAM
Apple выпустила обновлённое лицензионное соглашение для разработчиков, которое даёт компании право, помимо прочего, возмещать неоплаченные средства, такие как комиссионные или другие сборы, путём вычета их из других внутриигровых покупок, обрабатываемых от имени разработчиков.
Изменение затронет разработчиков в регионах, где местное законодательство позволяет им подключаться к внешним платёжным системам. В таких случаях разработчики должны сообщать Apple о таких платежах для уплаты необходимых комиссионных или сборов.
Изменённое соглашение даёт Apple возможность взимать, как она считает, правильную плату, если компания определит, что разработчик занизил свои доходы. Компания заявляет, что будет «зачитывать или возмещать» то, что, по ее мнению, ей причитается, включая «любые суммы, собранные Apple от вашего имени с конечных пользователей». Это означает, что Apple может возмещать средства за счет внутриигровых покупок разработчиков или разовых платежей за платные приложения.
Кроме того, Apple отмечает, что имеет право взимать эти деньги «в любое время» и «периодически», а это означает, что разработчики могут столкнуться с неожиданными вычетами, если Apple посчитает, что они неправильно рассчитали сумму, которую должны.
Обновленное соглашение также предоставляет Apple право взыскивать неоплаченные суммы с любых «аффилированных лиц, материнских или дочерних компаний», связанных с задолженностью. На практике это означает, что Apple может взыскивать деньги с других приложений разработчиков или с приложений, опубликованных материнской компанией.
В соглашении не указано, как Apple будет определять, причитаются ли ей деньги.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤡22😁3
Лёгкие и быстрые побочные эффекты
Традиционный дайджест за прошлую неделю - последствия уменьшения приложений и новый шаг в передаче зависимостей Swift, улучшение доступности в Android-приложениях и их перформанс, лёгкий и быстрый DI-контейнер, Offline-First приложения, ускорение загрузки экрана, больше рекламы в App Store и многое другое. Заходите!
Традиционный дайджест за прошлую неделю - последствия уменьшения приложений и новый шаг в передаче зависимостей Swift, улучшение доступности в Android-приложениях и их перформанс, лёгкий и быстрый DI-контейнер, Offline-First приложения, ускорение загрузки экрана, больше рекламы в App Store и многое другое. Заходите!
👍5
iOS
Снепшот-тестирование — один из немногих надёжных способов контролировать визуальную целостность SwiftUI-компонентов. Но что делать, если ваш проект ограничен Xcode 13.3 и Swift 5.6, а большинство компонентов дизайн-системы обёрнуты в UIViewRepresentable? Денис Третьяков из ПСБ рассказывает, как они организовали снепшот-тестирование SwiftUI-компонентов в условиях жёстких ограничений, с какими проблемами столкнулись и как их решили.
• Scyther — инструменты отладки iOS-приложения
• А ваше приложение похудело к лету?
• Apple разрешила себе собирать долги с разработчиков
• Ставим приложения на iOS через Android
• Снепшот-тестирование SwiftUI View в legacy-проекте: обходим ограничения
• Building iOS and Mac apps in Zed: SwiftUI Previews
• Using Swift SDKs with Raspberry PIs
• Swift Bits: Autoreleasepool Usage
Снепшот-тестирование — один из немногих надёжных способов контролировать визуальную целостность SwiftUI-компонентов. Но что делать, если ваш проект ограничен Xcode 13.3 и Swift 5.6, а большинство компонентов дизайн-системы обёрнуты в UIViewRepresentable? Денис Третьяков из ПСБ рассказывает, как они организовали снепшот-тестирование SwiftUI-компонентов в условиях жёстких ограничений, с какими проблемами столкнулись и как их решили.
• Scyther — инструменты отладки iOS-приложения
• А ваше приложение похудело к лету?
• Apple разрешила себе собирать долги с разработчиков
• Ставим приложения на iOS через Android
• Снепшот-тестирование SwiftUI View в legacy-проекте: обходим ограничения
• Building iOS and Mac apps in Zed: SwiftUI Previews
• Using Swift SDKs with Raspberry PIs
• Swift Bits: Autoreleasepool Usage
Хабр
Снепшот-тестирование SwiftUI View в legacy-проекте: обходим ограничения
Снепшот-тестирование — один из немногих надёжных способов контролировать визуальную целостность SwiftUI-компонентов. Но что делать, если ваш проект ограничен Xcode 13.3 и Swift 5.6, а большинство...
👍2
Android
Эра приложений, созданных исключительно под смартфоны, официально уходит в прошлое. В своей новой статье Google провозглашает переход к адаптивному дизайну как новому стандарту разработки. С ростом популярности складных устройств и планшетов разработчикам пора перестать воспринимать большие экраны как второстепенную задачу. Теперь фокус смещается на создание гибкого интерфейса, который не просто растягивается, а эффективно перестраивается под любой форм-фактор, обеспечивая пользователям качественный опыт на любом типе устройств. Чтобы сделать этот процесс максимально безболезненным, Google предлагает активно использовать Jetpack Compose и классы размеров окон (Window Size Classes). Эти инструменты позволяют разработчикам отойти от верстки под конкретные девайсы в пользу универсальных категорий экранов. Адаптивность становится не просто правилом хорошего тона, а критическим фактором успеха: такие приложения получают приоритет в Google Play и лучшее удержание аудитории. Настало время пересмотреть свои проекты и сделать шаг навстречу мультиэкранному будущему Android-экосистемы.
• Разработка видеоредактора
• MoviQ — умный трекер фильмов
• Goodbye Mobile Only, Hello Adaptive: Three essential updates from 2025 for building adaptive apps
• Understanding Google Play’s subnoscription lifecycle: a complete guide
• How Mobile Development Teams Use Kotlin in 2025: Insights From a Certified Trainer
• Brighten Your Real-Time Camera Feeds with Low Light Boost
• Inclusive Android Apps #1: The Problem of Rows Breaking with Large Text
Эра приложений, созданных исключительно под смартфоны, официально уходит в прошлое. В своей новой статье Google провозглашает переход к адаптивному дизайну как новому стандарту разработки. С ростом популярности складных устройств и планшетов разработчикам пора перестать воспринимать большие экраны как второстепенную задачу. Теперь фокус смещается на создание гибкого интерфейса, который не просто растягивается, а эффективно перестраивается под любой форм-фактор, обеспечивая пользователям качественный опыт на любом типе устройств. Чтобы сделать этот процесс максимально безболезненным, Google предлагает активно использовать Jetpack Compose и классы размеров окон (Window Size Classes). Эти инструменты позволяют разработчикам отойти от верстки под конкретные девайсы в пользу универсальных категорий экранов. Адаптивность становится не просто правилом хорошего тона, а критическим фактором успеха: такие приложения получают приоритет в Google Play и лучшее удержание аудитории. Настало время пересмотреть свои проекты и сделать шаг навстречу мультиэкранному будущему Android-экосистемы.
• Разработка видеоредактора
• MoviQ — умный трекер фильмов
• Goodbye Mobile Only, Hello Adaptive: Three essential updates from 2025 for building adaptive apps
• Understanding Google Play’s subnoscription lifecycle: a complete guide
• How Mobile Development Teams Use Kotlin in 2025: Insights From a Certified Trainer
• Brighten Your Real-Time Camera Feeds with Low Light Boost
• Inclusive Android Apps #1: The Problem of Rows Breaking with Large Text
👍4❤2😐2
Согласно данным Appfigures Explorer, сейчас 1350 из 10,000 самых популярных приложений в App Store используют RN, 1184 — Flutter, а 218 — KMP. Вместе эти три фреймворка, по оценкам, обеспечили 375 миллионов загрузок в прошлом месяце. Приложения, использующие React Native, дали 47% от общего числа загрузок, Flutter — 38%, а KMP — 14%. Доминирование React Native трудно превзойти, но такие показатели KMP — это отличный старт. А если посмотреть на выручку, ситуация выглядит ещё интереснее. Приложения, использующие эти фреймворки, заработали 462 миллиона долларов после вычета комиссий, и хотя React Native по-прежнему остаётся доминирующим фреймворком, распределение несколько изменилось. На приложения с React Native пришлось 41% от этой суммы, Flutter — 32%, а KMP — удивительные 27%.
Разработка
• TransmateSDK — ваш товарищ-полиглот
• Яндекс обновил процесс найма: что внутри?
• Сокращения, AI и рынок СНГ: кто останется востребованным в IT
• Онбординг пользователей — Активация, retention, продуктовая ценность
• The Company That Rejected Me For Not Knowing ARC Internals — Here’s the Full Story
• 10 Top Visual Trends for 2026
Маркетинг
• Маркетологи в мобайле. Итоги года 2025. Часть 1
• Инженерия уверенности: почему ваш онбординг, вероятно, слишком короткий
• Hypic от ByteDance начинает завоевывать рынок фоторедакторов
Кроссплатформа
• Kotlin Multiplatform составляет конкуренцию React Native и Flutter
• Да кто такой этот ваш 2D-скролл?
• Книга «Основы Dart: Community edition» 2-е издание
Разработка
• TransmateSDK — ваш товарищ-полиглот
• Яндекс обновил процесс найма: что внутри?
• Сокращения, AI и рынок СНГ: кто останется востребованным в IT
• Онбординг пользователей — Активация, retention, продуктовая ценность
• The Company That Rejected Me For Not Knowing ARC Internals — Here’s the Full Story
• 10 Top Visual Trends for 2026
Маркетинг
• Маркетологи в мобайле. Итоги года 2025. Часть 1
• Инженерия уверенности: почему ваш онбординг, вероятно, слишком короткий
• Hypic от ByteDance начинает завоевывать рынок фоторедакторов
Кроссплатформа
• Kotlin Multiplatform составляет конкуренцию React Native и Flutter
• Да кто такой этот ваш 2D-скролл?
• Книга «Основы Dart: Community edition» 2-е издание
AppTractor
Kotlin Multiplatform составляет конкуренцию React Native и Flutter
KMP ещё предстоит пройти долгий путь, чтобы достичь уровня распространения React Native или Flutter, но если посмотреть шире, становится ясно, что разработка на не-нативных платформах в App Store растёт.
👍5🙈3🙉3❤1🙊1
Рабочая группа Swift для Android поделилась результатами работы над проектом и будущими задачами.
• Swift компилируется непосредственно в нативный машинный код на Android. Такой подход обеспечивает производительность, аналогичную коду на C и C++, созданному с использованием NDK, при этом достигая более оптимального баланса между производительностью, безопасностью и удобством использования. Для этого приложения Swift на Android включают в себя нативную среду выполнения, которая реализует многие из его функций, включая стандартную библиотеку и основные библиотеки, такие как Dispatch и Foundation.
• Для работы с API Android есть инструменты
jextract и wrap-java. Эти инструменты автоматически создают биндинги, позволяющие вызывать Swift из Java или наоборот, используя JNI, что позволяет Swift беспрепятственно интегрироваться с платформой Android.• До недавнего времени Swift на Android не поддерживал целевое использование нескольких уровней API Android в одном приложении, но в последних предварительных версиях появились знакомые атрибуты
@available и проверка среды выполнения #available.• Swift на Android уже используется в продакшене (используя собственные разработки Java Interoperability): это, например, Spark — популярный почтовый клиент, flowkey — интерактивное приложение для обучения игре на фортепиано, Naturitas — маркетплейс органических продуктов.
• На доске проекта Android перечислены области, которые рабочая группа считает важными - например, это упрощенная отладка, которая сейчас является приоритетной.
• Создана официальная система непрерывной интеграции (CI) для SDK Swift 6.3, которая выпускает ночные предварительные версии SDK Swift 6.3 для Android.
• Рабочая группа не предлагает единого решения с графическим интерфейсом, однако есть ряд новых проектов сообщества, которые подошли к этой задаче по-разному.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10🎅6👍2🔥1🤔1
iOS
SwiftUI предоставляет несколько инструментов для управления навигацией, а внедрение NavigationStack и ссылок «значение-цель» улучшило программную навигацию. Однако в более крупных приложениях стандартная навигация SwiftUI может создавать проблемы с тестируемостью, поддержкой и модульностью. Логика навигации распределена между представлениями, что приводит к связанности и затрудняет поиск кода навигации. Эти проблемы можно решить путем интеграции координаторов в шаблон MVVM.
• От неработающей к тестируемой навигации в SwiftUI: децентрализованный MVVM подход с координаторами
• Вооружаемся. iOS Пентест. Часть вторая
• CRED iOS Interview Experience — All 5 Rounds (I Attended It, Honestly Explained)
• The evolution of native engineering at Tripadvisor: Part 3 — Design System Flexible Framework Meets TCA
• Swift guard Tricks You Might Not Know
• Creating and Opening Custom Document Types in SwiftUI
• Solving SwiftUI Pain Points and Performance Bottlenecks: Zipic Development Technical Retrospective
SwiftUI предоставляет несколько инструментов для управления навигацией, а внедрение NavigationStack и ссылок «значение-цель» улучшило программную навигацию. Однако в более крупных приложениях стандартная навигация SwiftUI может создавать проблемы с тестируемостью, поддержкой и модульностью. Логика навигации распределена между представлениями, что приводит к связанности и затрудняет поиск кода навигации. Эти проблемы можно решить путем интеграции координаторов в шаблон MVVM.
• От неработающей к тестируемой навигации в SwiftUI: децентрализованный MVVM подход с координаторами
• Вооружаемся. iOS Пентест. Часть вторая
• CRED iOS Interview Experience — All 5 Rounds (I Attended It, Honestly Explained)
• The evolution of native engineering at Tripadvisor: Part 3 — Design System Flexible Framework Meets TCA
• Swift guard Tricks You Might Not Know
• Creating and Opening Custom Document Types in SwiftUI
• Solving SwiftUI Pain Points and Performance Bottlenecks: Zipic Development Technical Retrospective
AppTractor
От неработающей к тестируемой навигации в SwiftUI: децентрализованный MVVM подход с координаторами
Координаторы в рамках паттерна MVVM централизуют маршрутизацию, устраняя связанность представлений, обеспечивая работу глубоких ссылок и улучшая разделение ответственности и тестируемость.
❤3
Android
Firebase App Check в связке с Play Integrity API представляет собой мощный инструмент для верификации того, что запросы к вашему бэкенду поступают исключительно из вашего легитимного Android-приложения, запущенного на подлинном устройстве. Этот механизм эффективно блокирует доступ для ботов, скреперов и модифицированных версий ПО, значительно снижая риски несанкционированного использования таких сервисов, как Cloud Firestore, Realtime Database и Cloud Functions. В данной статье подробно рассматривается процесс перехода от устаревшего SafetyNet к современному Play Integrity API и пошаговая настройка защиты в консолях Firebase и Google Play. Автор объясняет, как интегрировать необходимые зависимости и инициализировать App Check в коде приложения, чтобы создать надежный щит для инфраструктуры. Внедрение этих технологий становится отраслевым стандартом для Android-разработчиков, стремящихся гарантировать целостность своей экосистемы и защитить свои API от любых форм злоупотребления.
Поставьте 👍, если хотите эту статью в переводе на русский.
• Tomato — минималистичный Помодоро-таймер для Android
• Android Fun API Facts: Have you heard about Log.wtf?
• TOAD: A Kotlin-First Architecture Pattern That Finally Made My ViewModels Boring
• Object vs Data Object in Kotlin: When and Why You Should Use Each
• Using ExoPlayer in Jetpack Compose
• Firebase App Check with Play Integrity API in Android
Firebase App Check в связке с Play Integrity API представляет собой мощный инструмент для верификации того, что запросы к вашему бэкенду поступают исключительно из вашего легитимного Android-приложения, запущенного на подлинном устройстве. Этот механизм эффективно блокирует доступ для ботов, скреперов и модифицированных версий ПО, значительно снижая риски несанкционированного использования таких сервисов, как Cloud Firestore, Realtime Database и Cloud Functions. В данной статье подробно рассматривается процесс перехода от устаревшего SafetyNet к современному Play Integrity API и пошаговая настройка защиты в консолях Firebase и Google Play. Автор объясняет, как интегрировать необходимые зависимости и инициализировать App Check в коде приложения, чтобы создать надежный щит для инфраструктуры. Внедрение этих технологий становится отраслевым стандартом для Android-разработчиков, стремящихся гарантировать целостность своей экосистемы и защитить свои API от любых форм злоупотребления.
Поставьте 👍, если хотите эту статью в переводе на русский.
• Tomato — минималистичный Помодоро-таймер для Android
• Android Fun API Facts: Have you heard about Log.wtf?
• TOAD: A Kotlin-First Architecture Pattern That Finally Made My ViewModels Boring
• Object vs Data Object in Kotlin: When and Why You Should Use Each
• Using ExoPlayer in Jetpack Compose
• Firebase App Check with Play Integrity API in Android
Medium
Firebase App Check with Play Integrity API in Android
When we build an Android app using Firebase, we trust that only our actual app will communicate with Firebase services, such as Firestore…
👍5
Apple (Google, Microsoft, F, если не сказать хуже) - новая нефть для Европы. Давеча на Х наложили, сегодня Apple в Италии получила штраф в 98.6 млн евро за функцию прозрачности отслеживания (App Tracking Transparency). Местное антимонопольное ведомство заявило, что правила являются «несоразмерными» и «вредными» для разработчиков приложений и рекламодателей. В конечном итоге, ведомство установило, что Apple злоупотребляла своим доминирующим положением на рынке ЕС. В ответ Apple сообщила, что обжалует это решение, и подчеркнула преимущества App Tracking Transparency с точки зрения конфиденциальности.
Разработка
• Why Companies Are So Confused About Architecture Patterns (And Why Developers Pay the Price)
Маркетинг
• Тренируем мышцу идей: как один чувак стал фабрикой вирусных проектов
• Италия наложила штраф на Apple за App Tracking Transparency
Кроссплатформа
• Развитие Swift SDK для Android
• 15 Flutter Tips Every Developer Should Know in 2026
• What Senior Flutter Engineers Say in Interviews?
Разработка
• Why Companies Are So Confused About Architecture Patterns (And Why Developers Pay the Price)
Маркетинг
• Тренируем мышцу идей: как один чувак стал фабрикой вирусных проектов
• Италия наложила штраф на Apple за App Tracking Transparency
Кроссплатформа
• Развитие Swift SDK для Android
• 15 Flutter Tips Every Developer Should Know in 2026
• What Senior Flutter Engineers Say in Interviews?
AppTractor
Италия наложила штраф на Apple за App Tracking Transparency
В заявлении, распространенном среди нескольких СМИ, Apple сообщила, что обжалует это решение, и подчеркнула преимущества App Tracking Transparency с точки зрения конфиденциальности.
👍5❤3
iOS
В 2025 году команда Tuist наконец-то задумалась не только о цифрах и статистике, но и о смысле своей работы и устойчивой модели развития. В статье автор рассказывает, как проект эволюционировал из простого генератора Xcode-проектов в полноценную платформу продуктивности, где основная ценность — не софт, а надёжная инфраструктура и открытый код. В этом году команду усилили новые разработчики, они переосмыслили дизайн (включая собственную дизайн-систему Noora) и открыли исходники серверной части, чтобы организации могли запускать всё локально или в облаке — по своему выбору. Кроме технологий, Tuist делает ставку на коммьюнити и открытость: всё больше функциональности совместимо с существующими Xcode-проектами, а не требует перехода на новый формат. Команда выпустила множество новых инструментов, показывая, что даже небольшая компания может добиваться больших результатов. Итог 2025-го — Tuist укрепляется как виртуальная команда для мобильных разработчиков, ориентированная на реальную продуктивность, открытость и расширение на другие экосистемы в будущем.
• Tessera — бесконечные узоры из представлений SwiftUI
• Tuist in 2025: Building for the Long Game
• SwiftUI Fonts Explained - System Styles, Modifiers and Accessibility
• That One Closure That Made SwiftUI Slow
В 2025 году команда Tuist наконец-то задумалась не только о цифрах и статистике, но и о смысле своей работы и устойчивой модели развития. В статье автор рассказывает, как проект эволюционировал из простого генератора Xcode-проектов в полноценную платформу продуктивности, где основная ценность — не софт, а надёжная инфраструктура и открытый код. В этом году команду усилили новые разработчики, они переосмыслили дизайн (включая собственную дизайн-систему Noora) и открыли исходники серверной части, чтобы организации могли запускать всё локально или в облаке — по своему выбору. Кроме технологий, Tuist делает ставку на коммьюнити и открытость: всё больше функциональности совместимо с существующими Xcode-проектами, а не требует перехода на новый формат. Команда выпустила множество новых инструментов, показывая, что даже небольшая компания может добиваться больших результатов. Итог 2025-го — Tuist укрепляется как виртуальная команда для мобильных разработчиков, ориентированная на реальную продуктивность, открытость и расширение на другие экосистемы в будущем.
• Tessera — бесконечные узоры из представлений SwiftUI
• Tuist in 2025: Building for the Long Game
• SwiftUI Fonts Explained - System Styles, Modifiers and Accessibility
• That One Closure That Made SwiftUI Slow
tuist.dev
Tuist in 2025: Building for the Long Game
How we went from a project generator to a productivity platform, grew the team, shipped more than ever, and discovered what sustainable developer tooling really means
🔥4👍1