Прекрасная история о создании Offline-First приложения. В теории? Прекрасно. В реальности? Автор случайно открыл финального босса в прохождении архитектурного квеста — конфликты данных. И не те милые, что описаны в учебниках. А реальные, запутанные, противоречивые ошибки, которые поступают от реальных людей, использующих приложение на разных устройствах, способами, которые ни один менеджер по продукту не мог предсказать. К концу проекта его локальная база данных знала о предательстве и несогласованности больше, чем любые человеческие отношения. Главный урок: приложения, ориентированные на работу в офлайне, кажутся простыми… до поры до времени.
Разработка
- Я попытался сделать Offline-First приложение, и это чуть не уничтожили проект
- OpenAI открывает ChatGPT для сторонних приложений
- Я использовал MVVM на собеседовании в стартапе — меня спросили «почему»
- Как мы перевернули подход к мобильным интерфейсам с Backend Driven UI
- AI code creates 1.7x more problems
Маркетинг
- Apple расширит рекламное пространство в поиске App Store
- Прогнозы развития цифровой экономики в 2026 году
- Почему ваши воронки вам лгут и как можно измерить ценность действий пользователя
Кроссплатформа
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
Android
В новой статье автор рассказывает о распространённой проблеме в Kotlin-коде — огромных блоках when, которые со временем растут и превращаются в трудночитаемый, тяжело поддерживаемый код. Такие конструкции усложняют сопровождение, нарушают принцип открытости/закрытости (Open/Closed Principle) и заставляют постоянно искать и обновлять каждый метод при добавлении нового состояния. Вместо этого автор предлагает использовать паттерн State, который позволяет инкапсулировать поведение по состояниям в отдельные классы и убрать разветвления по действиям в одну точку, делая код чище и проще для изменений. Основная идея статьи — показать, как с помощью современного Kotlin-синтаксиса и объектно-ориентированного подхода можно избавиться от разраставшихся when-выражений, сгруппировав логику по состояниям, а не по действиям. Такой подход улучшает читаемость, соблюдает принципы SOLID и облегчает тестирование, ведь каждый класс-состояние реализует своё поведение. Переход на State Pattern особенно эффективен в случаях, когда объекты изменяют своё поведение в зависимости от состояния, и число таких состояний со временем растёт.

