Обновить

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

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

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

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

Привет!

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

Githab CLI и Github Actions на страже вайб кодинга с мобильными агентами Cursor

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

В этой статье, я расскажу, про опыт работы с агентами Cursor, github actions и великолепный Github Cli. Статья не претендует на истину и является частным практическим опытом.

Вступление

Лето. Время отпусков. Делать не фиг.

Можно залипать в рилсах или сериальчиках на пляже, но зачем, если можно создать что-то прикольное с мобильниого телефона, с помощью агентов. А конкретно, с помощью https://cursor.com/agents (стоит 20 баксов в месяц https://docs.cursor.com/account/pricing или 3к рублей в год, если немного поискать).

Итак, создаем репозиторий (В моем случае github.com/RobotAvi/MoneyGame) или берем готовый. Даем задачу агенту.

Читать далее

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

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

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

Читать далее

Mobile System Design. Проектируем новостную ленту

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

Элементы System Design уже прочно вошли в процесс собеседований. Однако в мобильной разработке довольно часто возникает недопонимание что же все-таки необходимо продемонстрировать чтобы получить заветный офер. В этой статье я разберу один из кейсов, который может встретиться на реальном собеседовании и кроме этого покажу примерный сценарий такого интервью. Данная статья будет интересна мобильным разработчикам, как Android, так и iOS. Сам формат System Design Interview я разбирал в предыдущей статье. Здесь же мы сконцентрируемся на практике.

Итак, задача: спроектировать новостную ленту. 

Читать далее

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

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

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

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

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

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

Погружение в разработку плагинов для Android Studio (часть 1)

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

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

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

Читать далее

Стартап за 100 дней. Неделя третья. Выделяем ключевые преимущества продукта. Используем LLM правильно

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

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

Читать далее