Обновить

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

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

Публикация Xamarin.Forms iOS приложений в условиях прекращения поддержки фреймворка

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

1 мая 2024 компания Microsoft официально прекратила поддержку Xamarin.Forms. Альтернативой они называют MAUI, который всё ещё очень и очень сырой. Нельзя так просто взять и перенести свое приложение на новые рельсы - у платформ разные подходы к написанию кода. Так как выкручиваться в таком случае тем, у кого есть legacy проекты на Xamarin.Forms, но при этом нет возможности перевести их на MAUI?

Читать далее

Решение ошибки unsupported option '-G' for target 'arm64-apple-ios' при сборке проекта с Firebase и BoringSSL-GRPC

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

После добавления зависимостей Firebase через CocoaPods в iOS-проект, при сборке я столкнуться с не приятной ошибкой:

Читать далее

«Open Tracker: как разработать Android-приложение для автоматического трекинга коммерческих представителей. Часть 2»

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

Во второй части статьи рассматривается реализация пользовательского интерфейса Android‑приложения Open Tracker для автоматического трекинга коммерческих представителей. Основное внимание уделено минималистичному дизайну, работе с системными разрешениями и механизму передачи данных между фоновым сервисом и UI. Описаны три ключевых экрана (OverView, Log, Settings), а также особенности их взаимодействия с ядром приложения. Статья будет полезна разработчикам, создающим аналогичные решения с использованием Jetpack Compose, StateFlow и современных архитектурных подходов.

Читать далее

Быстрые гипотезы, AI инструменты в мобильной разработке и зачем CTO самому писать код

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

Привет, Хабр! Сегодня публикуем интервью с Русланом Давлетшиным, CTO в Hyperskill и членом программного комитета серии митапов для мобильных разработчиков AppsConf X. Главной темой беседы стала хайповая сейчас тема искусственного интеллекта

Мы поговорили с Русланом о том, как мобильным командам быстро проверять гипотезы, как им удалось сделать семь приложений за семь недель, какие инструменты использовать и какое будущее ждёт разработку, когда генеративный ИИ станет частью повседневности.

Читать далее

«Open Tracker: как разработать Android-приложение для автоматического трекинга коммерческих представителей. Часть 1»

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

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

Читать далее

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

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

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

Читать далее

Так ли хорош ChatGPT для поиска? Проверяем на метриках

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

Привет, Хабр. Я всё тот же разработчик, приложения для поиска и сравнения цен по маркетплейсам, интернет‑магазинам и классифайдам.

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

Читать далее

Как мы переписали мобильное приложение с React Native на Flutter

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

React Native не справился. Flutter — как глоток свежего воздуха.

Рассказываем, как наша команда переписала большое приложение (60+ экранов, оффлайн режим, карта, камера) на Flutter, с чем пришлось повозиться и почему теперь не жалеем.

Читать далее

Кейс каршеринга по пересборке real-time поиска машин, который принёс x3 выручки на поездку

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

Иногда продуктовая фича живёт в приложении «для галочки». Пользователи вроде бы ею пользуются, команда её не развивает, а аналитики не могут толком оценить влияние на метрики. Так было с нашим старым механизмом поиска ближайших машин в каршеринге — «Радаром». Он просто пинговал координаты и сообщал, когда рядом появлялась машина. Никакой логики приоритизации, никаких фильтров, никакого резерва — сырая идея без развития.

В статье рассказываем, как мы заново осмыслили и пересобрали фичу:

продакт Настя Голованова — о том, как мы нашли value, перезапустили механику и успели в сроки размещения наружной рекламы;
разработчик Михаил Ефанов — про то, как превратить монолит в стабильную архитектуру.

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

Читать далее

Рутину — ИИ, исследование — людям: новая реальность Surf QA

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

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

Тест-документация рождается в 5 раз быстрее, а свободное время инженеры используют для исследовательских тестирований, погружения в продукт и проработки нефункциональных требований. И всё это вместо монотонного создания проверок по требованиям.

Читать далее

Как сделать мобильное приложение в 2025 году за 2 недели

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

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

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

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

Читать далее

async let vs Task group

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

В Swift для структурированной конкуренции используются async let и группы задач (task group). Хотя обе конструкции позволяют запускать параллельные операции, они по-разному управляют жизненным циклом задач. Сегодня мы разберём эти различия на примерах.

Читать далее

Android. Кража данных через клавиатуру: миф или реальность?

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

Могут ли угнать конфиденциальные данные пользователя через стороннее приложение на устройстве? Идеи защиты от возможных атак и обсуждение, насколько это возможно сегодня

Узнать сейчас (4 мин)

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

Каскадное меню в Jetpack Compose Kotlin

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

В Jetpack Compose легко реализуется меню первого уровня. Но реализация вложенного (каскадного) меню не очевидна, поскольку в лямбде onClick пункта меню DropdownMenuItem() невозможно вызвать @Composable функцию, которая будет отображать вложенное меню.

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

Тест меню реализован на основе проекта Empty Activity Android Studio.

Читать далее

Стартап за 100 дней. Неделя вторая. Проектируем онбординг приложения

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

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

Читать далее

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

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

В этом дайджесте снова про фоновую работу в Android и обрезку Text в SwiftUI, про опыт внедрения Kotlin Multiplatform и как сделать любую задачу интересной, про акторы, структуры, программы раннего доступа, роботов Hugging Face и многое другое. Заходите!

Читать далее

Функциональный стиль: объясняю как другу

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

«Функциональное программирование», «Immutable значения», «Pure функции».
Тоже слышал эти умные слова?

И ты такой: «Что? Можно просто for написать?»

Спокойно. Сейчас все разложим по полочкам. Даже если ты пишешь var a = 1 и гордишься этим — ты свой. Погнали.

Читать далее

Duit: как создать эффективный BDUI фреймворк, не привлекая внимания санитаров

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

Привет, Хабр! Меня зовут Никита Синявин, я ведущий Flutter-разработчик в компании BetBoom, а сегодня еще и гостевой автор Friflex. В этой статье я расскажу о своем Opus Magnum — создании эффективного Backend-Driven UI под названием Duit.

Читать далее

Мобильный Vivaldi 7.5: Летние радости

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

Лето — традиционное время для отпусков и отдыха на природе. Но даже вдали от дома хочется быть в курсе последних новостей и оставаться на связи со своими друзьями и близкими в социальных сетях. Мы подготовили летний релиз новых версий браузера Vivaldi 7.5 для Android и iOS — возьмите их с собой в дорогу.

Читать далее

Swift concurrency. Executors, Actors и их связь с потоками

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

В данной части из серии статей мы погрузимся чуть глубже в недра Swift Concurrency. Как определяется поток, на котором будет выполняться Task? Почему в рамках одной Task поток может меняться? Что такое Executor и на какие типы он делится? За что отвечает TaskExecutor, а за что SerialExecutor? Как определить текущий Executor по коду? Как использовать свой самописный Executor? В этой статье ответим на эти (и многие другие) вопросы.

Читать далее