Обновить

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

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

Swipe to Pay, или Как мы переписали слайдер оплаты на Compose

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

В Дринкит был анимированный компонент на MotionLayout — слайдер быстрой оплаты в меню. Его и сейчас можно увидеть, когда вы добавляете продукты в корзину. Проведя по нему, вы оплатите заказ, а тапнув — перейдёте к покупкам.

Так почему «был»? У компонента накопилось немало багов, а самому слайдеру понадобился новый функционал. Реализовать его на MotionLayout было сложно, так что мы решили переписать компонент на Compose.

Привет! Меня зовут Дима Максимов, я — Android-разработчик. В этой статье я расскажу, почему на Compose проще пилить масштабируемые компоненты, разобрав процесс во всех деталях, покажу код и его реализацию в интерфейсе.

Читать далее

UX-исследователь среди разработчиков: инструкция по выживанию без CS-диплома

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

Если вы работаете UX-исследователем в B2B-направлении и ваши респонденты — разработчики, то скорее всего вам знакомо это ощущение: приходите поговорить про пользовательский опыт, а в итоге погружаетесь в дебри технической документации. Манифесты, подписи, Bundle, API, ключи, PEPK… Страшно? Немного. Но выжить — реально.

Меня зовут Татьяна Лескова, я старший UX-исследователь в RuStore — магазине мобильных приложений, где пользователи — не только те, кто их устанавливает, но и те, кто публикует. Поэтому среди наших респондентов — разработчики, тестировщики и другие технические роли, которые выкладывают, развивают и монетизируют свои приложения на нашей платформе. Иногда это команды из крупных компаний, иногда один инди-разработчик, совмещающий все задачи.

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

В этом посте расскажу, как проводить исследования в такой среде: не сгореть на подготовке, не провалить интервью, вытянуть инсайты и донести их до команды. А также поделюсь приёмами, которые помогают говорить с инженерами на одном языке.

Этот текст будет полезен как UX-исследователям без CS-бэкграунда, так и тем, кто работает с разработчиками бок о бок и помогает им строить качественные B2B-продукты.

Читать далее

Клетка 24. Биотехнология и использование интеллекта

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

Из Австралии Cortical Labs представил CL1 — первую в мире биологическую вычислительную систему, объединяющую кремниевые чипы с живыми человеческими нейронами (гибрид).

 Устройство размером с обувную коробку способно обучаться, обрабатывать информацию и даже играть в видеоигры. Стоимость одного экземпляра — около 3,5 млн рублей, а массовые поставки начнутся в конце 2025 года.

Применение гибридного интеллекта в научных исследованиях Основными направлениями применения CL1 названы: Моделирование болезней. Нейроны CL1 могут имитировать работу мозга при нейродегенеративных заболеваниях, таких как Альцгеймер или Паркинсон и прочие. Это ускорит тестирование лекарств.

Разработка препаратов. 90% лекарств для лечения психических расстройств проваливаются в клинических испытаниях. CL1 позволяет увидеть реакцию нейронов до испытаний на людях.

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

Пункты первый и второй базируются на биотехнологии, а третий на теории ИИ.
Биотехнология (от гр. βίος — «жизнь», τέχνη — «искусство, мастерство, способность», λόγος — «слово, смысл, мысль, понятие») — дисциплина, изучающая возможности использования живых организмов, их систем или продуктов их жизнедеятельности для решения технологических задач, а также возможности создания живых организмов с необходимыми свойствами методом генной инженерии.

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

Читать далее

Опенсорсим yx_state — свой State Management для Flutter

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

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

Сегодня мы релизим в опенсорс ещё один state management для Flutter — ровно так же, как чуть меньше года назад мы выпустили yet another DI. Неужели снова ничего не подошло из готового? Да, снова не подошло.

В этой статье я расскажу, почему у нас снова зачесались руки сделать собственную библиотеку: как мы пришли к созданию собственного state management и чем он отличается от Riverpod, BLoC или Redux, какие компромиссы пришлось искать, чтобы совместить несовместимое.

Читать далее

Игра в SPM

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

Привет, хабражители!

На Хабре уже немало статей об опыте перехода на Swift Package Manager — успешных и не очень. В моем случае переезд прошел удачно, но на каждом шагу возникали проблемы, которые было сложно нагуглить или вообще найти решения. Поэтому я решил собрать все накопленные знания и поделиться ими в этой статье, надеясь, что другие разработчики сэкономят кучу времени.

Читать далее

Android vs iOS: кто победит в гонке ИИ и мобильных технологий?

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

Бум ИИ заставил техногигантов стремиться быстрее конкурентов внедрять инновации. Apple и Google, владеющие мобильными операционными системами iOS и Android, активно интегрируют собственные решения. Это платформа искусственного интеллекта Apple Intelligence и чат-бот c искусственным интеллектом Gemini. В настоящее время Google успешнее развивает ИИ-технологии. Однако поможет ли Google это преимущество обойти Apple на рынке мобильных устройств, особенно в США, где большинство пользователей предпочитает гаджеты «яблочной корпорации»? Вопрос остается открытым.

Читать далее

Как мы решали задачу по ускорению выдачи данных на мобильные устройства бизнес-пользователей. Часть 2

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

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

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

Читать далее

Государственный мессенджер по-корейски: контроль, удобство или провал? Национальный мессенджер Южной Кореи, обзор

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

KakaoTalk выступает в роли универсальной платформы для рассылки официальных уведомлений от государственных структур Южной Кореи. За этим стоит сложная техническая архитектура, объединяющая бизнес-API, webhook-интеграции и масштабируемую серверную инфраструктуру. Всё это позволяет органам власти отправлять различные типы сообщений гражданам - быстро, безопасно и с учётом законодательных требований.

Читать далее

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

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

В этом выпуске чайник в Metal и работа с телевизионными каналами на Android, результаты опроса разработчиков Stack Overflow 2025 и какие маркетинговые каналы действительно работают, под капотом Android, процессы отладки, нейросеть у себя на компьютере и многое другое. Заходите!

Читать далее

Простая минификация Json тел запросов / ответов с Kotlin Serialization

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

Привет!

Недавно в рамках одного из проектов на стеке KMP, Ktor и Kotlin Serialization мы с командой решили провести эксперимент и определить возможность и целесобразность минификации тел запросов / ответов на Json.

Да, мы знаем про GraphQL, Protobuf и др., но в нашем случае имел место необузданный интерес наколхозить такое решение. И при всей его наивности удалось сократить средний размер итоговых джсонов (после всех внутренних оптимизаций) на 15-20%.

Читать далее

Покажу вам фокус: настраиваем property wrapper @FocusState — короткая инструкция

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

Всем привет! Меня зовут Дмитрий Демми, компания AGIMA. Мы часто разрабатываем приложения для банков или еком-продуктов. И в большинстве из них нужно заполнять поля: вписывать имя, контакты, адрес, номера документов, банковских карт или реквизиты. Иногда таких граф бывает много, и чтобы пользователям было удобно переключаться между ними, в iOS-разработке используется property wrapper @FocusState. Если вы пока не сталкивались с таким, то ниже всё объясняю и показываю.

Читать далее

Использование YandexGPT через Siri

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

В данной статье я расскажу как добавить YandexGPT для использования с Siri с помощью приложений Shortcuts и Scriptable.

Читать далее

Пять фатальных ошибок в карьере разработчика

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

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

Читать далее

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

Как мы в Купере переписали CodePush для React Native. Быстрее, легче, удобнее

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

Как мы в Купере переписали CodePush для React Native. Быстрее, легче, удобнее

Всем привет! Меня зовут Евгений Прокопьев, я разработчик на React Native с 9-летним стажем. В этой статье расскажу, как мы в Купере написали собственный CodePush, который совсем не похож на продукт Microsoft.

Читать далее

Создал свое приложение для изучения английских слов

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

Все привет! Я full‑stack веб‑разработчик уже много лет. И вот год назад мне пришла идея поднять свой уровень английского, так как мой уровень был A2, меня он не устраивал совсем. У меня уже были неплохие знания грамматики, но лексика и практика очень хромали. И вот начался этот тернистый путь.

Читать далее

Функциональное программирование в Android. Побочные эффекты и ELM-архитектура

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

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

Практиковаться будем не на ViewModel, а на The Elm Architecture — это паттерн управления состоянием, заимствованный из функционального языка Elm. Заодно узнаем об этом паттерне побольше, разобрав суть его ключевых компонентов. В общем, погнали!

Читать далее

Стартап за 100 дней. Неделя четвёртая. Тестирование, вайбкодинг и первые разочарования

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

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

Читать далее

Бизнес требует стабильной работы мобильного приложения у всех пользователей. Что делать?

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

Как загружать большие объемы данных? Часть 1.

Привет, друзья! Наша команда более 10 лет занимается вопросами эффективной передачи данных на мобильные устройства. Мы исследовали разные варианты: одни оказались слишком медленными, другие приводили к переполнению памяти на мобильном устройстве.

Хотим рассказать, как мы в команде «Форсайт. Мобильная платформа» сделали синхронизацию больших объемов данных, чтобы это работало, в том числе, на ТСД (терминал сбора данных). Для экономии батареи ТСД специально снабжают слабыми процессорами. Весь подбор инструментов и алгоритмов мы уже апробировали в продукте «Форсайт. Мобильная платформа» (ФМП).

Специфичные условия для мобильного приложения начнем РАЗБИРАТЬ С КРЫШИ, так будет проще подобраться к существу вопроса. В среднем, отличие общедоступных приложений от бизнес‑приложений — в объеме потребляемых данных. У бизнес‑приложений объем данных значительно больше. Но, как водится, ожидание бизнес‑пользователей от приложения точно такие же, как и у всех: приложение должно работать не просто быстро, а моментально. А это значит, что нужно найти особые техники по ускоренной передаче данных. При подборе технологий для транспорта данных нам хотелось получить:

А) Стабильный механизм передачи данных.

Б) Самый быстрый/производительный протокол из возможных.

Поскольку мы производим спецшину по транспорту данных, для нас это означает, что мобильный пользователь будет обращаться в наш инструмент за «чемоданом» данных, и мы должны как можно быстрее передать ему этот «чемодан» целиком. У разработчиков возникает вопрос — насколько большой может быть «чемодан»? Насколько будет нескромен кейс, который нужно будет тащить? За ориентир мы взяли ½ миллиона записей табличных данных.

Читать далее

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

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

Эта статья родилась из практической задачи — понять, как устроен Android в общем и целом, как он сохраняет и восстанавливает состояния приложения (помимо БД и файлов) при внезапном завершении процесса, как управляет процессами.

Я разберу ключевые системные компоненты (Zygote, SystemServer, AMS, Binder) и процесс восстановления состояния через Bundle.

Привет, Хабр! Я Михаил Богатиков, Android‑разработчик в ПСБ.
На одном из собеседований мне задали вопрос, про восстановление приложения после смерти, на который я не смог ответить. Мне стало интересно и я решил изучить этот вопрос и в результате появилась эта статья.

Читать далее

Рисуем чайник в Metal

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

Сегодня научимся рендерить 3D модель чайника при помощи Metal API. В процессе познакомимся с устройством простой модели, настроим пайплайн Metal и напишем шейдеры. Поиграться с кодом рендера можно в демо проекте.

Читать далее