Обновить
124.43

Разработка мобильных приложений *

Android, iOS, Windows Phone и прочие

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

Live Updates на Android: где макеты врут, a SDK ставит границы

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

Весной 2025 года Google представила Live Updates, аналог Live Activity в iOS. Мы быстро запушили продактов — «нам такое надо!» — и потащили фичу в Android-приложение Додо Пиццы.

Но всё оказалось не так просто — мы столкнулись с неполной документацией, расхождениями представлений дизайнеров Google и разработчиков этого SDK, и не только. В общем, запасайтесь попкорном. Сегодня расскажем обо всех нюансах в реализации и тестировании Live Updates.

Читать далее

Делаем простой фитнес-трекер на React Native + Expo

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

Лето уже давно позади, зима на носу, а значит — самое время начинать подготовку к следующему лету. Для многих это означает одно: попытку выбраться из состояния «тюленя» хотя бы в состояние «тюленя, который слегка похудел».

Чтобы совместить полезное с полезным, заодно соберём небольшое приложение — простой трекер веса и тренировок — и посмотрим, как на практике работает мультиплатформенная разработка на React с Expo. Спойлер: почти то же самое, что и обычная разработка на React — и, похоже, именно она окончательно забивает гвоздь в гроб Dart/Flutter и прочих попыток конкурентов сделать вид, что React — это страшный сон, который можно забыть.

Читать далее

Почему переводы по номеру телефона до сих пор ломаются: инженерный разбор бытовой проблемы, которую мы недооцениваем

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

Система быстрых платежей (СБП) существует достаточно давно, но бытовые переводы «по номеру телефона» всё ещё регулярно вызывают ошибки, путаницу и лишние действия.
Если открыть комментарии под любой статьёй на эту тему — гарантированно найдёшь реплики вида:

«Но ведь можно просто скопировать контакт? Или показать QR из банка. Зачем вообще что-то ещё?»

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

В этой статье — разбор, почему бытовые переводы по номеру на практике всё ещё далеки от идеала, с точки зрения UX, безопасности, разрозненности банковских реализаций и человеческого фактора.
И почему альтернативные способы (vCard, контакт, QR из приложений банков) не всегда закрывают эту бытовую рутину.

Здесь нет рекламы и нет призывов пользоваться каким-то конкретным инструментом.

Это исследование проблемы, которая всплывает каждый день у людей вне IT-пузыря.

Читать далее

Почему ваш кастомный emoji будет ломать TextField (и как это починить)

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

Разрабатывая приложение под Android — мы встроили в продукт свой мессенджер и решили, что стандартные андроидные смайлики — это преступление против дизайна. Telegram и другие популярные мессенджеры давно показали, как должны выглядеть эмоции в чате, а Google всё ещё живёт в 2015-м с Noto Color Emoji.
Хотели просто подменить парочку 😎👩‍💻🙂 на свои красивые… И получили войну: курсор, который живёт своей жизнью, тофу, кернинг и полный хаос при вводе.
Эта статья — история о том, как мы прошли все круги ада и всё‑таки победили систему.

Спойлер: победили костылями.

Читать далее

К какому компоненту отнести тот или иной класс? Мой опыт разделения функциональности между компонентами

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

Привет, меня зовут Антон Огнев, я iOS-разработчик в ПСБ, и в этой статье расскажу о классах, компонентах и зависимостях между ними. Конкретно речь пойдет о том, какие принципы стоит всегда соблюдать при создании и поддержке компонентов, как определить, не рушит ли одна новая зависимость весь проект, как меняются приоритеты по компонентам между стартом новой разработки и зрелым продуктом. 

Большая часть теории основывается на книге «Чистая архитектура» Роберта Мартина. Я эту книгу читал несколько раз и каждый раз открывал для себя что-то новое, набирался опыта и на многие вещи начинал смотреть иначе. Между пояснением принципов буду делиться историями из собственных компонентных приключений в качестве примеров. 

Заглянули к себе в компоненты и обнаружили, что там бардак и обобщенные имена типа Cоmmon, Shared, Core, Base, Utils? Это текст для вас: сам был на вашем месте, помогу навести порядок. 

Читать далее

Наш опыт публикации мобильных приложений. Часть 2: AppGallery и RuStore

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

В первой части мы разобрали процесс подготовки приложения к публикации и рассмотрели требования модерации в App Store и Google Play. Однако экосистема мобильных сторов сегодня значительно шире, и успешный релиз нередко включает размещение продукта в альтернативных магазинах, которые активно развиваются и набирают аудиторию.

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

Материал предназначен для заказчиков, разработчиков, продакт-менеджеров и технических специалистов, отвечающих за релиз и сопровождение мобильных продуктов.

Читать далее

Xcode — худшее профессиональное ПО, с которым я когда-либо работал

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

Xcode ужасен, и об этом много кто говорит. Постоянные ошибки, баги интерфейса, неочевидное поведение и местами плохая документация — всё это мешает спокойно писать код. Вместо работы над проектом приходится искать решения проблем и пытаться починить то, что должно работать из коробки. Ещё одна неприятность на этом пути заключается в том, что Apple не всегда публично рассказывает о багах в Xcode, поэтому надо ещё догадаться, что именно не работает.

В этой статье автор делится ошибками и «особенностями» Xcode, которые больше всего его раздражают. Главный совет: держитесь подальше от этой IDE и всегда ищите альтернативы.

Читать далее

Мобильная разработка за неделю #611 (17 — 23 ноября)

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

В новом дайджесте вопрос с собеседования, на котором сыпятся даже Senior-ы, стабильный Navigation 3 и нестабильная ViewModel, кросс-компиляция, 100 уроков развития проекта, открывашка из трубки домофона и многое другое. Заходите!

Читать далее

Отладка параметров Android APS с помощью ChatGPT: исследование

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

Давайте разберемся как улучшить работу Android APS, более точно настроив параметры с помощью Chat GPT.

Какие данные нужно собрать для передаче нейронке и что мы ожидаем получить?

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

Читать далее

Под капотом современных AI-систем: разбираем железо

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

Как объединить по сети вычислители? Что происходит при компиляции кода для железа под капотом и какие есть нюансы при работе с AI в пространстве ядра? ИИ с ноги ворвался во все сферы разработки, работы — вагон и маленькая тележка. Но на чём и как она должна ехать? У каждой программы есть свои требования, универсальных советов нет.

О новых решениях можно будет узнать на конференции OS DevConf 25 — там будет целый трек, посвящённый железу для AI. Пул экспертов соберётся, чтобы показать, как устроен современный стек ИИ — от базового железа для инференса до системных рантаймов и объединения ферм GPU, чтобы обучить большие языковые модели. Участники не просто узнают об инструментах, но и ознакомятся с методиками, как программировать это железо до уровня «можно использовать в Pythorch».

Читать далее

Rustore. Делаем пуши для MAUI

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

Зарегистрировавшись в РуСторе быстренько перешёл в раздел для разработчиков и глянул на список доступных SDK. Но где же тут поддержка MAUI?

Давайте это исправим

Marathon OS: экспериментальная мобильная ОС на Qt6 и Wayland с фокусом на производительность

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

Разработчик Патрик Куинн недавно запустил проект Marathon OS. Это мобильная ОС на базе postmarketOS с полностью переработанным интерфейсом под Qt6, QML и собственным Wayland-композитором. Основная идея заключается в полном отказе от виртуальных кнопок в пользу жестового управления, вдохновленного BlackBerry 10, где все действия выполняются свайпами от краев экрана.

Сейчас система тестируется на базе OnePlus 6 и 6T, показывая стабильные 60 кадров в секунду, загрузку за 20–25 секунд и задержку ввода в пределах 10–15 миллисекунд. На устройствах со Snapdragon 845 приложения запускаются за 200–250 миллисекунд, что для чистого Linux выглядит весьма убедительно без каких-либо Android-подложек.

Читать далее

Выживание в ASO: зачем нужен якорь, семантическое ядро и ASA

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

Это вторая часть из цикла про популяризацию ASO среди разработчиков. В первой, вводной части, я рассказывал, как любой мобильный разработчик может увеличить количество скачиваний своего приложения. Сейчас же, предлагаю пойти дальше и на примере простого приложения разобрать основные понятия, оценить потенциал ниши и понять, зачем "якорь" нужен любому приложению.

В качестве примера мобильного приложения для предметного рассмотрения темы, предлагаю представить, что мы делаем простенькое приложение для трекинга собственного веса - минималистичное, с графиками, возможностью записывать цифры веса и, возможно, уведомлениями. В общем, такое, чтобы была мотивация делать, можно было бы "завайбкодить", но без претензий на миллиардерство. Идея привычная, но как её оценить с точки зрения потенциала в App Store? Будут ли его скачивать и сможем ли мы заработать? Давайте посмотрим.

Читать далее

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

Мобильная разработка за неделю #610 (10 — 16 ноября)

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

В этом выпуске Optional в Swift, которые всех сбивают с толку, актуальные практики работы в фоне и стартапы в Дубае, ИИ простыми словами, партнерская программа для мини-приложений в App Store, смягчение ограничений на загрузку сторонних приложений в Android и многое другое. Заходите!

Читать далее

Два года с Duit — история взросления фреймворка

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

Когда-то Duit был всего лишь экспериментом — попыткой упаковать интерфейс Flutter в JSON и заставить его ожить. Сегодня это уже не технический трюк, а осмысленный подход к тому, как можно описывать UI данными, а не кодом, создавая управляемые интерфейсы нового поколения. Новый релиз — история взросления и поиска архитектурного баланса.

За два года проект прошёл путь от набора идей до зрелой архитектуры, где принципы гибкости, тестируемости и производительности стали фундаментом проекта.

Приглашаю тебя прочитать статью и узнать, как Duit v4 меняет представление о том, каким может быть BDUI-фреймворк.

Читать далее

Сокращённая запись через точку начиная с Dart 3.10 и Flutter 3.38

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

Синтаксис сокращённой записи через точку — .foo — позволяет писать более лаконичный Dart-код, опуская имя типа там, где компилятор может вывести его из контекста. Это аккуратная альтернатива полному варианту вида ContextType.foo при обращении к значениям перечислений (enum), статическим членам и конструкторам.

Теперь язык стал еще более лаконичным.

Читать далее

Dart 3.10 — что нового в Dart?

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

Сегодня мы рады объявить о выпуске Dart 3.10!

В этом выпуске мы продолжаем работать над улучшением базового опыта разработки. Новая функция сокращённых обозначений ( .) поможет вам писать более читабельный и менее многословный код. Мы также представляем мощную систему плагинов-анализаторов , которая позволяет создавать собственные правила статического анализа, интегрируемые непосредственно в вашу IDE. И мы рады сообщить, что хуки сборки теперь стабильны!

В этом выпуске также реализован ряд улучшений pub.dev и управления пакетами. Вы найдёте новые возможности поиска на вкладке «Нравится» в своём профиле, а авторы пакетов теперь могут отключить ручную публикацию для повышения безопасности. Наконец, мы добавили набор новых, более точных аннотаций об устаревании , чтобы вы могли более точно контролировать развитие своего API.

Продолжайте читать, чтобы узнать больше об этих и других улучшениях в Dart 3.10.

Читать далее

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

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

Добро пожаловать в наш ежеквартальный релиз Flutter 3.38. Это обновление призвано повысить вашу продуктивность и улучшить взаимодействие с разработчиками благодаря сокращённым точкам и обновлениям для предварительных просмотров виджетов. Благодаря нашему сообществу этот релиз включает в себя в общей сложности 825 коммитов от 145 уникальных участников, 37 из которых — новички. Давайте разберёмся, что же нового в этом релизе.

Читать далее

Маркетинговые инструменты, которые помогают e-commerce продуктам расти: опыт бизнеса

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

Маркетинговые инструменты нужны любому e-commerce приложению. Без них команда работает вслепую, продукт не решает ключевых пользовательских задач и теряет аудиторию. 

В этой статье аналитик студии комплексной разработки цифровых продуктов CleverPumpkin Алёна Сорокина, совместно с брендами «ВкусВилл», Flowwow и Kassir.ru поделились опытом — какие маркетинговые инструменты помогают e-commerce-проектам расти и какие выбрать под текущий этап развития бизнеса.

Читать далее

Как дизайнер своё приложение навайбкодил

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

История о том, как одинокий UX/UI-дизайнер сделал Flutter приложение, прошёл огонь, воду, Drag’n Drop — и вышел в релиз.

Читать далее

Вклад авторов