#mobile_development — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #mobile_development, aggregated by home.social.
-
Переносим дизайн-систему в код: риски, решения, лучшие практики
Задумались о том, чтобы вынести все UI-компоненты вашего проекта в дизайн систему? Или уже находитесь в процессе её разработки? Тогда эта статься, думаю, будет для вас интересна. И возможно даже поможет избежать потенциальных проблем и оптимизировать процесс её разработки и внедрения в проект. Всем привет! Меня зовут Дмитрий, я разработчик дизайн‑системы на Android в компании Домклик. В этой статье расскажу, как нам удалось возродить проект дизайн‑системы и успешно внедрить его в наше приложение Домклик. И хотя речь пойдёт о разработке на стеке Jetpack Compose для платформы Android , большинство мыслей и рекомендаций не привязаны к конкретной платформе и технологии. Итак, поехали...
https://habr.com/ru/companies/domclick/articles/993686/
#дизайн_система #android #jetpack_compose #mobile_development #разработка_библиотеки #управление_проектами
-
Переносим дизайн-систему в код: риски, решения, лучшие практики
Задумались о том, чтобы вынести все UI-компоненты вашего проекта в дизайн систему? Или уже находитесь в процессе её разработки? Тогда эта статься, думаю, будет для вас интересна. И возможно даже поможет избежать потенциальных проблем и оптимизировать процесс её разработки и внедрения в проект. Всем привет! Меня зовут Дмитрий, я разработчик дизайн‑системы на Android в компании Домклик. В этой статье расскажу, как нам удалось возродить проект дизайн‑системы и успешно внедрить его в наше приложение Домклик. И хотя речь пойдёт о разработке на стеке Jetpack Compose для платформы Android , большинство мыслей и рекомендаций не привязаны к конкретной платформе и технологии. Итак, поехали...
https://habr.com/ru/companies/domclick/articles/993686/
#дизайн_система #android #jetpack_compose #mobile_development #разработка_библиотеки #управление_проектами
-
Переносим дизайн-систему в код: риски, решения, лучшие практики
Задумались о том, чтобы вынести все UI-компоненты вашего проекта в дизайн систему? Или уже находитесь в процессе её разработки? Тогда эта статься, думаю, будет для вас интересна. И возможно даже поможет избежать потенциальных проблем и оптимизировать процесс её разработки и внедрения в проект. Всем привет! Меня зовут Дмитрий, я разработчик дизайн‑системы на Android в компании Домклик. В этой статье расскажу, как нам удалось возродить проект дизайн‑системы и успешно внедрить его в наше приложение Домклик. И хотя речь пойдёт о разработке на стеке Jetpack Compose для платформы Android , большинство мыслей и рекомендаций не привязаны к конкретной платформе и технологии. Итак, поехали...
https://habr.com/ru/companies/domclick/articles/993686/
#дизайн_система #android #jetpack_compose #mobile_development #разработка_библиотеки #управление_проектами
-
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 году — и какую часть этой работы действительно можно поручить нейросетям.
https://habr.com/ru/articles/1072522/
#React_Native_2026 #New_Architecture #Fabric #JSI #TurboModules #Hermes #Reanimated #Worklets #mobile_development #AIassisted_development
-
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 году — и какую часть этой работы действительно можно поручить нейросетям.
https://habr.com/ru/articles/1072522/
#React_Native_2026 #New_Architecture #Fabric #JSI #TurboModules #Hermes #Reanimated #Worklets #mobile_development #AIassisted_development
-
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 году — и какую часть этой работы действительно можно поручить нейросетям.
https://habr.com/ru/articles/1072522/
#React_Native_2026 #New_Architecture #Fabric #JSI #TurboModules #Hermes #Reanimated #Worklets #mobile_development #AIassisted_development
-
Offline‑first PWA на примере фитнес‑трекера
Привет, меня зовут Сергей Цибульченко, я fullstack‑разработчик. На хабре уже есть несколько статей про PWA, но они не раскрывают всех подводных камней данной технологии, я с этим лично столкнулся когда делал пет‑проект по этим статьям. Для начала, что такое PWA? Это веб‑страница которая выглядит и ведёт себя как приложение, но при этом имеет технические ограничения веб‑страницы.
-
Offline‑first PWA на примере фитнес‑трекера
Привет, меня зовут Сергей Цибульченко, я fullstack‑разработчик. На хабре уже есть несколько статей про PWA, но они не раскрывают всех подводных камней данной технологии, я с этим лично столкнулся когда делал пет‑проект по этим статьям. Для начала, что такое PWA? Это веб‑страница которая выглядит и ведёт себя как приложение, но при этом имеет технические ограничения веб‑страницы.
-
Offline‑first PWA на примере фитнес‑трекера
Привет, меня зовут Сергей Цибульченко, я fullstack‑разработчик. На хабре уже есть несколько статей про PWA, но они не раскрывают всех подводных камней данной технологии, я с этим лично столкнулся когда делал пет‑проект по этим статьям. Для начала, что такое PWA? Это веб‑страница которая выглядит и ведёт себя как приложение, но при этом имеет технические ограничения веб‑страницы.
-
Сколько токенов в секунду реально выдаёт Mac mini M4
Дисклеймер: я держу сервис аренды маков, поэтому у меня под рукой флот одинаковых машин и повод их гонять. Цифры ниже с этих машин, методика описана полностью, данные открыты под CC BY. Ссылок на сервис в статье нет.
https://habr.com/ru/articles/1065948/
#ios #ios_development #мобильная_разработка #mobile_development #xcode #flutter #macos #macos_разработка #flutter_mobile_development
-
Сколько токенов в секунду реально выдаёт Mac mini M4
Дисклеймер: я держу сервис аренды маков, поэтому у меня под рукой флот одинаковых машин и повод их гонять. Цифры ниже с этих машин, методика описана полностью, данные открыты под CC BY. Ссылок на сервис в статье нет.
https://habr.com/ru/articles/1065948/
#ios #ios_development #мобильная_разработка #mobile_development #xcode #flutter #macos #macos_разработка #flutter_mobile_development
-
Сколько токенов в секунду реально выдаёт Mac mini M4
Дисклеймер: я держу сервис аренды маков, поэтому у меня под рукой флот одинаковых машин и повод их гонять. Цифры ниже с этих машин, методика описана полностью, данные открыты под CC BY. Ссылок на сервис в статье нет.
https://habr.com/ru/articles/1065948/
#ios #ios_development #мобильная_разработка #mobile_development #xcode #flutter #macos #macos_разработка #flutter_mobile_development
-
Как мы мигрируем навигацию на Compose в Android-приложениях с 400+ экранами
Привет, Хабр! Меня зовут Константин Дубинко, я — Android-техлид в hh.ru . Сейчас мы заканчиваем большой переезд навигации в двух Android-приложениях — для соискателей и работодателей. В этой статье я покажу, как у нас там устроена навигация, почему мы решили отказаться от Fragment-навигации и как превратили хаотичную миграцию с «островками» новой архитектуры в управляемый процесс с метриками и понятным планом работ. Заодно расскажу, какие решения сработали, какие — нет, и что я сделал бы иначе, если бы начинал заново.
https://habr.com/ru/companies/hh/articles/1044842/
#android_development #compose #migration #navigation #refactoring #mobile_development #modo #vj #мобильная_разработка #мобильные_приложения
-
Как мы мигрируем навигацию на Compose в Android-приложениях с 400+ экранами
Привет, Хабр! Меня зовут Константин Дубинко, я — Android-техлид в hh.ru . Сейчас мы заканчиваем большой переезд навигации в двух Android-приложениях — для соискателей и работодателей. В этой статье я покажу, как у нас там устроена навигация, почему мы решили отказаться от Fragment-навигации и как превратили хаотичную миграцию с «островками» новой архитектуры в управляемый процесс с метриками и понятным планом работ. Заодно расскажу, какие решения сработали, какие — нет, и что я сделал бы иначе, если бы начинал заново.
https://habr.com/ru/companies/hh/articles/1044842/
#android_development #compose #migration #navigation #refactoring #mobile_development #modo #vj #мобильная_разработка #мобильные_приложения
-
Как мы мигрируем навигацию на Compose в Android-приложениях с 400+ экранами
Привет, Хабр! Меня зовут Константин Дубинко, я — Android-техлид в hh.ru . Сейчас мы заканчиваем большой переезд навигации в двух Android-приложениях — для соискателей и работодателей. В этой статье я покажу, как у нас там устроена навигация, почему мы решили отказаться от Fragment-навигации и как превратили хаотичную миграцию с «островками» новой архитектуры в управляемый процесс с метриками и понятным планом работ. Заодно расскажу, какие решения сработали, какие — нет, и что я сделал бы иначе, если бы начинал заново.
https://habr.com/ru/companies/hh/articles/1044842/
#android_development #compose #migration #navigation #refactoring #mobile_development #modo #vj #мобильная_разработка #мобильные_приложения
-
Миссия выполнима: Как подружить Max и E2E
Это статья про небольшой хобби-проект, или как написать очень легковесный клиент для любого приложения с нуля. Идея зародилась, когда весь этот цирк только начинался. Прогревали новый ГОС Т -мессенджер, поливали его чем только можно. В какой-то момент проскочила новость: В Max нет сквозного шифрования ... И тут зародилась глупая идея: почему бы самому не прикрутить к нему разные функции анонимности и шифрования? Уровень конечно совсем не тот, что у Telegram и Signal, но сама возможность скрыть содержание переписки завораживает, разве нет?! Спойлер: APK весит 11 МБ против 120 МБ у официального, не греет телефон и показывает каждый запрос к серверам ok[.]ru и vk[.]ru
https://habr.com/ru/articles/1042848/
#rust #tauri #webview #svelte #e2e #android #secure_messaging #mobile_development
-
Миссия выполнима: Как подружить Max и E2E
Это статья про небольшой хобби-проект, или как написать очень легковесный клиент для любого приложения с нуля. Идея зародилась, когда весь этот цирк только начинался. Прогревали новый ГОС Т -мессенджер, поливали его чем только можно. В какой-то момент проскочила новость: В Max нет сквозного шифрования ... И тут зародилась глупая идея: почему бы самому не прикрутить к нему разные функции анонимности и шифрования? Уровень конечно совсем не тот, что у Telegram и Signal, но сама возможность скрыть содержание переписки завораживает, разве нет?! Спойлер: APK весит 11 МБ против 120 МБ у официального, не греет телефон и показывает каждый запрос к серверам ok[.]ru и vk[.]ru
https://habr.com/ru/articles/1042848/
#rust #tauri #webview #svelte #e2e #android #secure_messaging #mobile_development
-
Миссия выполнима: Как подружить Max и E2E
Это статья про небольшой хобби-проект, или как написать очень легковесный клиент для любого приложения с нуля. Идея зародилась, когда весь этот цирк только начинался. Прогревали новый ГОС Т -мессенджер, поливали его чем только можно. В какой-то момент проскочила новость: В Max нет сквозного шифрования ... И тут зародилась глупая идея: почему бы самому не прикрутить к нему разные функции анонимности и шифрования? Уровень конечно совсем не тот, что у Telegram и Signal, но сама возможность скрыть содержание переписки завораживает, разве нет?! Спойлер: APK весит 11 МБ против 120 МБ у официального, не греет телефон и показывает каждый запрос к серверам ok[.]ru и vk[.]ru
https://habr.com/ru/articles/1042848/
#rust #tauri #webview #svelte #e2e #android #secure_messaging #mobile_development
-
Я хотел adjustResize. Получил adjustNothing. Три раунда войны с Android-клавиатурой в WebView
Я юрист. Я не должен был знать слово adjustResize . Сейчас оно мне снится. Это история про три недели борьбы с Android-клавиатурой в WebView, про MutationObserver , который я призвал и пожалел, и про то, как настоящее решение оказалось не там, где я искал. Если у вас в приложении WebView и формы с инпутами — возможно, я сэкономлю вам неделю. Три недели войны с клавиатурой
https://habr.com/ru/articles/1034290/
#flutter #webview #android #клавиатура #softInputMode #bottom_sheet #mutationobserver #mobile_development #солоразработчик #личный_опыт
-
Я хотел adjustResize. Получил adjustNothing. Три раунда войны с Android-клавиатурой в WebView
Я юрист. Я не должен был знать слово adjustResize . Сейчас оно мне снится. Это история про три недели борьбы с Android-клавиатурой в WebView, про MutationObserver , который я призвал и пожалел, и про то, как настоящее решение оказалось не там, где я искал. Если у вас в приложении WebView и формы с инпутами — возможно, я сэкономлю вам неделю. Три недели войны с клавиатурой
https://habr.com/ru/articles/1034290/
#flutter #webview #android #клавиатура #softInputMode #bottom_sheet #mutationobserver #mobile_development #солоразработчик #личный_опыт
-
Я хотел adjustResize. Получил adjustNothing. Три раунда войны с Android-клавиатурой в WebView
Я юрист. Я не должен был знать слово adjustResize . Сейчас оно мне снится. Это история про три недели борьбы с Android-клавиатурой в WebView, про MutationObserver , который я призвал и пожалел, и про то, как настоящее решение оказалось не там, где я искал. Если у вас в приложении WebView и формы с инпутами — возможно, я сэкономлю вам неделю. Три недели войны с клавиатурой
https://habr.com/ru/articles/1034290/
#flutter #webview #android #клавиатура #softInputMode #bottom_sheet #mutationobserver #mobile_development #солоразработчик #личный_опыт
-
Приложение полностью написанное AI
У меня возникла идея провести эксперимент, чтобы лучше понять текущие возможности агентов для написания кода. Ну и кроме этого протестировать рынок и понять что нас ожидает в ближайшем будущем в плане изменения подходов к разработке. Я хочу написать мобильные приложения для iOS и Android начиная от дизайна и до деплоя с помощью Claude Code.
https://habr.com/ru/articles/1021492/
#ai #tailwind #angular #nestjs #postgresql #mobile_development
-
Приложение полностью написанное AI
У меня возникла идея провести эксперимент, чтобы лучше понять текущие возможности агентов для написания кода. Ну и кроме этого протестировать рынок и понять что нас ожидает в ближайшем будущем в плане изменения подходов к разработке. Я хочу написать мобильные приложения для iOS и Android начиная от дизайна и до деплоя с помощью Claude Code.
https://habr.com/ru/articles/1021492/
#ai #tailwind #angular #nestjs #postgresql #mobile_development
-
Приложение полностью написанное AI
У меня возникла идея провести эксперимент, чтобы лучше понять текущие возможности агентов для написания кода. Ну и кроме этого протестировать рынок и понять что нас ожидает в ближайшем будущем в плане изменения подходов к разработке. Я хочу написать мобильные приложения для iOS и Android начиная от дизайна и до деплоя с помощью Claude Code.
https://habr.com/ru/articles/1021492/
#ai #tailwind #angular #nestjs #postgresql #mobile_development
-
Приложение падало на старте. Мы теряли 5% пользователей. Разбор кейса FanBattle
После одного из релизов у FanBattle приложение перестало открываться у части пользователей. Проблема затронула около 5% аудитории. Баг исправили быстро, но пользователи не могли даже узнать, что вышла новая версия — приложение падало раньше, чем успевал появиться интерфейс. Разбираем, как команда решила проблему через раннюю инициализацию SDK и force update.
https://habr.com/ru/articles/1009114/
#mobile_development #mobile_apps #force_update #release #product_management #product_management
-
Приложение падало на старте. Мы теряли 5% пользователей. Разбор кейса FanBattle
После одного из релизов у FanBattle приложение перестало открываться у части пользователей. Проблема затронула около 5% аудитории. Баг исправили быстро, но пользователи не могли даже узнать, что вышла новая версия — приложение падало раньше, чем успевал появиться интерфейс. Разбираем, как команда решила проблему через раннюю инициализацию SDK и force update.
https://habr.com/ru/articles/1009114/
#mobile_development #mobile_apps #force_update #release #product_management #product_management
-
Приложение падало на старте. Мы теряли 5% пользователей. Разбор кейса FanBattle
После одного из релизов у FanBattle приложение перестало открываться у части пользователей. Проблема затронула около 5% аудитории. Баг исправили быстро, но пользователи не могли даже узнать, что вышла новая версия — приложение падало раньше, чем успевал появиться интерфейс. Разбираем, как команда решила проблему через раннюю инициализацию SDK и force update.
https://habr.com/ru/articles/1009114/
#mobile_development #mobile_apps #force_update #release #product_management #product_management
-
Не Vibe-Coding, а инженерия с AI: как я за полгода сделал Android-приложение: социальный трекер привычек
Не Vibe-Coding, а инженерия с AI: Как за полгода я сделал Android-приложение "Трекер привычек" с социальными функциями, синхронизацией, офлайн-режимом и виджетом
https://habr.com/ru/articles/1005684/
#android #kotlin #jetpack_compose #room #firebase #offlinefirst #mobile_development #mobile_architecture #ai_in_development #vibecoding
-
Не Vibe-Coding, а инженерия с AI: как я за полгода сделал Android-приложение: социальный трекер привычек
Не Vibe-Coding, а инженерия с AI: Как за полгода я сделал Android-приложение "Трекер привычек" с социальными функциями, синхронизацией, офлайн-режимом и виджетом
https://habr.com/ru/articles/1005684/
#android #kotlin #jetpack_compose #room #firebase #offlinefirst #mobile_development #mobile_architecture #ai_in_development #vibecoding
-
Не Vibe-Coding, а инженерия с AI: как я за полгода сделал Android-приложение: социальный трекер привычек
Не Vibe-Coding, а инженерия с AI: Как за полгода я сделал Android-приложение "Трекер привычек" с социальными функциями, синхронизацией, офлайн-режимом и виджетом
https://habr.com/ru/articles/1005684/
#android #kotlin #jetpack_compose #room #firebase #offlinefirst #mobile_development #mobile_architecture #ai_in_development #vibecoding
-
Как слить токен авторизации через виджет iOS — и как этого не допустить
Если вы разрабатываете iOS-приложение с виджетом, Watch-компаньоном (это приложение для Apple Watch, которое работает в паре с основным приложением на iPhone) или Share Extension - рано или поздно вам придётся передавать данные между процессами. App Groups - стандартный механизм для этого, и на первый взгляд он прост: добавил capability, написал UserDefaults(suiteName:) , поехали. Но именно эта кажущаяся простота и создаёт проблемы. Данные лежат в незашифрованном контейнере, любое приложение из вашей команды может их прочитать, а валидация входящих данных почти никогда не делается. Давайте же рассмотрим, как правильно настроить App Groups, что реально можно туда класть, какие риски существуют и как организовать безопасный обмен (в том числе с примером передачи токена авторизации между приложением и виджетом). Продолжим
https://habr.com/ru/articles/1002244/
#ios #swift #swiftui #apple #mobile_development #security #data #мобильная_разработка #мобильные_приложения
-
Как слить токен авторизации через виджет iOS — и как этого не допустить
Если вы разрабатываете iOS-приложение с виджетом, Watch-компаньоном (это приложение для Apple Watch, которое работает в паре с основным приложением на iPhone) или Share Extension - рано или поздно вам придётся передавать данные между процессами. App Groups - стандартный механизм для этого, и на первый взгляд он прост: добавил capability, написал UserDefaults(suiteName:) , поехали. Но именно эта кажущаяся простота и создаёт проблемы. Данные лежат в незашифрованном контейнере, любое приложение из вашей команды может их прочитать, а валидация входящих данных почти никогда не делается. Давайте же рассмотрим, как правильно настроить App Groups, что реально можно туда класть, какие риски существуют и как организовать безопасный обмен (в том числе с примером передачи токена авторизации между приложением и виджетом). Продолжим
https://habr.com/ru/articles/1002244/
#ios #swift #swiftui #apple #mobile_development #security #data #мобильная_разработка #мобильные_приложения
-
Как слить токен авторизации через виджет iOS — и как этого не допустить
Если вы разрабатываете iOS-приложение с виджетом, Watch-компаньоном (это приложение для Apple Watch, которое работает в паре с основным приложением на iPhone) или Share Extension - рано или поздно вам придётся передавать данные между процессами. App Groups - стандартный механизм для этого, и на первый взгляд он прост: добавил capability, написал UserDefaults(suiteName:) , поехали. Но именно эта кажущаяся простота и создаёт проблемы. Данные лежат в незашифрованном контейнере, любое приложение из вашей команды может их прочитать, а валидация входящих данных почти никогда не делается. Давайте же рассмотрим, как правильно настроить App Groups, что реально можно туда класть, какие риски существуют и как организовать безопасный обмен (в том числе с примером передачи токена авторизации между приложением и виджетом). Продолжим
https://habr.com/ru/articles/1002244/
#ios #swift #swiftui #apple #mobile_development #security #data #мобильная_разработка #мобильные_приложения
-
Как я добавил 10 фич в Android-приложение за один заход: Todo Budget v4.0
Как я добавил 10 фич в Android-приложение за один заход: Todo Budget v4.0 Привет, Хабр! Продолжаю серию о разработке Todo Budget — Android-приложения, объединяющего задачи, бюджет, заметки и помодоро-таймер в одном месте.
-
Как я добавил 10 фич в Android-приложение за один заход: Todo Budget v4.0
Как я добавил 10 фич в Android-приложение за один заход: Todo Budget v4.0 Привет, Хабр! Продолжаю серию о разработке Todo Budget — Android-приложения, объединяющего задачи, бюджет, заметки и помодоро-таймер в одном месте.
-
Как я добавил 10 фич в Android-приложение за один заход: Todo Budget v4.0
Как я добавил 10 фич в Android-приложение за один заход: Todo Budget v4.0 Привет, Хабр! Продолжаю серию о разработке Todo Budget — Android-приложения, объединяющего задачи, бюджет, заметки и помодоро-таймер в одном месте.
-
Ваше iOS-приложение не закончено, если им не может пользоваться незрячий: Гайд по Accessibility
Как превратить ваше приложение в инклюзивный продукт, который используют ВСЕ - от слабовидящих до людей с когнитивными нарушениями. Плюс секретные фишки, о которых молчит документация Apple. Это руководство создано не для того, чтобы вы просто поставили галочку в Jira. Мы поговорим о том, как код может стать мостом или стеной для миллионов людей. Продолжим
https://habr.com/ru/articles/1002142/
#swift #swiftui #uikit #accessibility #voiceover #mobile_development #mobile_design #доступ #apple
-
Ваше iOS-приложение не закончено, если им не может пользоваться незрячий: Гайд по Accessibility
Как превратить ваше приложение в инклюзивный продукт, который используют ВСЕ - от слабовидящих до людей с когнитивными нарушениями. Плюс секретные фишки, о которых молчит документация Apple. Это руководство создано не для того, чтобы вы просто поставили галочку в Jira. Мы поговорим о том, как код может стать мостом или стеной для миллионов людей. Продолжим
https://habr.com/ru/articles/1002142/
#swift #swiftui #uikit #accessibility #voiceover #mobile_development #mobile_design #доступ #apple
-
Ваше iOS-приложение не закончено, если им не может пользоваться незрячий: Гайд по Accessibility
Как превратить ваше приложение в инклюзивный продукт, который используют ВСЕ - от слабовидящих до людей с когнитивными нарушениями. Плюс секретные фишки, о которых молчит документация Apple. Это руководство создано не для того, чтобы вы просто поставили галочку в Jira. Мы поговорим о том, как код может стать мостом или стеной для миллионов людей. Продолжим
https://habr.com/ru/articles/1002142/
#swift #swiftui #uikit #accessibility #voiceover #mobile_development #mobile_design #доступ #apple
-
Магия вне Хогвартса: как делать «дорогой» UI, не перегружая GPU
Часто можно увидеть такую картину: разработчик влюбляется в концепт из Dribbble, тратит два дня на реализацию сложнейшей цепочки переходов, а потом удивляется, почему его iPhone 15 Pro начинает греться через пять минут использования приложения. Анимация - это всегда сделка с дьяволом (железом). Вопрос лишь в том, насколько выгодный курс обмена вы сможете выторговать. Продолжим
https://habr.com/ru/articles/995538/
#ios #swift #swiftui #mobile_development #apple #uikit #iphone #xcode
-
Магия вне Хогвартса: как делать «дорогой» UI, не перегружая GPU
Часто можно увидеть такую картину: разработчик влюбляется в концепт из Dribbble, тратит два дня на реализацию сложнейшей цепочки переходов, а потом удивляется, почему его iPhone 15 Pro начинает греться через пять минут использования приложения. Анимация - это всегда сделка с дьяволом (железом). Вопрос лишь в том, насколько выгодный курс обмена вы сможете выторговать. Продолжим
https://habr.com/ru/articles/995538/
#ios #swift #swiftui #mobile_development #apple #uikit #iphone #xcode
-
Магия вне Хогвартса: как делать «дорогой» UI, не перегружая GPU
Часто можно увидеть такую картину: разработчик влюбляется в концепт из Dribbble, тратит два дня на реализацию сложнейшей цепочки переходов, а потом удивляется, почему его iPhone 15 Pro начинает греться через пять минут использования приложения. Анимация - это всегда сделка с дьяволом (железом). Вопрос лишь в том, насколько выгодный курс обмена вы сможете выторговать. Продолжим
https://habr.com/ru/articles/995538/
#ios #swift #swiftui #mobile_development #apple #uikit #iphone #xcode
-
MVVM+Coordinator+Factory: Святая Троица внедрения зависимостей
Эта статья - финальный аккорд в нашей трилогии об архитектуре. Мы уже научились наводить порядок внутри экрана с помощью MVVM и управлять потоками переходов через Coordinator. Но остался один неудобный вопрос: кто создаст все эти зависимости? Если ваш Координатор превратился в свалку из десятка сервисов, которые он просто пробрасывает дальше, значит, пришло время внедрить Factory . Вы узнаете, как разделить создание объектов и управление ими, почему глобальные DI-контейнеры - это яд замедленного действия, и как построить систему, где каждый компонент получает только то, что ему нужно, не зная лишнего. Продолжим
-
MVVM+Coordinator+Factory: Святая Троица внедрения зависимостей
Эта статья - финальный аккорд в нашей трилогии об архитектуре. Мы уже научились наводить порядок внутри экрана с помощью MVVM и управлять потоками переходов через Coordinator. Но остался один неудобный вопрос: кто создаст все эти зависимости? Если ваш Координатор превратился в свалку из десятка сервисов, которые он просто пробрасывает дальше, значит, пришло время внедрить Factory . Вы узнаете, как разделить создание объектов и управление ими, почему глобальные DI-контейнеры - это яд замедленного действия, и как построить систему, где каждый компонент получает только то, что ему нужно, не зная лишнего. Продолжим
-
MVVM+Coordinator+Factory: Святая Троица внедрения зависимостей
Эта статья - финальный аккорд в нашей трилогии об архитектуре. Мы уже научились наводить порядок внутри экрана с помощью MVVM и управлять потоками переходов через Coordinator. Но остался один неудобный вопрос: кто создаст все эти зависимости? Если ваш Координатор превратился в свалку из десятка сервисов, которые он просто пробрасывает дальше, значит, пришло время внедрить Factory . Вы узнаете, как разделить создание объектов и управление ими, почему глобальные DI-контейнеры - это яд замедленного действия, и как построить систему, где каждый компонент получает только то, что ему нужно, не зная лишнего. Продолжим
-
Сохранение позиции прокрутки и состояния курсора при переходах по навигации в iOS
Вы когда-нибудь замечали разницу между просто хорошим приложением и тем, которое ощущается «родным», надежным и дорогим? Часто дело не в дизайне или анимациях, а в мелочах, которые мы воспринимаем как должное, пока они не ломаются. Одна из таких критических мелочей - способность приложения помнить, где вы остановились. Вы читаете длинную статью, сворачиваете приложение, чтобы ответить на сообщение, возвращаетесь через минуту, а вас выбрасывает в самое начало текста. Раздражает, правда? Или пишете заметку, переключаетесь на браузер, возвращаетесь, а клавиатура скрыта и курсор потерян. В этой статье мы разберем, как технически грамотно реализовать сохранение позиции скролла и состояния курсора в iOS-приложениях. Мы уйдем дальше банальных советов и рассмотрим реальные сценарии с навигацией, табами и асинхронной загрузкой данных, чтобы ваши пользователи никогда не чувствовали себя потерянными. Продолжим
https://habr.com/ru/articles/991164/
#swift__разработка #uikit #ios #ios_development #mobile_development #мобильная_разработка
-
Сохранение позиции прокрутки и состояния курсора при переходах по навигации в iOS
Вы когда-нибудь замечали разницу между просто хорошим приложением и тем, которое ощущается «родным», надежным и дорогим? Часто дело не в дизайне или анимациях, а в мелочах, которые мы воспринимаем как должное, пока они не ломаются. Одна из таких критических мелочей - способность приложения помнить, где вы остановились. Вы читаете длинную статью, сворачиваете приложение, чтобы ответить на сообщение, возвращаетесь через минуту, а вас выбрасывает в самое начало текста. Раздражает, правда? Или пишете заметку, переключаетесь на браузер, возвращаетесь, а клавиатура скрыта и курсор потерян. В этой статье мы разберем, как технически грамотно реализовать сохранение позиции скролла и состояния курсора в iOS-приложениях. Мы уйдем дальше банальных советов и рассмотрим реальные сценарии с навигацией, табами и асинхронной загрузкой данных, чтобы ваши пользователи никогда не чувствовали себя потерянными. Продолжим
https://habr.com/ru/articles/991164/
#swift__разработка #uikit #ios #ios_development #mobile_development #мобильная_разработка
-
Сохранение позиции прокрутки и состояния курсора при переходах по навигации в iOS
Вы когда-нибудь замечали разницу между просто хорошим приложением и тем, которое ощущается «родным», надежным и дорогим? Часто дело не в дизайне или анимациях, а в мелочах, которые мы воспринимаем как должное, пока они не ломаются. Одна из таких критических мелочей - способность приложения помнить, где вы остановились. Вы читаете длинную статью, сворачиваете приложение, чтобы ответить на сообщение, возвращаетесь через минуту, а вас выбрасывает в самое начало текста. Раздражает, правда? Или пишете заметку, переключаетесь на браузер, возвращаетесь, а клавиатура скрыта и курсор потерян. В этой статье мы разберем, как технически грамотно реализовать сохранение позиции скролла и состояния курсора в iOS-приложениях. Мы уйдем дальше банальных советов и рассмотрим реальные сценарии с навигацией, табами и асинхронной загрузкой данных, чтобы ваши пользователи никогда не чувствовали себя потерянными. Продолжим
https://habr.com/ru/articles/991164/
#swift__разработка #uikit #ios #ios_development #mobile_development #мобильная_разработка
-
Оптимизация и запуск нейронных сетей на React Native: кейс с травой
Во время длинных новогодних выходных я решил заняться новым пет-проектом. Хотелось попробовать что-то интересное, связанное с нейронными сетями, и мне показалась новой для меня идея сделать приложение для распознавания растений, определения вида, возраста и их болезней прямо на мобильном устройстве без сервера, а потом рекомендация того, как лечить, ухаживать и прочее. В этой статье поговорим о том, что получилось: от выбора моделей до их оптимизации и интеграции в React Native, а также поделюсь своим открытым кодом запуска, обучения и экспортом моделей нейронных сетей в ONNX, и ссылками на датасеты и проекты с нейронными сетями для растений.
https://habr.com/ru/articles/983598/
#ai #mobile_development #plant #classification #растениеводство #open_source #детекция_болезней #мобильная_разработка #нейронные_сети #оптимизация
-
Оптимизация и запуск нейронных сетей на React Native: кейс с травой
Во время длинных новогодних выходных я решил заняться новым пет-проектом. Хотелось попробовать что-то интересное, связанное с нейронными сетями, и мне показалась новой для меня идея сделать приложение для распознавания растений, определения вида, возраста и их болезней прямо на мобильном устройстве без сервера, а потом рекомендация того, как лечить, ухаживать и прочее. В этой статье поговорим о том, что получилось: от выбора моделей до их оптимизации и интеграции в React Native, а также поделюсь своим открытым кодом запуска, обучения и экспортом моделей нейронных сетей в ONNX, и ссылками на датасеты и проекты с нейронными сетями для растений.
https://habr.com/ru/articles/983598/
#ai #mobile_development #plant #classification #растениеводство #open_source #детекция_болезней #мобильная_разработка #нейронные_сети #оптимизация
-
Оптимизация и запуск нейронных сетей на React Native: кейс с травой
Во время длинных новогодних выходных я решил заняться новым пет-проектом. Хотелось попробовать что-то интересное, связанное с нейронными сетями, и мне показалась новой для меня идея сделать приложение для распознавания растений, определения вида, возраста и их болезней прямо на мобильном устройстве без сервера, а потом рекомендация того, как лечить, ухаживать и прочее. В этой статье поговорим о том, что получилось: от выбора моделей до их оптимизации и интеграции в React Native, а также поделюсь своим открытым кодом запуска, обучения и экспортом моделей нейронных сетей в ONNX, и ссылками на датасеты и проекты с нейронными сетями для растений.
https://habr.com/ru/articles/983598/
#ai #mobile_development #plant #classification #растениеводство #open_source #детекция_болезней #мобильная_разработка #нейронные_сети #оптимизация
-
От ощущений к цифрам: как мы внедрили метрики перформанса в андроид приложение
Всем привет! Меня зовут Тимур, я платформенный Android-разработчик с опытом 5+ лет в ритейле и e-com. В этой статье разберём, почему перформанс на мобильных устройствах это не ощущения, а фактор, который влияет на конверсию и GMV. Покажу, какие метрики имеет смысл собирать на клиенте, как их мониторить, и приведу примеры кода для Android. Присаживайтесь, наливайте чай/кофе — поехали.
https://habr.com/ru/articles/978170/
#performance #performance_optimization #kotlin #android #grafana #mobile_development #mobile_performance
-
От ощущений к цифрам: как мы внедрили метрики перформанса в андроид приложение
Всем привет! Меня зовут Тимур, я платформенный Android-разработчик с опытом 5+ лет в ритейле и e-com. В этой статье разберём, почему перформанс на мобильных устройствах это не ощущения, а фактор, который влияет на конверсию и GMV. Покажу, какие метрики имеет смысл собирать на клиенте, как их мониторить, и приведу примеры кода для Android. Присаживайтесь, наливайте чай/кофе — поехали.
https://habr.com/ru/articles/978170/
#performance #performance_optimization #kotlin #android #grafana #mobile_development #mobile_performance
-
От ощущений к цифрам: как мы внедрили метрики перформанса в андроид приложение
Всем привет! Меня зовут Тимур, я платформенный Android-разработчик с опытом 5+ лет в ритейле и e-com. В этой статье разберём, почему перформанс на мобильных устройствах это не ощущения, а фактор, который влияет на конверсию и GMV. Покажу, какие метрики имеет смысл собирать на клиенте, как их мониторить, и приведу примеры кода для Android. Присаживайтесь, наливайте чай/кофе — поехали.
https://habr.com/ru/articles/978170/
#performance #performance_optimization #kotlin #android #grafana #mobile_development #mobile_performance
-
How to Build iOS Widgets with .NET MAUI
https://devblogs.microsoft.com/dotnet/how-to-build-ios-widgets-with-dotnet-maui/#microsoft #NET #NET_for_iOS #NET_MAUI #ios #mobile_development #Swift #widgets #Xcode
-
How to Build iOS Widgets with .NET MAUI
https://devblogs.microsoft.com/dotnet/how-to-build-ios-widgets-with-dotnet-maui/#microsoft #NET #NET_for_iOS #NET_MAUI #ios #mobile_development #Swift #widgets #Xcode
-
How to Build iOS Widgets with .NET MAUI
https://devblogs.microsoft.com/dotnet/how-to-build-ios-widgets-with-dotnet-maui/#microsoft #NET #NET_for_iOS #NET_MAUI #ios #mobile_development #Swift #widgets #Xcode
-
How to Build iOS Widgets with .NET MAUI
https://devblogs.microsoft.com/dotnet/how-to-build-ios-widgets-with-dotnet-maui/#microsoft #NET #NET_for_iOS #NET_MAUI #ios #mobile_development #Swift #widgets #Xcode
-
How to Build iOS Widgets with .NET MAUI
https://devblogs.microsoft.com/dotnet/how-to-build-ios-widgets-with-dotnet-maui/#microsoft #NET #NET_for_iOS #NET_MAUI #ios #mobile_development #Swift #widgets #Xcode
-
Как всплывающее окно в WebView съело мои два дня
Иногда в разработке случается баг, который не просто не даёт спать, а заставляет пересмотреть свои жизненные ценности. У меня это произошло со скромным всплывающим окном внутри WebView. Задача была максимально скучной: на экране с WebView пользователь нажимает кнопку “Exit”, а веб-страница показывает попап подтверждения. На старом коде — всё идеально. На браузере — идеально. На новом инфраструктурном слое WebView — попап появляется на миг и тут же закрывается сам, как будто кто-то тайно играет в “крестики” за пользователя. Никаких ошибок. Никаких исключений. Просто “блип”… и пустота. То самое чувство, когда ты нажимаешь кнопку, а мир делает вид, что “ничего не было”. И это — пролог к истории о том, как два дня моей жизни сгорели на алтаре WebView.
https://habr.com/ru/articles/968206/
#webview #kotlin #android #mobile_development #chromium #javascript #web