Обновить
158.04

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

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

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

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

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

Привет!

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

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

Читать далее

От табличек и звонков к онлайн-бронированию: кейс автоматизации в Ситидрайве

Время на прочтение7 мин
Количество просмотров1.2K

Привет, Хабр! Я Саша Яничкина, продакт-менеджер в Ситидрайве. Долгое время нас знали как сервис поминутного каршеринга с яркими тачками. Со временем вокруг каршеринга начали появляться новые продуктовые направления, и Ситидрайв превратился в платформу для автомобилистов с разными сценариями использования.

В этой статье расскажу, как мы:

— вытащили бронирование из ручных процессов и перенесли его в приложение,

— пересобрали клиентский путь и внутренние процессы без остановки продукта,

— запустили автоматизацию, которая теперь обрабатывает большую часть заявок без участия людей.

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

Читать далее

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

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров752

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

Наташа, мы интернет уронили: как адаптироваться и не терять клиентов в шатдаун

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

Жители практически всех регионов России сталкиваются с перебоями в работе интернета. Пользователи фиксируют отключения мобильной связи и VPN-сервисов, падение скорости загрузки сайтов и нестабильность мессенджеров — особенно Telegram и WhatsApp. И до сих пор остаются неизвестными реальные сроки восстановления стабильной работы интернета. 

Привычные действия: вызов такси, заказ продуктов, работа в удаленном формате теперь ежедневно вызывают трудности у миллионов россиян. Из-за «упавшего» интернета несут потери и предприниматели: срываются поставки товаров, не работают системы онлайн-платежей, владельцы онлайн-магазинов теряют клиентов.

Григорий Тумаков, СТО Morizo, рассказывает, как можно помочь интернету выжить. Сейчас нет 100% гарантий эффективности, но попробовать стоит.  

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров902

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

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

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

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

Аутсорс-разработка: когда стоит обращаться к внешней команде

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров609

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

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

Читать далее

Работа с телевизионными каналами на Android TV: учимся использовать TIF в 2025. Стартовый гайд для разработчиков

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

Всем привет! Меня зовут Андрей Юрин, я android-разработчик в онлайн-кинотеатре KION. При создании приложения под Android TV у вас наверняка могут возникнуть вопросы: как получить доступ к списку телевизионных каналов и как организовать у себя трансляцию? В этом материале я отвечу на них и расскажу про взаимодействие с телевизором с помощью Android TV Input Framework (TIF), а также получение через него списка доступных каналов. По сути это первый шаг к созданию полноценного TV-приложения.

Читать далее

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

Мобильная разработка за неделю #595 (21 — 27 июля)

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

В новом дайджесте рассказ последнего UIKit-разработчика и погружение в разработку плагинов для Android Studio, дизайн киты iOS и iPadOS 26 и зачем нужен Navigation 3, автоматизация тестирования, TikTok для роста, ИИ, который удалил производственную базу данных пользователя, и многое другое. Заходите!

Читать далее

PWA и WebView — как сделать ваше веб-приложение доступным в офлайн-режиме

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

Привет! Меня зовут Алексей Егоров. Сегодня поговорим про офлайн-режим в PWA и WebView, без лишней теории и с прицелом на мобильные приложения. В разработке я уже больше трёх лет, большую часть этого времени посвятил WebView и мобильным решениям. В этом материале мы разберём, как работают PWA и WebView в офлайн-режиме, посмотрим на инструменты, которые помогают реализовать такую функциональность, и в завершении я поделюсь примером: какую технологию мы выбрали для календаря и как внедрили офлайн-режим на практике.

Читать далее

Геймификация в e-commerce: как превратить игры в прибыль

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

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

В этой статье аналитик CleverPumpkin Алёна Сорокина расскажет про уже привычные и набирающие популярность виды геймификации. А еще о том, с какими сложностями можно столкнуться и как интегрировать игры в маркетинговую стратегию.

Читать далее

Харды против софтов: как я попала в IT, не зная всего на свете

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

Привет, меня зовут Диана, я iOS-разработчица в KODE. Но ещё пару лет назад я была вне IT, без проектов, без офферов, без GitHub-портфолио. Я конспектировала статьи про многопоточность, разбирала сложные кейсы GCD и заучивала паттерны проектирования, думая: «Пока не освою всё это идеально — нет смысла откликаться на вакансии».

Оглядываясь назад, понимаю: это была ловушка. Классическая и коварная. Я застряла в иллюзии подготовки. Только когда рискнула выйти из зоны комфорта и сделать первый шаг — несмотря на страх и неуверенность — что-то наконец сдвинулось с мёртвой точки.

Теперь, пройдя путь с нуля до работы в коммерческом проекте, я хочу честно поделиться опытом. Без абстрактных мотиваций. Только тем, что реально сработало. И главное — показать: soft skills могут быть не менее важны, чем знание языка программирования. Особенно в самом начале.

И что же реально сработало

Книга: «.NET 8: приложения и сервисы. Практика создания проектов с использованием Blazor, .NET MAUI, gRPC, GraphQL.»

Время на прочтение9 мин
Количество просмотров4.4K

Привет, Хаброжители! У нас есть для вас новое издание книги «.NET 8: приложения и сервисы» вы сможете поднять свои навыки владения C# и .NET на новый уровень.

В книге описаны практические приемы использования различных технологий, включая Web API, gRPC, GraphQL и SignalR, что выделяет ее среди других источников. Она познакомит вас с новой унифицированной моделью Blazor Full Stack и расскажет, как использовать .NET MAUI для разработки мобильных и десктопных приложений.

В новом издании представлены последние достижения, включая бесшовную реализацию веб-сервисов со встроенной поддержкой Ahead-of-Time (AOT) ADO. NET SqlClient. Помимо других популярных библиотек, в книге рассматриваются Humanizer и Noda Time. Совершенно новая глава расскажет об архитектуре, кэшировании, организации очередей и приемах построения надежных фоновых сервисов.

Читать далее

Погружение в разработку плагинов для Android Studio

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

В одной из прошлых статей было рассказано, как начать разработку собственного плагина для Android Studio (или IntelliJ Idea). В этой статье окунёмся немного глубже и создадим более сложные и, хочется верить, ещё более полезные инструменты для повседневной работы в IDE.

Рассмотрим разработку плагинов для IntelliJ Idea и Android Studio на нескольких нетипичных, но простых и боевых задачах. Будет много полезных ссылок, пояснений и несколько примеров с кодом.

Читать далее

Как мы сделали приложение на 1С: Элемент

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

Давненько я тут ничего не писал, а сейчас появилась интересная тема, про которую хочется рассказать.

Материал посвящен разработке web‑приложения на новой технологии от 1С — 1С:Элемент. Мы на этой технологии реализовали приложение «Книжный клуб» в тесном взаимодействии с заказчиком, опытом использования данной технологии и хочу поделиться.

Выступаю я с позиции разработчика из сети 1С‑Франчайзи, поэтому смотрю на вещи «со своей колокольни» и опыт конечно же тоже специфический. В проекте принимаю участие как аналитик и руководитель проекта со стороны исполнителя.

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

Читать далее

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