home.social

#mobile_development — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #mobile_development, aggregated by home.social.

fetched live
  1. Переносим дизайн-систему в код: риски, решения, лучшие практики

    Задумались о том, чтобы вынести все UI-компоненты вашего проекта в дизайн систему? Или уже находитесь в процессе её разработки? Тогда эта статься, думаю, будет для вас интересна. И возможно даже поможет избежать потенциальных проблем и оптимизировать процесс её разработки и внедрения в проект. Всем привет! Меня зовут Дмитрий, я разработчик дизайн‑системы на Android в компании Домклик. В этой статье расскажу, как нам удалось возродить проект дизайн‑системы и успешно внедрить его в наше приложение Домклик. И хотя речь пойдёт о разработке на стеке Jetpack Compose для платформы Android , большинство мыслей и рекомендаций не привязаны к конкретной платформе и технологии. Итак, поехали...

    habr.com/ru/companies/domclick

    #дизайн_система #android #jetpack_compose #mobile_development #разработка_библиотеки #управление_проектами

  2. Переносим дизайн-систему в код: риски, решения, лучшие практики

    Задумались о том, чтобы вынести все UI-компоненты вашего проекта в дизайн систему? Или уже находитесь в процессе её разработки? Тогда эта статься, думаю, будет для вас интересна. И возможно даже поможет избежать потенциальных проблем и оптимизировать процесс её разработки и внедрения в проект. Всем привет! Меня зовут Дмитрий, я разработчик дизайн‑системы на Android в компании Домклик. В этой статье расскажу, как нам удалось возродить проект дизайн‑системы и успешно внедрить его в наше приложение Домклик. И хотя речь пойдёт о разработке на стеке Jetpack Compose для платформы Android , большинство мыслей и рекомендаций не привязаны к конкретной платформе и технологии. Итак, поехали...

    habr.com/ru/companies/domclick

    #дизайн_система #android #jetpack_compose #mobile_development #разработка_библиотеки #управление_проектами

  3. Переносим дизайн-систему в код: риски, решения, лучшие практики

    Задумались о том, чтобы вынести все UI-компоненты вашего проекта в дизайн систему? Или уже находитесь в процессе её разработки? Тогда эта статься, думаю, будет для вас интересна. И возможно даже поможет избежать потенциальных проблем и оптимизировать процесс её разработки и внедрения в проект. Всем привет! Меня зовут Дмитрий, я разработчик дизайн‑системы на Android в компании Домклик. В этой статье расскажу, как нам удалось возродить проект дизайн‑системы и успешно внедрить его в наше приложение Домклик. И хотя речь пойдёт о разработке на стеке Jetpack Compose для платформы Android , большинство мыслей и рекомендаций не привязаны к конкретной платформе и технологии. Итак, поехали...

    habr.com/ru/companies/domclick

    #дизайн_система #android #jetpack_compose #mobile_development #разработка_библиотеки #управление_проектами

  4. React Native в 2026 году: New Architecture, нативный код и AI в реальном проекте

    React Native по-прежнему часто описывают формулой «один код для iOS и Android». В 2026 году она звучит слишком просто. Современное приложение на React Native — это общий продуктовый слой на TypeScript, нативный интерфейс, Hermes, Fabric, JSI, фоновые процессы, platform-specific код и довольно много решений о том, где именно должна выполняться каждая задача . Мы столкнулись с этим в Synchra.24 — мобильном приложении для линейных и распределённых команд. В проекте больше тысячи TS/TSX-файлов и свыше ста экранов, но рядом с ними живут Kotlin и Swift: геопозиция, push-уведомления, биометрия, системные виджеты и работа с медиа. Это не история о функциях нашего продукта и не попытка его рекламировать. Это разбор того, чем на практике стала разработка на React Native к 2026 году — и какую часть этой работы действительно можно поручить нейросетям.

    habr.com/ru/articles/1072522/

    #React_Native_2026 #New_Architecture #Fabric #JSI #TurboModules #Hermes #Reanimated #Worklets #mobile_development #AIassisted_development

  5. React Native в 2026 году: New Architecture, нативный код и AI в реальном проекте

    React Native по-прежнему часто описывают формулой «один код для iOS и Android». В 2026 году она звучит слишком просто. Современное приложение на React Native — это общий продуктовый слой на TypeScript, нативный интерфейс, Hermes, Fabric, JSI, фоновые процессы, platform-specific код и довольно много решений о том, где именно должна выполняться каждая задача . Мы столкнулись с этим в Synchra.24 — мобильном приложении для линейных и распределённых команд. В проекте больше тысячи TS/TSX-файлов и свыше ста экранов, но рядом с ними живут Kotlin и Swift: геопозиция, push-уведомления, биометрия, системные виджеты и работа с медиа. Это не история о функциях нашего продукта и не попытка его рекламировать. Это разбор того, чем на практике стала разработка на React Native к 2026 году — и какую часть этой работы действительно можно поручить нейросетям.

    habr.com/ru/articles/1072522/

    #React_Native_2026 #New_Architecture #Fabric #JSI #TurboModules #Hermes #Reanimated #Worklets #mobile_development #AIassisted_development

  6. React Native в 2026 году: New Architecture, нативный код и AI в реальном проекте

    React Native по-прежнему часто описывают формулой «один код для iOS и Android». В 2026 году она звучит слишком просто. Современное приложение на React Native — это общий продуктовый слой на TypeScript, нативный интерфейс, Hermes, Fabric, JSI, фоновые процессы, platform-specific код и довольно много решений о том, где именно должна выполняться каждая задача . Мы столкнулись с этим в Synchra.24 — мобильном приложении для линейных и распределённых команд. В проекте больше тысячи TS/TSX-файлов и свыше ста экранов, но рядом с ними живут Kotlin и Swift: геопозиция, push-уведомления, биометрия, системные виджеты и работа с медиа. Это не история о функциях нашего продукта и не попытка его рекламировать. Это разбор того, чем на практике стала разработка на React Native к 2026 году — и какую часть этой работы действительно можно поручить нейросетям.

    habr.com/ru/articles/1072522/

    #React_Native_2026 #New_Architecture #Fabric #JSI #TurboModules #Hermes #Reanimated #Worklets #mobile_development #AIassisted_development

  7. Offline‑first PWA на примере фитнес‑трекера

    Привет, меня зовут Сергей Цибульченко, я fullstack‑разработчик. На хабре уже есть несколько статей про PWA, но они не раскрывают всех подводных камней данной технологии, я с этим лично столкнулся когда делал пет‑проект по этим статьям. Для начала, что такое PWA? Это веб‑страница которая выглядит и ведёт себя как приложение, но при этом имеет технические ограничения веб‑страницы.

    habr.com/ru/articles/1066882/

    #PWA #javascript #mobile_development #offlinefirst

  8. Offline‑first PWA на примере фитнес‑трекера

    Привет, меня зовут Сергей Цибульченко, я fullstack‑разработчик. На хабре уже есть несколько статей про PWA, но они не раскрывают всех подводных камней данной технологии, я с этим лично столкнулся когда делал пет‑проект по этим статьям. Для начала, что такое PWA? Это веб‑страница которая выглядит и ведёт себя как приложение, но при этом имеет технические ограничения веб‑страницы.

    habr.com/ru/articles/1066882/

    #PWA #javascript #mobile_development #offlinefirst

  9. Offline‑first PWA на примере фитнес‑трекера

    Привет, меня зовут Сергей Цибульченко, я fullstack‑разработчик. На хабре уже есть несколько статей про PWA, но они не раскрывают всех подводных камней данной технологии, я с этим лично столкнулся когда делал пет‑проект по этим статьям. Для начала, что такое PWA? Это веб‑страница которая выглядит и ведёт себя как приложение, но при этом имеет технические ограничения веб‑страницы.

    habr.com/ru/articles/1066882/

    #PWA #javascript #mobile_development #offlinefirst

  10. Сколько токенов в секунду реально выдаёт Mac mini M4

    Дисклеймер: я держу сервис аренды маков, поэтому у меня под рукой флот одинаковых машин и повод их гонять. Цифры ниже с этих машин, методика описана полностью, данные открыты под CC BY. Ссылок на сервис в статье нет.

    habr.com/ru/articles/1065948/

    #ios #ios_development #мобильная_разработка #mobile_development #xcode #flutter #macos #macos_разработка #flutter_mobile_development

  11. Сколько токенов в секунду реально выдаёт Mac mini M4

    Дисклеймер: я держу сервис аренды маков, поэтому у меня под рукой флот одинаковых машин и повод их гонять. Цифры ниже с этих машин, методика описана полностью, данные открыты под CC BY. Ссылок на сервис в статье нет.

    habr.com/ru/articles/1065948/

    #ios #ios_development #мобильная_разработка #mobile_development #xcode #flutter #macos #macos_разработка #flutter_mobile_development

  12. Сколько токенов в секунду реально выдаёт Mac mini M4

    Дисклеймер: я держу сервис аренды маков, поэтому у меня под рукой флот одинаковых машин и повод их гонять. Цифры ниже с этих машин, методика описана полностью, данные открыты под CC BY. Ссылок на сервис в статье нет.

    habr.com/ru/articles/1065948/

    #ios #ios_development #мобильная_разработка #mobile_development #xcode #flutter #macos #macos_разработка #flutter_mobile_development

  13. Как мы мигрируем навигацию на Compose в Android-приложениях с 400+ экранами

    Привет, Хабр! Меня зовут Константин Дубинко, я — Android-техлид в hh.ru . Сейчас мы заканчиваем большой переезд навигации в двух Android-приложениях — для соискателей и работодателей. В этой статье я покажу, как у нас там устроена навигация, почему мы решили отказаться от Fragment-навигации и как превратили хаотичную миграцию с «островками» новой архитектуры в управляемый процесс с метриками и понятным планом работ. Заодно расскажу, какие решения сработали, какие — нет, и что я сделал бы иначе, если бы начинал заново.

    habr.com/ru/companies/hh/artic

    #android_development #compose #migration #navigation #refactoring #mobile_development #modo #vj #мобильная_разработка #мобильные_приложения

  14. Как мы мигрируем навигацию на Compose в Android-приложениях с 400+ экранами

    Привет, Хабр! Меня зовут Константин Дубинко, я — Android-техлид в hh.ru . Сейчас мы заканчиваем большой переезд навигации в двух Android-приложениях — для соискателей и работодателей. В этой статье я покажу, как у нас там устроена навигация, почему мы решили отказаться от Fragment-навигации и как превратили хаотичную миграцию с «островками» новой архитектуры в управляемый процесс с метриками и понятным планом работ. Заодно расскажу, какие решения сработали, какие — нет, и что я сделал бы иначе, если бы начинал заново.

    habr.com/ru/companies/hh/artic

    #android_development #compose #migration #navigation #refactoring #mobile_development #modo #vj #мобильная_разработка #мобильные_приложения

  15. Как мы мигрируем навигацию на Compose в Android-приложениях с 400+ экранами

    Привет, Хабр! Меня зовут Константин Дубинко, я — Android-техлид в hh.ru . Сейчас мы заканчиваем большой переезд навигации в двух Android-приложениях — для соискателей и работодателей. В этой статье я покажу, как у нас там устроена навигация, почему мы решили отказаться от Fragment-навигации и как превратили хаотичную миграцию с «островками» новой архитектуры в управляемый процесс с метриками и понятным планом работ. Заодно расскажу, какие решения сработали, какие — нет, и что я сделал бы иначе, если бы начинал заново.

    habr.com/ru/companies/hh/artic

    #android_development #compose #migration #navigation #refactoring #mobile_development #modo #vj #мобильная_разработка #мобильные_приложения

  16. Миссия выполнима: Как подружить Max и E2E

    Это статья про небольшой хобби-проект, или как написать очень легковесный клиент для любого приложения с нуля. Идея зародилась, когда весь этот цирк только начинался. Прогревали новый ГОС Т -мессенджер, поливали его чем только можно. В какой-то момент проскочила новость: В Max нет сквозного шифрования ... И тут зародилась глупая идея: почему бы самому не прикрутить к нему разные функции анонимности и шифрования? Уровень конечно совсем не тот, что у Telegram и Signal, но сама возможность скрыть содержание переписки завораживает, разве нет?! Спойлер: APK весит 11 МБ против 120 МБ у официального, не греет телефон и показывает каждый запрос к серверам ok[.]ru и vk[.]ru

    habr.com/ru/articles/1042848/

    #rust #tauri #webview #svelte #e2e #android #secure_messaging #mobile_development

  17. Миссия выполнима: Как подружить Max и E2E

    Это статья про небольшой хобби-проект, или как написать очень легковесный клиент для любого приложения с нуля. Идея зародилась, когда весь этот цирк только начинался. Прогревали новый ГОС Т -мессенджер, поливали его чем только можно. В какой-то момент проскочила новость: В Max нет сквозного шифрования ... И тут зародилась глупая идея: почему бы самому не прикрутить к нему разные функции анонимности и шифрования? Уровень конечно совсем не тот, что у Telegram и Signal, но сама возможность скрыть содержание переписки завораживает, разве нет?! Спойлер: APK весит 11 МБ против 120 МБ у официального, не греет телефон и показывает каждый запрос к серверам ok[.]ru и vk[.]ru

    habr.com/ru/articles/1042848/

    #rust #tauri #webview #svelte #e2e #android #secure_messaging #mobile_development

  18. Миссия выполнима: Как подружить Max и E2E

    Это статья про небольшой хобби-проект, или как написать очень легковесный клиент для любого приложения с нуля. Идея зародилась, когда весь этот цирк только начинался. Прогревали новый ГОС Т -мессенджер, поливали его чем только можно. В какой-то момент проскочила новость: В Max нет сквозного шифрования ... И тут зародилась глупая идея: почему бы самому не прикрутить к нему разные функции анонимности и шифрования? Уровень конечно совсем не тот, что у Telegram и Signal, но сама возможность скрыть содержание переписки завораживает, разве нет?! Спойлер: APK весит 11 МБ против 120 МБ у официального, не греет телефон и показывает каждый запрос к серверам ok[.]ru и vk[.]ru

    habr.com/ru/articles/1042848/

    #rust #tauri #webview #svelte #e2e #android #secure_messaging #mobile_development

  19. Я хотел adjustResize. Получил adjustNothing. Три раунда войны с Android-клавиатурой в WebView

    Я юрист. Я не должен был знать слово adjustResize . Сейчас оно мне снится. Это история про три недели борьбы с Android-клавиатурой в WebView, про MutationObserver , который я призвал и пожалел, и про то, как настоящее решение оказалось не там, где я искал. Если у вас в приложении WebView и формы с инпутами — возможно, я сэкономлю вам неделю. Три недели войны с клавиатурой

    habr.com/ru/articles/1034290/

    #flutter #webview #android #клавиатура #softInputMode #bottom_sheet #mutationobserver #mobile_development #солоразработчик #личный_опыт

  20. Я хотел adjustResize. Получил adjustNothing. Три раунда войны с Android-клавиатурой в WebView

    Я юрист. Я не должен был знать слово adjustResize . Сейчас оно мне снится. Это история про три недели борьбы с Android-клавиатурой в WebView, про MutationObserver , который я призвал и пожалел, и про то, как настоящее решение оказалось не там, где я искал. Если у вас в приложении WebView и формы с инпутами — возможно, я сэкономлю вам неделю. Три недели войны с клавиатурой

    habr.com/ru/articles/1034290/

    #flutter #webview #android #клавиатура #softInputMode #bottom_sheet #mutationobserver #mobile_development #солоразработчик #личный_опыт

  21. Я хотел adjustResize. Получил adjustNothing. Три раунда войны с Android-клавиатурой в WebView

    Я юрист. Я не должен был знать слово adjustResize . Сейчас оно мне снится. Это история про три недели борьбы с Android-клавиатурой в WebView, про MutationObserver , который я призвал и пожалел, и про то, как настоящее решение оказалось не там, где я искал. Если у вас в приложении WebView и формы с инпутами — возможно, я сэкономлю вам неделю. Три недели войны с клавиатурой

    habr.com/ru/articles/1034290/

    #flutter #webview #android #клавиатура #softInputMode #bottom_sheet #mutationobserver #mobile_development #солоразработчик #личный_опыт

  22. Приложение полностью написанное AI

    У меня возникла идея провести эксперимент, чтобы лучше понять текущие возможности агентов для написания кода. Ну и кроме этого протестировать рынок и понять что нас ожидает в ближайшем будущем в плане изменения подходов к разработке. Я хочу написать мобильные приложения для iOS и Android начиная от дизайна и до деплоя с помощью Claude Code.

    habr.com/ru/articles/1021492/

    #ai #tailwind #angular #nestjs #postgresql #mobile_development

  23. Приложение полностью написанное AI

    У меня возникла идея провести эксперимент, чтобы лучше понять текущие возможности агентов для написания кода. Ну и кроме этого протестировать рынок и понять что нас ожидает в ближайшем будущем в плане изменения подходов к разработке. Я хочу написать мобильные приложения для iOS и Android начиная от дизайна и до деплоя с помощью Claude Code.

    habr.com/ru/articles/1021492/

    #ai #tailwind #angular #nestjs #postgresql #mobile_development

  24. Приложение полностью написанное AI

    У меня возникла идея провести эксперимент, чтобы лучше понять текущие возможности агентов для написания кода. Ну и кроме этого протестировать рынок и понять что нас ожидает в ближайшем будущем в плане изменения подходов к разработке. Я хочу написать мобильные приложения для iOS и Android начиная от дизайна и до деплоя с помощью Claude Code.

    habr.com/ru/articles/1021492/

    #ai #tailwind #angular #nestjs #postgresql #mobile_development

  25. Приложение падало на старте. Мы теряли 5% пользователей. Разбор кейса FanBattle

    После одного из релизов у FanBattle приложение перестало открываться у части пользователей. Проблема затронула около 5% аудитории. Баг исправили быстро, но пользователи не могли даже узнать, что вышла новая версия — приложение падало раньше, чем успевал появиться интерфейс. Разбираем, как команда решила проблему через раннюю инициализацию SDK и force update.

    habr.com/ru/articles/1009114/

    #mobile_development #mobile_apps #force_update #release #product_management #product_management

  26. Приложение падало на старте. Мы теряли 5% пользователей. Разбор кейса FanBattle

    После одного из релизов у FanBattle приложение перестало открываться у части пользователей. Проблема затронула около 5% аудитории. Баг исправили быстро, но пользователи не могли даже узнать, что вышла новая версия — приложение падало раньше, чем успевал появиться интерфейс. Разбираем, как команда решила проблему через раннюю инициализацию SDK и force update.

    habr.com/ru/articles/1009114/

    #mobile_development #mobile_apps #force_update #release #product_management #product_management

  27. Приложение падало на старте. Мы теряли 5% пользователей. Разбор кейса FanBattle

    После одного из релизов у FanBattle приложение перестало открываться у части пользователей. Проблема затронула около 5% аудитории. Баг исправили быстро, но пользователи не могли даже узнать, что вышла новая версия — приложение падало раньше, чем успевал появиться интерфейс. Разбираем, как команда решила проблему через раннюю инициализацию SDK и force update.

    habr.com/ru/articles/1009114/

    #mobile_development #mobile_apps #force_update #release #product_management #product_management

  28. Не Vibe-Coding, а инженерия с AI: как я за полгода сделал Android-приложение: социальный трекер привычек

    Не Vibe-Coding, а инженерия с AI: Как за полгода я сделал Android-приложение "Трекер привычек" с социальными функциями, синхронизацией, офлайн-режимом и виджетом

    habr.com/ru/articles/1005684/

    #android #kotlin #jetpack_compose #room #firebase #offlinefirst #mobile_development #mobile_architecture #ai_in_development #vibecoding

  29. Не Vibe-Coding, а инженерия с AI: как я за полгода сделал Android-приложение: социальный трекер привычек

    Не Vibe-Coding, а инженерия с AI: Как за полгода я сделал Android-приложение "Трекер привычек" с социальными функциями, синхронизацией, офлайн-режимом и виджетом

    habr.com/ru/articles/1005684/

    #android #kotlin #jetpack_compose #room #firebase #offlinefirst #mobile_development #mobile_architecture #ai_in_development #vibecoding

  30. Не Vibe-Coding, а инженерия с AI: как я за полгода сделал Android-приложение: социальный трекер привычек

    Не Vibe-Coding, а инженерия с AI: Как за полгода я сделал Android-приложение "Трекер привычек" с социальными функциями, синхронизацией, офлайн-режимом и виджетом

    habr.com/ru/articles/1005684/

    #android #kotlin #jetpack_compose #room #firebase #offlinefirst #mobile_development #mobile_architecture #ai_in_development #vibecoding

  31. Как слить токен авторизации через виджет iOS — и как этого не допустить

    Если вы разрабатываете iOS-приложение с виджетом, Watch-компаньоном (это приложение для Apple Watch, которое работает в паре с основным приложением на iPhone) или Share Extension - рано или поздно вам придётся передавать данные между процессами. App Groups - стандартный механизм для этого, и на первый взгляд он прост: добавил capability, написал UserDefaults(suiteName:) , поехали. Но именно эта кажущаяся простота и создаёт проблемы. Данные лежат в незашифрованном контейнере, любое приложение из вашей команды может их прочитать, а валидация входящих данных почти никогда не делается. Давайте же рассмотрим, как правильно настроить App Groups, что реально можно туда класть, какие риски существуют и как организовать безопасный обмен (в том числе с примером передачи токена авторизации между приложением и виджетом). Продолжим

    habr.com/ru/articles/1002244/

    #ios #swift #swiftui #apple #mobile_development #security #data #мобильная_разработка #мобильные_приложения

  32. Как слить токен авторизации через виджет iOS — и как этого не допустить

    Если вы разрабатываете iOS-приложение с виджетом, Watch-компаньоном (это приложение для Apple Watch, которое работает в паре с основным приложением на iPhone) или Share Extension - рано или поздно вам придётся передавать данные между процессами. App Groups - стандартный механизм для этого, и на первый взгляд он прост: добавил capability, написал UserDefaults(suiteName:) , поехали. Но именно эта кажущаяся простота и создаёт проблемы. Данные лежат в незашифрованном контейнере, любое приложение из вашей команды может их прочитать, а валидация входящих данных почти никогда не делается. Давайте же рассмотрим, как правильно настроить App Groups, что реально можно туда класть, какие риски существуют и как организовать безопасный обмен (в том числе с примером передачи токена авторизации между приложением и виджетом). Продолжим

    habr.com/ru/articles/1002244/

    #ios #swift #swiftui #apple #mobile_development #security #data #мобильная_разработка #мобильные_приложения

  33. Как слить токен авторизации через виджет iOS — и как этого не допустить

    Если вы разрабатываете iOS-приложение с виджетом, Watch-компаньоном (это приложение для Apple Watch, которое работает в паре с основным приложением на iPhone) или Share Extension - рано или поздно вам придётся передавать данные между процессами. App Groups - стандартный механизм для этого, и на первый взгляд он прост: добавил capability, написал UserDefaults(suiteName:) , поехали. Но именно эта кажущаяся простота и создаёт проблемы. Данные лежат в незашифрованном контейнере, любое приложение из вашей команды может их прочитать, а валидация входящих данных почти никогда не делается. Давайте же рассмотрим, как правильно настроить App Groups, что реально можно туда класть, какие риски существуют и как организовать безопасный обмен (в том числе с примером передачи токена авторизации между приложением и виджетом). Продолжим

    habr.com/ru/articles/1002244/

    #ios #swift #swiftui #apple #mobile_development #security #data #мобильная_разработка #мобильные_приложения

  34. Как я добавил 10 фич в Android-приложение за один заход: Todo Budget v4.0

    Как я добавил 10 фич в Android-приложение за один заход: Todo Budget v4.0 Привет, Хабр! Продолжаю серию о разработке Todo Budget — Android-приложения, объединяющего задачи, бюджет, заметки и помодоро-таймер в одном месте.

    habr.com/ru/articles/1003034/

    #android #kotlin #jetpack_compose #room #mobile_development

  35. Как я добавил 10 фич в Android-приложение за один заход: Todo Budget v4.0

    Как я добавил 10 фич в Android-приложение за один заход: Todo Budget v4.0 Привет, Хабр! Продолжаю серию о разработке Todo Budget — Android-приложения, объединяющего задачи, бюджет, заметки и помодоро-таймер в одном месте.

    habr.com/ru/articles/1003034/

    #android #kotlin #jetpack_compose #room #mobile_development

  36. Как я добавил 10 фич в Android-приложение за один заход: Todo Budget v4.0

    Как я добавил 10 фич в Android-приложение за один заход: Todo Budget v4.0 Привет, Хабр! Продолжаю серию о разработке Todo Budget — Android-приложения, объединяющего задачи, бюджет, заметки и помодоро-таймер в одном месте.

    habr.com/ru/articles/1003034/

    #android #kotlin #jetpack_compose #room #mobile_development

  37. Ваше iOS-приложение не закончено, если им не может пользоваться незрячий: Гайд по Accessibility

    Как превратить ваше приложение в инклюзивный продукт, который используют ВСЕ - от слабовидящих до людей с когнитивными нарушениями. Плюс секретные фишки, о которых молчит документация Apple. Это руководство создано не для того, чтобы вы просто поставили галочку в Jira. Мы поговорим о том, как код может стать мостом или стеной для миллионов людей. Продолжим

    habr.com/ru/articles/1002142/

    #swift #swiftui #uikit #accessibility #voiceover #mobile_development #mobile_design #доступ #apple

  38. Ваше iOS-приложение не закончено, если им не может пользоваться незрячий: Гайд по Accessibility

    Как превратить ваше приложение в инклюзивный продукт, который используют ВСЕ - от слабовидящих до людей с когнитивными нарушениями. Плюс секретные фишки, о которых молчит документация Apple. Это руководство создано не для того, чтобы вы просто поставили галочку в Jira. Мы поговорим о том, как код может стать мостом или стеной для миллионов людей. Продолжим

    habr.com/ru/articles/1002142/

    #swift #swiftui #uikit #accessibility #voiceover #mobile_development #mobile_design #доступ #apple

  39. Ваше iOS-приложение не закончено, если им не может пользоваться незрячий: Гайд по Accessibility

    Как превратить ваше приложение в инклюзивный продукт, который используют ВСЕ - от слабовидящих до людей с когнитивными нарушениями. Плюс секретные фишки, о которых молчит документация Apple. Это руководство создано не для того, чтобы вы просто поставили галочку в Jira. Мы поговорим о том, как код может стать мостом или стеной для миллионов людей. Продолжим

    habr.com/ru/articles/1002142/

    #swift #swiftui #uikit #accessibility #voiceover #mobile_development #mobile_design #доступ #apple

  40. Магия вне Хогвартса: как делать «дорогой» UI, не перегружая GPU

    Часто можно увидеть такую картину: разработчик влюбляется в концепт из Dribbble, тратит два дня на реализацию сложнейшей цепочки переходов, а потом удивляется, почему его iPhone 15 Pro начинает греться через пять минут использования приложения. Анимация - это всегда сделка с дьяволом (железом). Вопрос лишь в том, насколько выгодный курс обмена вы сможете выторговать. Продолжим

    habr.com/ru/articles/995538/

    #ios #swift #swiftui #mobile_development #apple #uikit #iphone #xcode

  41. Магия вне Хогвартса: как делать «дорогой» UI, не перегружая GPU

    Часто можно увидеть такую картину: разработчик влюбляется в концепт из Dribbble, тратит два дня на реализацию сложнейшей цепочки переходов, а потом удивляется, почему его iPhone 15 Pro начинает греться через пять минут использования приложения. Анимация - это всегда сделка с дьяволом (железом). Вопрос лишь в том, насколько выгодный курс обмена вы сможете выторговать. Продолжим

    habr.com/ru/articles/995538/

    #ios #swift #swiftui #mobile_development #apple #uikit #iphone #xcode

  42. Магия вне Хогвартса: как делать «дорогой» UI, не перегружая GPU

    Часто можно увидеть такую картину: разработчик влюбляется в концепт из Dribbble, тратит два дня на реализацию сложнейшей цепочки переходов, а потом удивляется, почему его iPhone 15 Pro начинает греться через пять минут использования приложения. Анимация - это всегда сделка с дьяволом (железом). Вопрос лишь в том, насколько выгодный курс обмена вы сможете выторговать. Продолжим

    habr.com/ru/articles/995538/

    #ios #swift #swiftui #mobile_development #apple #uikit #iphone #xcode

  43. MVVM+Coordinator+Factory: Святая Троица внедрения зависимостей

    Эта статья - финальный аккорд в нашей трилогии об архитектуре. Мы уже научились наводить порядок внутри экрана с помощью MVVM и управлять потоками переходов через Coordinator. Но остался один неудобный вопрос: кто создаст все эти зависимости? Если ваш Координатор превратился в свалку из десятка сервисов, которые он просто пробрасывает дальше, значит, пришло время внедрить Factory . Вы узнаете, как разделить создание объектов и управление ими, почему глобальные DI-контейнеры - это яд замедленного действия, и как построить систему, где каждый компонент получает только то, что ему нужно, не зная лишнего. Продолжим

    habr.com/ru/articles/993738/

    #ios #apple #mobile_development #swift #swift__разработка

  44. MVVM+Coordinator+Factory: Святая Троица внедрения зависимостей

    Эта статья - финальный аккорд в нашей трилогии об архитектуре. Мы уже научились наводить порядок внутри экрана с помощью MVVM и управлять потоками переходов через Coordinator. Но остался один неудобный вопрос: кто создаст все эти зависимости? Если ваш Координатор превратился в свалку из десятка сервисов, которые он просто пробрасывает дальше, значит, пришло время внедрить Factory . Вы узнаете, как разделить создание объектов и управление ими, почему глобальные DI-контейнеры - это яд замедленного действия, и как построить систему, где каждый компонент получает только то, что ему нужно, не зная лишнего. Продолжим

    habr.com/ru/articles/993738/

    #ios #apple #mobile_development #swift #swift__разработка

  45. MVVM+Coordinator+Factory: Святая Троица внедрения зависимостей

    Эта статья - финальный аккорд в нашей трилогии об архитектуре. Мы уже научились наводить порядок внутри экрана с помощью MVVM и управлять потоками переходов через Coordinator. Но остался один неудобный вопрос: кто создаст все эти зависимости? Если ваш Координатор превратился в свалку из десятка сервисов, которые он просто пробрасывает дальше, значит, пришло время внедрить Factory . Вы узнаете, как разделить создание объектов и управление ими, почему глобальные DI-контейнеры - это яд замедленного действия, и как построить систему, где каждый компонент получает только то, что ему нужно, не зная лишнего. Продолжим

    habr.com/ru/articles/993738/

    #ios #apple #mobile_development #swift #swift__разработка

  46. Сохранение позиции прокрутки и состояния курсора при переходах по навигации в iOS

    Вы когда-нибудь замечали разницу между просто хорошим приложением и тем, которое ощущается «родным», надежным и дорогим? Часто дело не в дизайне или анимациях, а в мелочах, которые мы воспринимаем как должное, пока они не ломаются. Одна из таких критических мелочей - способность приложения помнить, где вы остановились. Вы читаете длинную статью, сворачиваете приложение, чтобы ответить на сообщение, возвращаетесь через минуту, а вас выбрасывает в самое начало текста. Раздражает, правда? Или пишете заметку, переключаетесь на браузер, возвращаетесь, а клавиатура скрыта и курсор потерян. В этой статье мы разберем, как технически грамотно реализовать сохранение позиции скролла и состояния курсора в iOS-приложениях. Мы уйдем дальше банальных советов и рассмотрим реальные сценарии с навигацией, табами и асинхронной загрузкой данных, чтобы ваши пользователи никогда не чувствовали себя потерянными. Продолжим

    habr.com/ru/articles/991164/

    #swift__разработка #uikit #ios #ios_development #mobile_development #мобильная_разработка

  47. Сохранение позиции прокрутки и состояния курсора при переходах по навигации в iOS

    Вы когда-нибудь замечали разницу между просто хорошим приложением и тем, которое ощущается «родным», надежным и дорогим? Часто дело не в дизайне или анимациях, а в мелочах, которые мы воспринимаем как должное, пока они не ломаются. Одна из таких критических мелочей - способность приложения помнить, где вы остановились. Вы читаете длинную статью, сворачиваете приложение, чтобы ответить на сообщение, возвращаетесь через минуту, а вас выбрасывает в самое начало текста. Раздражает, правда? Или пишете заметку, переключаетесь на браузер, возвращаетесь, а клавиатура скрыта и курсор потерян. В этой статье мы разберем, как технически грамотно реализовать сохранение позиции скролла и состояния курсора в iOS-приложениях. Мы уйдем дальше банальных советов и рассмотрим реальные сценарии с навигацией, табами и асинхронной загрузкой данных, чтобы ваши пользователи никогда не чувствовали себя потерянными. Продолжим

    habr.com/ru/articles/991164/

    #swift__разработка #uikit #ios #ios_development #mobile_development #мобильная_разработка

  48. Сохранение позиции прокрутки и состояния курсора при переходах по навигации в iOS

    Вы когда-нибудь замечали разницу между просто хорошим приложением и тем, которое ощущается «родным», надежным и дорогим? Часто дело не в дизайне или анимациях, а в мелочах, которые мы воспринимаем как должное, пока они не ломаются. Одна из таких критических мелочей - способность приложения помнить, где вы остановились. Вы читаете длинную статью, сворачиваете приложение, чтобы ответить на сообщение, возвращаетесь через минуту, а вас выбрасывает в самое начало текста. Раздражает, правда? Или пишете заметку, переключаетесь на браузер, возвращаетесь, а клавиатура скрыта и курсор потерян. В этой статье мы разберем, как технически грамотно реализовать сохранение позиции скролла и состояния курсора в iOS-приложениях. Мы уйдем дальше банальных советов и рассмотрим реальные сценарии с навигацией, табами и асинхронной загрузкой данных, чтобы ваши пользователи никогда не чувствовали себя потерянными. Продолжим

    habr.com/ru/articles/991164/

    #swift__разработка #uikit #ios #ios_development #mobile_development #мобильная_разработка

  49. Оптимизация и запуск нейронных сетей на React Native: кейс с травой

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

    habr.com/ru/articles/983598/

    #ai #mobile_development #plant #classification #растениеводство #open_source #детекция_болезней #мобильная_разработка #нейронные_сети #оптимизация

  50. Оптимизация и запуск нейронных сетей на React Native: кейс с травой

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

    habr.com/ru/articles/983598/

    #ai #mobile_development #plant #classification #растениеводство #open_source #детекция_болезней #мобильная_разработка #нейронные_сети #оптимизация

  51. Оптимизация и запуск нейронных сетей на React Native: кейс с травой

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

    habr.com/ru/articles/983598/

    #ai #mobile_development #plant #classification #растениеводство #open_source #детекция_болезней #мобильная_разработка #нейронные_сети #оптимизация

  52. От ощущений к цифрам: как мы внедрили метрики перформанса в андроид приложение

    Всем привет! Меня зовут Тимур, я платформенный Android-разработчик с опытом 5+ лет в ритейле и e-com. В этой статье разберём, почему перформанс на мобильных устройствах это не ощущения, а фактор, который влияет на конверсию и GMV. Покажу, какие метрики имеет смысл собирать на клиенте, как их мониторить, и приведу примеры кода для Android. Присаживайтесь, наливайте чай/кофе — поехали.

    habr.com/ru/articles/978170/

    #performance #performance_optimization #kotlin #android #grafana #mobile_development #mobile_performance

  53. От ощущений к цифрам: как мы внедрили метрики перформанса в андроид приложение

    Всем привет! Меня зовут Тимур, я платформенный Android-разработчик с опытом 5+ лет в ритейле и e-com. В этой статье разберём, почему перформанс на мобильных устройствах это не ощущения, а фактор, который влияет на конверсию и GMV. Покажу, какие метрики имеет смысл собирать на клиенте, как их мониторить, и приведу примеры кода для Android. Присаживайтесь, наливайте чай/кофе — поехали.

    habr.com/ru/articles/978170/

    #performance #performance_optimization #kotlin #android #grafana #mobile_development #mobile_performance

  54. От ощущений к цифрам: как мы внедрили метрики перформанса в андроид приложение

    Всем привет! Меня зовут Тимур, я платформенный Android-разработчик с опытом 5+ лет в ритейле и e-com. В этой статье разберём, почему перформанс на мобильных устройствах это не ощущения, а фактор, который влияет на конверсию и GMV. Покажу, какие метрики имеет смысл собирать на клиенте, как их мониторить, и приведу примеры кода для Android. Присаживайтесь, наливайте чай/кофе — поехали.

    habr.com/ru/articles/978170/

    #performance #performance_optimization #kotlin #android #grafana #mobile_development #mobile_performance

  55. Как всплывающее окно в WebView съело мои два дня

    Иногда в разработке случается баг, который не просто не даёт спать, а заставляет пересмотреть свои жизненные ценности. У меня это произошло со скромным всплывающим окном внутри WebView. Задача была максимально скучной: на экране с WebView пользователь нажимает кнопку “Exit”, а веб-страница показывает попап подтверждения. На старом коде — всё идеально. На браузере — идеально. На новом инфраструктурном слое WebView — попап появляется на миг и тут же закрывается сам, как будто кто-то тайно играет в “крестики” за пользователя. Никаких ошибок. Никаких исключений. Просто “блип”… и пустота. То самое чувство, когда ты нажимаешь кнопку, а мир делает вид, что “ничего не было”. И это — пролог к истории о том, как два дня моей жизни сгорели на алтаре WebView.

    habr.com/ru/articles/968206/

    #webview #kotlin #android #mobile_development #chromium #javascript #web