Обновить

Мобильная разработка

Сначала показывать
Порог рейтинга
Уровень сложности

Как мы готовимся к новым версиям iOS

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели9.4K

Привет! Меня зовут Антон Долганов, я старший iOS-разработчик в Контуре. Большую часть времени я работаю над инфраструктурными модулями, чтобы наши приложения были быстрыми, стабильными и легко развивались.

В этой статье я расскажу пошаговый подход нашей команды к подготовке приложений к новым версиям iOS. В качестве примера разберём версию iOS 26, но наш метод применим к любым будущим обновлениям.

Читать далее

Clean Arch + Cubit + Reactor

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели5.5K

Clean + Cubit + Reactor

Взаимодействие кубитов друг с другом изолированно через репозиторий без стримов. Подход, который родился у меня в процессе работы над несколькими моими проектами.

Задача — как синхронизировать несколько независимых Cubit‑ов, работающих с одними и теми же данными, имеющих разную логику и при этом не связывать их напрямую и не пробрасывать события через UI.

Читать далее

Мобильная разработка за неделю #598 (11 июля — 17 августа)

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели9.5K

В этом выпуске создаем тепловые карты и делаем элегантные и настраиваемые подсказки, делаем $100K на iOS-приложении и тратим все на исправление ошибок и выгорание, оцениваем мобильный рынок с Sensor Tower, объясняем, почему разработчики в России не освоили ИИ, ждем «момент BlackBerry» для Apple и многое другое. Заходите!

Читать далее

Flutter 3.35 — Что нового во Flutter?

Уровень сложностиПростой
Время на прочтение15 мин
Охват и читатели14K

Добро пожаловать в ежеквартальный релиз Flutter 3.35! Это обновление призвано повысить вашу продуктивность и включает в себя стабильную версию горячей перезагрузки с сохранением состояния в веб-версии и экспериментальный запуск предпросмотра виджетов! Благодаря усилиям нашего сообщества, Flutter 3.35 включает в себя 1108 коммитов от 168 уникальных участников, 39 из которых присоединились к нам впервые. Давайте узнаем, что нового!

Читать далее

Как избежать кошмара параллелизма в IoT: автоматы вместо потоков и корутин

Уровень сложностиСредний
Время на прочтение17 мин
Охват и читатели8.5K

В статье рассматривается библиотека на C++, которая предназначена для реализации технологии параллельного автоматного программирования (АП), отвечающей концепции среды ВКПа (подробнее о ней см. [1]). Для полного понимания материала рекомендуется ознакомиться с основами теории АП, представленной в статьях [2, 3, 4], Взаимосвязь машины Тьюринга с конечными автоматами (КА) подробно рассмотрена в [5]. Вопросы применения корутин в контексте автоматного программирования анализируются в статьях [6–9]. Но в минимальном варианте достаточно даже общего представления о модели конечного автомата и принципах объектного программирования.

Читать далее

Заменит ли WSA эмулятор Android Studio?

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели12K

Ни для кого не секрет, что отладка Android приложения — это достаточно трудоёмкий процесс. Особенно если приложение должно быть адаптировано под разные размеры дисплеев и форм‑факторы устройств. Приложение может быть запущено на смартфоне, планшете или складном устройстве.

Кроме того, не стоит забывать, что иногда приложение может быть запущено в режиме изменяемого размера окна. Конечно, мы можем запретить подобное поведение в Manifest, но тогда мы получим не самый удобный опыт использования в desktop mode.

Встроенный в Android Studio эмулятор позволяет создавать resizable эмулятор. Но пользоваться им мне показалось не очень удобным. Кроме того, если вы страдаете от нехватки ОЗУ, пользоваться встроенным эмулятором становиться трудно. В моём случае имеем машину с 8 Гб оперативной памяти на борту, и работа эмулятора сопровождается постоянными фризами и зависаниями.

Однако недавно я нашёл решение — Windows Subsystem For Android (WSA). И несмотря на то, что поддержка проекта совсем скоро прекращается, всё работает довольно стабильно.

Читать далее

Простыми словами для начинающих Unity-разработчиков учим принципы KISS, DRY, YAGNI и BDUF через аналогии из жизни

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели10K

Большинство статей о принципах разработки написаны сложным языком и отпугивают новичков. В этом материале KISS, DRY, YAGNI и BDUF объясняются через бытовые аналогии с примерами на Unity C#. Плюс рассказываем, когда эти принципы стоит нарушать.

Читать далее

Регистрируете ПО? Не торопитесь…

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели24K

Разработка приложений в качестве хобби иногда приносит свои плоды. Так, моя программа для управления оборудованием с телефона недавно нашла своего покупателя. По замечанию друга перед продажей приложения решил зарегистрировать интеллектуальную собственность. Под катом рассказываю о самой процедуре, копировании кода в Word, потерявшемся платеже и других подводных камнях.

Читать далее

TAO Bubbles: элегантные и настраиваемые подсказки для ваших Jetpack Compose приложений

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели7.3K

Каждый Android‑разработчик сталкивается с задачей обучения пользователей новым функциям или помощи в навигации по интерфейсу. Традиционные всплывающие окна или сообщения могут быть навязчивыми. Конечно же есть способ элегантно подсвечивать элементы UI и предоставлять контекстную помощь.
Встречайте TAO Bubbles — легковесную библиотеку для Jetpack Compose, созданную для отображения настраиваемых «пузырей», «подсказок» или «тултипов», которые могут указывать на конкретные UI‑компоненты.TAO Bubbles прекрасно подходит для создания пошаговых руководств, демонстрации новых возможностей или предоставления контекстно‑зависимой справки прямо в вашем приложении.

Читать далее

Android обновление API SDK до 35 версии в сжатые сроки, в большом легаси-проекте

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели11K

Все мы (разработчики Android-приложений), не так давно получили письмо вида:
Редко подобные письма становятся проблемой, однако при определенных условиях - это может существенно потрепать вам нервы.

Костыль-решение

Стартап за 100 дней. Неделя 5 и 6. Можно ли сделать продукт в одиночку?

Время на прочтение4 мин
Охват и читатели16K

Привет, я Дима и хочу сделать стартап за 100 дней, а именно нескучное приложение для похудения. У меня за плечами опыт создания приложения с 20 МЛН установок и номинация «Приложение года» от Google. Смогу ли я повторить успех — покажет время, а пока буду делиться процессом создания, инструментами и подходами, которые сам использую.

Читать далее

Можно ли с помощью ChatGPT-5 забыть о команде и сделать продукт самостоятельно?

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели47K

Разберём на демонстрационном примере: насколько круто умеет работать ChatGPT-5 при разработке приложений под свои нужды. Ждёт ли нас массовый наплыв новых крутых сервисов?

Читать далее

Мобильная разработка за неделю #597 (4 июля — 10 августа)

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели10K

В новом дайджесте распутываем навигацию SwiftUI и переписываем слайдер оплаты на Compose, играем в SPM и делаем свой State Management для Flutter, реализуем «Чёрное зеркало» в реальности, решаем задачи коммивояжера, отикрываем Android для роботов и многое другое. Заходите!

Читать далее

Ближайшие события

Проектирование и кодогенерация DDD-моделей на Kotlin

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели9.1K

В статье рассматривается разработка доменных моделей в соответствии с тактическими паттернами DDD — Value Object и Entity, с целью создания собственной строгой иерархии функциональной системы типов (ФСТ). Предложен фреймворк, включающий методологию проектирования и кодогенерации доменных моделей на языке Котлин. Рассматриваются вопросы и ставятся задачи …​ организации, планирования, документирования, моделирования, регулирования, управления, оценка результата [Д] как код (DSL). Разработка фреймворка ведется в значительной части на основе научных работ Д.А. Новикова по организации, управлению и методологии деятельности, приведенных в конце статьи. Используемые понятия, термины и определения основаны на [5] и выделяются полужирным шрифтом. Общие термины и понятия, которые легко ищутся в поисковых системах, выделяются курсивом. Слова, относящиеся к кодовой базе, выделяются обратными кавычками.

Читать далее

Как мы создали приложение для тестирования клетки Фарадея и превратили его в инструмент продаж

Время на прочтение5 мин
Охват и читатели16K

Хочу поделиться историей создания нишевого мобильного приложения для тестирования клетки Фарадея, которое (внезапно) стало популярным в западном сегменте App Store и Google Play, а также переросло в канал международных продаж для наших продуктов. 

Читать далее

Flutter: Исчерпывающее руководство по высокопроизводительному рендерингу Canvas’а — Часть 1

Время на прочтение25 мин
Охват и читатели9.8K

Когда дело доходит до создания сложных и высокопроизводительных приложений во Flutter, работа с Canvas может стать настоящим вызовом. В этой статье мы погружаемся в тонкости рендеринга динамичных сцен, от оптимизации GPU и пакетирования команд до продвинутых техник работы с пространственными данными. Мы рассмотрим методы, которые позволят вам создавать плавные и визуально насыщенные интерфейсы, даже когда сцены становятся всё сложнее. Обсудим, как правильно выбрать стратегию рендеринга, оптимизировать отрисовку и внедрить систему камеры для масштабируемых приложений.

Если вы стремитесь улучшить производительность вашего Flutter-приложения, эта статья поможет вам освоить ключевые техники и подходы.

Читать далее

Kick: Kotlin Inspection & Control Kit — единый модульный инструмент отладки прямо в приложении

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели4.8K

При разработке и тестировании приложений порой требуется заглянуть под капот - проанализировать HTTP-трафик или проверить кэш данных в базе данных. Ранее для этих целей мы использовали Inspektify и Delight SQL Viewer. Но в какой-то момент нам понадобился еще и удобный доступ к логам приложения и тащить ещё одно отдельнее решение не хотелось. Был нужен один инструмент, который объединит всё самое необходимое в одном месте. Так появился Kick — расширяемый модульный набор инструментов, позволяющий разработчикам и тестировщикам легко инспектировать приложение.

Читать далее

Рабочее место айтишника в 2025 году: базовый минимум или роскошный максимум

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели569K

Однажды у всех в жизни происходит момент внезапного осознания: я уже взрослый и могу делать все, что угодно (ну почти). Как-то раз я смотрела стрим и обратила внимание на эстетичное и комфортное рабочее пространство в кадре. Меня зовут Анастасия Наумова — я не стример, а редактор в KODE, поэтому тоже провожу много времени за рабочим столом. И кто мне запретит сделать его таким же классным?

Так родилась идея для этой статьи: описать подходы с точки зрения приоритетов: как понять, чего не хватает на рабочем месте и что действительно стоит добавить. Помимо базового минимума и роскошного максимума, я собрала примеры с фото у коллег и подписчиков в соцсетях — они ждут вас в середине статьи.

Что за база и роскошь

Базовый Dart (Часть №1)

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели8.9K

Итак, йоу, юзеры!

Я Hilrein, 18-летний разработчик мобильных и веб-приложений. В этой статье я расскажу вам про базовый Dart - язык программирования, лежащий в основе Flutter. Он отлично подходит как для новичков, так и для тех, кто хочет перейти в кроссплатформенную мобильную разработку.

Эта статья рассчитана на начинающих и охватывает всё, что нужно знать до перехода к объектно-ориентированному программированию (ООП).

Читать далее

Как я сделал универсальный Skeleton‑View с shimmer‑эффектом в SwiftUI

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели8.4K

Привет! Я — iOS‑разработчик, и недавно в своём приложении столкнулся с задачей: нужно было красиво показывать placeholder‑загрузку интерфейса. Думал использовать стандартный .redacted — но он неудобен: нет анимации, мало кастомизации. Либо подгружать тяжелую библиотеку вроде SwiftUI‑Shimmer. Решил: сделаю свой легковесный и гибкий подход — и расскажу вам, как это получилось.

Читать далее