Обновить

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

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

Стартап за 100 дней. Неделя первая. Аналитика

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

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

Читать далее

Отревьюируй себя сам! (памятка начинающим)

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

«Работает - не трогай» - самый опасный принцип, который передается между разработчиками быстрее, чем баги через копипасту.
Да, код может запускаться. Да, он даже может делать то, что нужно. Но вопрос в другом - можно ли с ним работать? Понять, поправить, развить, не впадая в экзистенциальный кризис.
Эта памятка не про чистоту ради чистоты. Она про то, чтобы через неделю ты сам себе не писал комменты со словами «кто это вообще придумал». "Отревьюируй" себя пока это не сделал кто-то другой.

Читать далее

Настраиваем CI/CD Android-проекта, часть 3. Автоматизация публикации версий в Play Store

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

Всем привет, меня зовут Кирилл и я Android-разработчик в Scanny. В прошлых статьях мы разобрали, как будет выглядеть наш CI/CD, научились запускать статический анализатор кода, выполнять Android (Marathon Labs и Firebase Test Lab) и Unit-тестирование, собирать различные Build Flavors и отправлять их в нашу Telegram-группу.

В этой статье мы настроим публикацию свежих версий в Play Market на примере Gradle Play Publisher и Fastlane, а так же поработаем с Gitlab Tag'ами.

Так же улучшим наш CI/CD, собрав свой Docker-образ со всем необходимым окружением.

Читать далее

Лучшие российские low-code платформы 2025. Исследование Фонда Сколково и аналитического центра TAdviser

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

Российский рынок low-code платформ активно развивается и насчитывает более 50 программных продуктов. Интерес к ним проявляет, в основном, крупный бизнес. Часто корпорации развивают собственные центры разработки, но нередко прибегают и к помощи вендоров, поскольку растет потребность в поиске современных универсальных решений для разработки высоконагруженных корпоративных систем. Как результат, возрастает интерес к low-code платформам (Low-Code Application Platforms, LCAP).

Для выбора платформы необходима объективная оценка рынка, для которой формируется ряд требований к инструментарию разработки, интеграционным возможностям и параметрам масштабирования. Важно составить оптимальный список требований и в деталях проанализировать опыт крупных заказчиков, мнения ИТ-руководителей относительно применимости, предпочтений и перспективных направлений использования low-code платформ в ИТ-ландшафте крупного бизнеса.

В проекте Фонда «Сколково» и аналитического центра TAdviser, о котором речь пойдет далее, предпринята попытка оценить уровень зрелости российского рынка low-code платформ с точки зрения функциональной готовности решений к запросам заказчиков. В рамках исследования были изучены две точки зрения на рынок – со стороны пользователей и со стороны разработчиков.

Исследование включает в себя три этапа:

1.      Глубинные интервью с конечными пользователями.

2.      Опрос разработчиков.

3.      Экспертная оценка.

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

Читать далее

Сервер управления боксом и станцией дрона: архитектура и принципы работы

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

Сервер обеспечивает удалённое управление устройствами, подключёнными по WebSocket. На этапе тестирования к нему также подключено веб-приложение, через которое пользователь может управлять устройствами.

Читать далее

Эффекты в Jetpack Compose, лежащие на поверхности

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

Всем привет! Меня зовут Владимир, и я мобильный разработчик в компании «Финам». В своих проектах мы активно используем Jetpack Compose, в котором, несмотря на растущую популярность, получение некоторых визуальных эффектов до сих пор не так очевидно, как хотелось бы. В этой статье рассмотрен один из способов «наложения» различных эффектов рендеринга на уже готовый контент.

Читать далее

Профайл-виджет для игр

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

Привет! Хочу рассказать о небольшом виджете профилирования на ImGUI для игр. Под катом можно узнать о функционале и реализации. А так же заполучить сорцы!

Читать далее

Что не пишут в документации Kotlin Contracts: тёмные закоулки и пасхалки

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

Контракты в Kotlin — это «тёмная лошадка» языка — они загадочные и чуть-чуть магические. И под капотом у них спрятано гораздо больше, чем можно найти в официальной документации.

Привет! Меня зовут Виталий. Я работаю Android‑разработчиком в Альфа‑Банке. В этой статье я делюсь пасхалками и неожиданными фичами Kotlin компилятора, связанными с Kotlin Contracts: как парсится список эффектов, как работает новый Contracts API изнутри, и почему, чёрт возьми, на уровне компилятора можно использовать контракты не только на уровне функций.

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

Читать далее

2D-скролл во Flutter

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

Да кто такой этот ваш 2D-скролл? Зачем он нужен, если ты не делаешь аналог excel? На самом деле, двунаправленная прокрутка нужна в огромном количестве сценариев использования мобильных приложений, в виде таблицы можно представить самые разные сущности — как, например, наш видеоредактор. 

Есть только одна маленькая проблема: видеоредактор Yappy кроссплатформенный, написан на Flutter, а до недавнего времени команда фреймворка предлагала только один способ реализовать 2D-скролл — очень не производительный. В статье рассказываю, в чём была была загвоздка, что есть во Flutter сейчас и каких впечатляющих результатов можно добиться собственной реализацией. 

Читать далее

Статья 4: Готовим MVI

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

Серия статей с очередным разбором MV* шаблонов, но с интересными деталями
Даже опытные разработчики смогут найти что-то новое для себя

Это четвертая статья из серии,
в которой разбираем как собирается MVI и что же такое Model

Статья 4: Готовим MVI
- 🧩 Собираем MVI-пазл воедино
- 🤔 А что если вообще написать свою реализацию MVI?
- 📜 Ты так и не понял, что такое Model?

На вкус и цвет салаты разные

Включаем VoLTE на Pixel 9

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

О, сколько нам открытий чудных
Готовит просвещенья дух

В данной статье пойдет речь о VoLTE, о Pixel 9, и о том, как включить VoLTE (и заодно VoWiFi) на данном устройстве.

Читать далее

Как мы написали поверх Sentry кастомную систему профилирования приложения на проде

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

Привет, Хабр! В эфире Дмитрий Зайцев из Купера. Я отвечаю за Supply&Demand в команде разработки Shopper — мобильного приложения для сборщиков и курьеров. Сегодня я расскажу о том, что можно сделать, если пользователи постоянно жалуются, что ваше приложение тормозит, а вы не знаете, почему.

Читать далее

Вы не поняли extension types в Dart

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

Dart продолжает развиваться, обрастая новыми языковыми возможностями. Но если extension methods стали повседневным инструментом, то extension types остаются в тени - и совершенно незаслуженно. Почему же столь мощный механизм оказался недооценен? В каких случаях он действительно незаменим?

В рамках этой статьи мы по-рассуждаем об эволюции Dart в контексте статических расширений типов и разберемся на конкретных примерах с областями применения extension types.

Читать далее

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

Apache Kafka в интеграционных задачах КРУПНОГО бизнеса: какие плюсы и слабые стороны у такого подхода?

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

Apache Kafka в интеграционных задачах КРУПНОГО бизнеса: какие плюсы и слабые стороны у такого подхода? И какие дополнительные инструменты стоит подключить, чтобы избавиться от всех проблем в интеграциях?

Читать далее

Сетевой чат в Unity: Часть 1 — Основы и простой интерфейс

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

Просто о сложном: первая часть из серии статей на тему создания сетевого чата в Unity с использованием Netcode for GameObjects. Для тех, кто начинает разбираться в сетевой логике.

Читать далее

Статья 3: Из чего готовят MVI

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

Серия статей с очередным разбором MV* шаблонов, но с интересными деталями
Даже опытные разработчики смогут найти что-то новое для себя

Это третья статья из серии,
в которой подробно разбираем из чего состоит MVI

Статья 3: Из чего готовят MVI
- ⚓️ Парадигма Реактивное программирование (Reactive programming)
- 🌯 Как завернуть все в шаурму Intent?
- 🌽 Как собрать урожай состояние?
- 🚜 Зачем трактору нужен редуктор?
- 🏪 Как открыть магазин с перехватчиками?
- 👷🏼‍♀️ 5 менеджеров и 1 работник

Нарезать сущности в салат

Автоматическая станция обслуживания дрона: архитектура и принципы работы

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

С ростом числа задач, решаемых беспилотными летательными аппаратами (дронами), возрастает необходимость в полностью автономной системе их обслуживания. Такая станция должна выполнять:

Читать далее

Статья 2: Подробнее про MVVM

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

Серия статей с очередным разбором MV* шаблонов, но с интересными деталями
Даже опытные разработчики смогут найти что-то новое для себя

Это вторая статья из серии,
в которой подробно разбираем MVVM
и является ли класс ViewModel от Google, сущностью ViewModel из шаблона

Статья 2: Подробнее про MVVM
- 🔨 Функции обратного вызова (Callback)
- 🛠 Паттерн Наблюдатель (Observer)
- 📜 MVVM (ViewModel)
- 🔨 Привязка данных (Data Binding)

Найти новое

Как чек-лист на внутреннем портале убил 70% вопросов о релизах — без автоматизации и бюджета

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

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

Привет, Хабр! Я Александр Дровняшин, iOS-разработчик в ПСБ (и ответственный за выпуск приложения на iOS). И сегодня я расскажу, как простые чек-листы в Confluence резко повысили прозрачность нашего релизного процесса и помогли оперативно и просто собирать обратную связь.

Читать далее

Продолжение статьи универсальный бокс для дрона

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

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

Читать далее