Обновить

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

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

От стороннего платёжного решения к собственному SDK: история RuStore Pay SDK

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

Платёжная система — один из самых важных элементов любого приложения. От неё зависит не только удобство пользователей, но и стабильность выручки. Когда мы запускали RuStore, быстро поняли: платежи должны работать безупречно, иначе страдают и пользователи, и разработчики.

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

Меня зовут Алексей Мольков, я менеджер продукта в RuStore. В этом посте расскажу, как мы пришли к решению написать свой SDK, какие вызовы прошли по пути и какие преимущества уже видят команды, которые его используют.

Читать далее

Как мы создавали статусы в eXpress

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

Статусы вошли в жизнь пользователей коммуникационных инструментов очень давно: вспомните легендарную «Аську» или Mail.ru Агента. Это действительно удобно – заранее видеть информацию, которую потенциальный собеседник хочет сообщить о себе. В корпоративной среде статус играет более утилитарную роль. При помощи статусов сотрудник транслирует свой уровень доступности, сообщая коллегам важную информацию о том, что он, например, «В отпуске», «На больничном», «На звонке» или «На встрече».

Мы запустили статусы в июне 2025 года, и это стало долгожданным событием для сотен тысяч наших пользователей. Не каждое нововведение настолько круто «заходит» в корпоративной среде. И конечно, за удобной и простой фичей стояла большая работа. О том, как это было, мы расспросили в команде разработки eXpress.

Читать далее

Мобильная разработка за неделю #608 (20 — 26 октября)

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

В новом выпуске 7 способов найти логи и поймать баг на iOS, разбираем «Telega» по винтикам и делаем эффект глюка, очки на Android XR, что ждёт Kotlin Multiplatform разработчика на собесе, реверс обфускации Amazon Kindle Web, удаление Tea и TeaOnHer из App Store и многое другое. Заходите!

Читать далее

Разработка автономного речевого тренажёра для обучения иностранным языкам на основе больших языковых моделей

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

В статье рассматриваются технические аспекты разработки речевого тренажёра GolosAI, основанного на технологиях генеративного искусственного интеллекта и использовании больших языковых моделей (Large language models). Описана необходимость создания подобных средств обучения в России в условиях ограниченного доступа к зарубежным языковым сервисам, а также обозначена актуальность проблемы формирования разговорных навыков вне языковой среды. Автором представлен алгоритм функционирования тренажёра, включающий распознавание речи, генерацию ответов, синтез голоса и анализ выполнения учебных задач. В качестве важного достоинства тренажера отмечена его мультиязычная направленность и гибкость настройки под имеющиеся компьютерные средства. Дополнительно рассматривается потенциал интеграции речевого тренажера в образовательный процесс российских вузов на основе отечественных больших языковых моделей (YandexGPT, GigaChat) для создания автономных интерактивных речевых систем обучения иностранным языкам.

Далее

Dart 3.9: актуальность новых фич

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

(!) Дата релиза этого обновления: 13 августа 2025. Это плановый, «прикладной» апдейт, который делает анализатор умнее, CLI — ощутимо быстрее, pub — точнее в разрешении зависимостей, а также приносит официальный MCP-сервер для интеграции Dart/Flutter с ИИ-ассистентами. Ниже — только существенное, с примерами и пошаговыми рекомендациями. (Dart)

Читать далее

За 3 дня запустить Android приложение на iOS: опыт адаптации приложения под CMP

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

Привет! Я Тимур, разработчик мобильных приложений в KTS.

В прошлом году мы решали любопытную задачу. Нам нужно было вдвоем за одну рабочую неделю собрать прототип мобильного приложения для сервиса бронирования отелей.

Задача осложнялась тем, что заказчик рассматривал не только нашу команду на роль подрядчика. Мы не могли отдать сырой черновик, в котором просто нажимаются нужные кнопки и работают ключевые сценарии — мы должны были превзойти конкурентов-флаттеристов. И нам удалось это сделать с помощью KMP.

Да, тема довольно холиварная, и в статье я не заявляю, что KMP лучше Flutter’а во всем. Каждая технология хороша под свои задачи. Вместо этого я расскажу о конкретном проекте, на котором KMP оказался более удачным выбором. Также коснусь вопросов архитектуры и миграции Android-приложения на iOS с помощью CMP, а заодно подсвечу подводные камни, с которыми пришлось разбираться в процессе.

Читать далее

Из мобильной разработки в бэкенд. История и впечатления

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

Самый простой и логичный способ сменить стек — поменять направление внутри компании. Мог так сделать дважды, но тогда бы и писать было не о чем. Буду рад, если кому-то мой опыт окажется полезным или интересным.

Зачем менять стек?

В 2019 году, работая над android-приложением Auto.ru, я часто думал, что надо что-то менять в карьере. Вот несколько тезисов:

- Стать CTO в будущем будет проще с опытом в бекенде...

Погрузиться в историю

Хватит это терпеть: как я написал Telegram-бота для VPS, который не бесит

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

Всем привет! Меня, как и многих здесь, в какой-то момент достало. Достало логиниться по SSH, чтобы проверить htop. Достало запускать Termius на телефоне, чтобы сделать sudo reboot зависшему инстансу. Достало ставить тяжелые веб-панели, которые жрут ресурсы и открывают лишний порт, только ради того, чтобы посмотреть загрузку диска.

Я админю несколько VPS. На одних крутятся пет-проекты, на других — сайты, на третьих — кастомные сетевые приложения для транспортировки данных. Мне нужен был инструмент, который:

Читать далее

Твоё приложение никто не видит — ASO может это исправить

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

Если у вашего приложения 2–3 установки в день и кажется, что «ниша не та» — скорее всего, дело не в нише, а в том, что про вас просто никто не знает. В этой статье коротко и по делу расскажу о том, что такое ASO (App Store Optimization) и почему без него ваше даже классное приложение никто не найдёт.

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

Читать далее

Когда важна каждая миллисекунда: оптимизация съёмки для CV и AR

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

2ГИС Ситискан — это мобильное приложение для автоматизированной съёмки городской среды. Оно устанавливается на смартфон, закреплённый в автомобиле, и во время движения делает снимки, собирает координаты, скорость и другие параметры. Эти данные обрабатываются с помощью ИИ, чтобы находить проблемы в инфраструктуре: ямы, мусор, повреждённые объекты и другое.

Одна из ключевых задач приложения — снимать изображения с высокой частотой, особенно при объездах сложных участков. Но на практике оказалось, что стандартный метод съёмки takePicture во Flutter может занимать до 3 секунд на один кадр. Это делает невозможной съёмку даже 1 кадра в секунду, не говоря уже о 4 кадрах, которые нам нужны для точного анализа.

В этой статье мы — Руслан Цицер и Арген Жукеев @zhukeev— расскажем, как исследовали узкие места, перепробовали разные подходы — от RepaintBoundary до нативной обработки на C и Java — и в итоге добились стабильной съёмки с минимальной задержкой. Наш кейс будет полезен Flutter-разработчикам, которым необходима высокая частота съёмки (до 4 fps и выше) для своих приложений и инженерам в области компьютерного зрения и машинного обучения или разработчики AR/VR-решений на Flutter, где важны каждая миллисекунда и каждый пиксель.

Читать далее

Cursor — джун или сеньор? Какой грейд у ИИ

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

Cursor сделали программисты для программистов. Это не очередной чат-бот, это полноценная среда разработки. Он очень неплохо интегрирован с возможностями больших языковых моделей. 

Но насколько он хорош? Сможет ли сочинить симфонию, написать картину… то есть, конечно, сможет ли заменить живого разработчика? Мы его потыкали, протестировали и теперь хотим рассказать, на какой грейд он мог бы рассчитывать в российской ИТ-компании

Читать дальше

Combine – швейцарский нож iOS-разработчика. Или нет?

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

Привет! Меня зовут Антон, я iOS-разработчик в Банки.ру. Когда я только начинал изучать Combine, он казался для меня магией. Пара команд – и вот у тебя уже есть какие-то данные. Чтобы Combine перестал оставаться черным ящиком давайте заглянем внутрь. Эта статья – мое виденье этого фреймворка.

Небольшая сводка, Combine – фреймворк для работы с асинхронными событиями в декларативном стиле. Он помогает разработчикам управлять потоками данных, избавляя от множества колбэков, ручного управления очередями и других сложностей, связанных с асинхронностью.

Давайте рассмотрим Combine изнутри!

Читать далее

Для чего компании требуют высшее образование в IT

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

Всем привет! Меня зовут Алексей, я техлид Android направления в компании Домклик.

На одном из собеседований зашла с кандидатом дискуссия об образовании. И была произнесена примерно такая фраза: «Зачем тратить 4–6 лет на обучение в вузе, если нужные по вашей вакансии навыки можно получить за год?» Пообщавшись ещё с некоторыми недавно вошедшими в отрасль знакомыми, сложилось впечатление, что этим вопросом задаются многие. И действительно, если, условно, на заводе требуется фрезеровщик, и у кандидата есть стаж работы или он окончил профильное училище, то какая разница, получал ли он высшее образование или нет?

Так почему многие крупные компании в ИТ при найме отдают предпочтение кандидатам с «вышкой»? Чем такие специалисты выгодно отличаются от остальных с таким же практическим опытом и профильными знаниями? Попробуем разобраться с этими вопросами и прояснить их. Все предложенные выводы — личное мнение автора и может (и должно) не совпадать с чьим‑либо ещё или общепринятым.

Читать далее

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

Чему может научиться исследователь из проекта, что длится 2,5 года

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

Меня зовут Ксюша Никульшина, и я исследователь B2B в Альфа-Банке в Alfa Research Center. Последние два с половиной года я наблюдала, как из прототипа концепции рождается новый продукт — «Альфа-Босс». И это не просто приложение, а инструмент для топ-менеджеров среднего бизнеса, у которого до нас не было аналогов.

​​За это время я провела множество исследований, проверила более 200 гипотез, выявила свыше 100 проблем и инсайтов. 

На момент написания статьи «Альфа-Босс» держит 75% retention. Пользователи возвращаются в приложение - и это лучший показатель того, что мы сделали что-то важное и нужное.

Что мы предложили пользователям? А что вырастил «Альфа-Босс» в исследователе?

Читать далее

Как из джуна за год вырастить мидла

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

Привет, Хабр! Я — Алексей Григорьев, лид iOS-разработки продуктов Future Crew в MWS. Наша команда со стартап-вайбом: технологий свежих много, стек обновляется часто, требования к скорости внедрения — высокие. Нужны мотивированные сотрудники, но нет времени и сил искать готовых сеньоров. Поэтому мы ставим на рост внутри команды. Не просто не боимся брать стажеров и джунов — нам даже это интересно. От первого лица почитать историю о том, как мы вырастили джуна до мидла за год, можно тут. 

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

Читать далее

Что такое ANR и как с ним работать правильно

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

ANR — это не просто “зависание”, а молчаливый краш, который напрямую бьёт по удержанию пользователей. В статье разбираю, как работает механизм ANR, какие ошибки его вызывают, как анализировать traces.txt, какие библиотеки помогают отслеживать блокировки (ANR-WatchDog, ANR-Spy, Firebase Crashlytics), и как построить процессы, чтобы QA-команда научилась ловить их ещё до релиза.

Читать далее

Мобильная разработка за неделю #607 (13 — 19 октября)

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

В новом дайджесте трещины в Liquid Glass и опыт собеседования в Microsoft, шутки и веселье в Android и запрет программистам писать код, взлом на собеседовании, Supercell против ЕС, интеграция Predictive back и многое другое. Заходите!

Читать далее

Вайбуем в закрытом корпконтуре с Android Studio, Continue и Ollama в локальном режиме

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

Привет! Меня зовут Александр Карташов, и я Android-lead в IT-подразделении компании Спортмастер. Сегодня я расскажу вам о том, как настроить Android Studio для работы с LLM в режиме агента, получить максимум эффекта даже от небольших моделей на компьютерах, не обладающих мощной видеокартой, о тонкостях и некоторых важных настройках плагинов, особенностях запросов к нейронке. Эта статья-гайд поможет вам развеять страх того, что локальные модели для кодинга — это сложно, и позволит вам почувствовать лёгкий корпоративный вайб-кодинг даже внутри закрытого корпоративного контура.

Проблема

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

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

Погрузиться в вайб

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

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

Размытые и неструктурированные задачи почти всегда заканчиваются доработками и сдвигами сроков. Ключ к снижению рисков — правильное и четкое оформление задачи. 

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

В статье Владислава Ларкина, операционный директор студии комплексной разработки цифровых решений CleverPumpkin, делится опытом и объясняет, как формализация задач помогает упростить коммуникацию, сэкономить время, бюджет и силы команды. Компания разрабатывает мобильные приложения на заказ и параллельно развивает собственные продукты, поэтому подход проверен на практике — как на клиентских проектах, так и внутренних.

Читать далее

Мы запретили программистам писать код и ускорили релизы в 2 раза. Как к этому пришли

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

Мы ускорили релизный цикл в 2 раза за счёт жёсткого shift‑left: запретили писать и коммитить код без ранней проверки требований и автогенерации тестов ИИ. Рассказываем, как у нас это получилось и насколько выгоден такой подход компании.

Читайте, как этого добились