Мобильная разработка
الذهاب إلى القناة على Telegram
Актуальное по мобильной разработке — Android, iOS, кроссплатформа Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/oVBP
إظهار المزيد2025 عام في الأرقام

13 929
المشتركون
-524 ساعات
-277 أيام
-9830 أيام
أرشيف المشاركات
Как Swift Runtime влияет на производительность iOS-приложений
Привет, Хабр! Я Кристиан Бенуа, iOS-разработчиĸ в Т-Банĸе. В современном мире производительность приложения — ĸритичесĸи важный фаĸтор, определяющий его успех. Пользователи ожидают мгновенного отĸлиĸа и плавной работы, даже небольшие задержĸи могут негативно сĸазаться на восприятии приложения.
Для больших iOS-приложений, написанных на Swift, понимание работы Swift Runtime и его влияния на производительность — важный навыĸ разработчиĸов. Swift Runtime при исполнении ĸода отвечает за фундаментальные вещи языĸа Swift: управление памятью и систему типов в рантайме.
В статье сосредоточимся на механизмах приведения типов и создания generic-типов внутри Swift Runtime и рассмотрим один ĸонĸретный метод, ĸоторый является узĸим местом в производительности приложения. Разберем примеры ĸода, демонстрирующие, ĸогда и почему этот метод вызывается, ĸаĸово его влияние на отзывчивость приложения и ĸаĸие стратегии использовать для смягчения негативного воздействия.
Читать далее
Читать: https://habr.com/ru/companies/tbank/articles/947486/
@a_cup_of_java | Другие наши каналы
❤ 2
2 причины смертельной болезни проекта: устаревшие технологии и монополия на знания. Рассказываем, как это лечить
В США до сих пор работают федеральные IT-системы возрастом 8–51 год, их поддержка обходится в $337 млн ежегодно. Бизнес тоже живёт на легаси: компании закладывают бюджет на модернизацию — в среднем это $2,7 млн в год, но 60–80% денег всё равно уходит на штопанье старого кода. При этом каждая такая система — дыра в безопасности: средний ущерб от утечки данных в 2024-м достиг $4,88 млн.
Корни таких ситуаций лежат в монополии на знания о вашей системе, когда всё держится на двух‑трёх людях. Они в голове носят знания, которых нет ни у кого. И если что-то с ними случится, то все процессы встанут.
Я — Владимир Макеев, CEO Surf. В мобильной разработке часто сталкиваюсь с аналогичными внутренними процессами у заказчиков. В статье расскажу, как «вечная» система тянет компанию ко дну, сколько бюджета тратится на старый стек и как перейти на новый без больших потерь для бизнеса.
Читать далее
Читать: https://habr.com/ru/companies/surfstudio/articles/947362/
@a_cup_of_java | Другие наши каналы
❤ 2
Как я научил Jetpack Compose показывать рекомпозиции в реальном времени
Привет, Хабр! Меня зовут Иван Кузнецов, я Android‑разработчик в Кинопоиске. Сегодня расскажу историю разработки своего пет‑проекта, которая началась с код‑ревью очередного экрана на Jetpack Compose.
Представьте, вы открываете пул‑реквест и взгляд цепляется за знакомые паттерны: нестабильный параметр в Composable‑функции, remember без ключа, применение трансформаций на Layout‑фазе. Сразу хочется написать комментарий‑лекцию о том, почему это ударит по производительности и почему лучше так не делать.
Вот только объяснения отнимают время и не всегда наглядно доносят суть проблемы. Особенно это актуально для новичков, которым сложно сопоставить абстракции с реальным поведением UI. А ведь для сложных асинхронных штук вроде RxJava или корутин есть визуализаторы — RxMarbles и FlowMarbles, а для самой частой головной боли в Compose до сих пор нет. Вот бы вместо стены текста просто кинуть ссылку со словами: «Смотри, вот что твой код делает на самом деле».
В этой статье я расскажу о разработке собственного приложения, которое в реальном времени визуализирует рекомпозиции. Чтобы заставить его работать, пришлось залезть под капот компилятора Kotlin и подружиться с его внутренними API: FIR и IR.
Читать далее
Читать: https://habr.com/ru/companies/yandex/articles/945276/
@a_cup_of_java | Другие наши каналы
👍 2👎 1
Как я научил Jetpack Compose показывать рекомпозиции в реальном времени
Привет, Хабр! Меня зовут Иван Кузнецов, я Android‑разработчик в Кинопоиске. Сегодня расскажу историю разработки своего пет‑проекта, которая началась с код‑ревью очередного экрана на Jetpack Compose.
Представьте, вы открываете пул‑реквест и взгляд цепляется за знакомые паттерны: нестабильный параметр в Composable‑функции, remember без ключа, применение трансформаций на Layout‑фазе. Сразу хочется написать комментарий‑лекцию о том, почему это ударит по производительности и почему лучше так не делать.
Вот только объяснения отнимают время и не всегда наглядно доносят суть проблемы. Особенно это актуально для новичков, которым сложно сопоставить абстракции с реальным поведением UI. А ведь для сложных асинхронных штук вроде RxJava или корутин есть визуализаторы — RxMarbles и FlowMarbles, а для самой частой головной боли в Compose до сих пор нет. Вот бы вместо стены текста просто кинуть ссылку со словами: «Смотри, вот что твой код делает на самом деле».
В этой статье я расскажу о разработке собственного приложения, которое в реальном времени визуализирует рекомпозиции. Чтобы заставить его работать, пришлось залезть под капот компилятора Kotlin и подружиться с его внутренними API: FIR и IR.
Читать далее
Читать: https://habr.com/ru/companies/yandex/articles/945276/
@a_cup_of_java | Другие наши каналы
🔥 6👀 6👍 2
Photo unavailableShow in Telegram
Делаем Jetpack Navigation 3 удобнее
Jetpack Navigation 3 дает полный контроль над навигацией через NavBackStack, но прямая работа с ним превращается в написание шаблонного кода и усложняет использование из ViewModel. В статье предлагается решение этих проблемы, добавляя привычный API с командами
push(), pop(), replace().
Если вы работаете с Navigation 3 или планируете на неё переходить — эта статья поможет сделать процесс разработки приятнее.
Читать далее
Читать: https://habr.com/ru/articles/946878/
@a_cup_of_java | Другие наши каналы😁 1
Photo unavailableShow in Telegram
Делаем Jetpack Navigation 3 удобнее
Jetpack Navigation 3 дает полный контроль над навигацией через NavBackStack, но прямая работа с ним превращается в написание шаблонного кода и усложняет использование из ViewModel. В статье предлагается решение этих проблемы, добавляя привычный API с командами
push(), pop(), replace().
Если вы работаете с Navigation 3 или планируете на неё переходить — эта статья поможет сделать процесс разработки приятнее.
Читать далее
Читать: https://habr.com/ru/articles/946878/
@a_cup_of_java | Другие наши каналыWEAR модуль AndroidAPS, доработка и отладка связи при зависании
Используемые устройства - телефон Samsung Galaxy S8+ (SM-G955FD), часы Galaxy Watch 5 Pro (P0ED)
Я столкнулся с проблемой зависания данных на часах, что стало проблемой, особенно когда речь идет о занятии сопртом. Мне нравится велосипед и во время тренировки удобно отсматривать показатели только одной рукой и управление спортивным режимом (в этом форке он нами так же добавлен в основное приложение) желательно только на часах.
Дополнено включение и настройка спортивного режима не только в app, но и в wear, а так же была исследована проблема залипания данных (когда на часы данные о глюкозе приходят не вместе с обновлением на телефоне, а гораздо позже или переодически например всего несколько раз в час, не стабильно). При этом сейчас данные приходят как правило быстрее чем за 7 минут (на часы). Если быть точным - обновление и показ происходит не позже 7 минут.
Ниже показываю что происходит внутри программы, какие события удалось отследить в логах (некоторые логи были добавлены мной) и как диагностировал проблему.
Читать далее
Читать: https://habr.com/ru/articles/946832/
@a_cup_of_java | Другие наши каналы
👎 1
Photo unavailableShow in Telegram
Мобильная разработка за неделю #602 (8 — 14 сентября)
В этом выпуске построение современного BLE-сервиса и повышение производительности за счет лучшего сокращения ресурсов, Swift на Android и эволюция презентационных паттернов, MAX без оболочки, эмоциональное решение проблем, трудные уроки инди-хакинга и многое другое. Заходите!
Читать далее
Читать: https://habr.com/ru/articles/946820/
@a_cup_of_java | Другие наши каналы
Photo unavailableShow in Telegram
Мобильная разработка за неделю #602 (8 — 14 сентября)
В этом выпуске построение современного BLE-сервиса и повышение производительности за счет лучшего сокращения ресурсов, Swift на Android и эволюция презентационных паттернов, MAX без оболочки, эмоциональное решение проблем, трудные уроки инди-хакинга и многое другое. Заходите!
Читать далее
Читать: https://habr.com/ru/articles/946820/
@a_cup_of_java | Другие наши каналы
Photo unavailableShow in Telegram
Сделай удобно: подборка UI/UX-кейсов из цифровых и нецифровых продуктов (#21)
Продолжаю изучать различные UI/UX/CX кейсы в мобильных приложениях, веб-сайтах и в реальном мире. Дизайнерам и менеджерам по продукту, чтобы вдохновиться и добавить в заметки.
Под катом: Revolut, Intsagram, Matreshka.
Читать далее
Читать: https://habr.com/ru/articles/946798/
@a_cup_of_java | Другие наши каналы
Photo unavailableShow in Telegram
Разработка Pipes Counting: от идеи до публикации
Pipes Counting — технический разбор (мобильная разработка + ML)
Приветствуем вас, дорогие читатели! В этой статье мы, ученики 10 класса из школы "Летово", хотим поделиться своим опытом разработки мобильного приложения PipesCounting, созданного для автоматизированного подсчета труб в пачке. За 6 месяцев мы прошли путь от идеи и до публикации приложения, в том числе сбор и расширение датасета, обучение моделей и сборки приложения. Здесь мы хотим поделиться нашим опытом и трудностями с которыми мы столкнулись, чтобы облегчить процесс для тех, кто будет заниматься чем-то похожим, рассказать о возможных подходах и предупредить о сложностях.
С приложением PipesCounting мы заняли второе место в престижном международном конкурсе AI Challenge в категории “Металлургия”, а также постели с ним международную конференцию AI Journey.
Читать далее
Читать: https://habr.com/ru/articles/946758/
@a_cup_of_java | Другие наши каналы
👎 4👍 1
Photo unavailableShow in Telegram
Не одним CRDT едины или как решать конфликты в local-first приложениях
Сегодня поговорим про реализации решения конфликтов подходов local / offline-first – это когда ваше приложение позволяет пользователям работать полностью или частично оффлайн, а когда они выходят в сеть, синхронизировать все их изменения.
Примеры таких приложений: Notion-like редакторы, Figma-like вайтборды или Linear-like таск менеджеры.
Основная идея – коллаборация, а коллаборация несет за собой конфликты, разберем очень наглядный пример:
Читать далее
Читать: https://habr.com/ru/articles/946722/
@a_cup_of_java | Другие наши каналы
❤ 3🗿 1
Photo unavailableShow in Telegram
А может ну это всё и улететь работать в космос?
На станцию Контур активно ищут новобранцев. Берут тех, кто разбирается в программировании, тестировании, UX-исследованиях и аналитике.
Запускайте бота и проходите миссии. В конце — розыгрыш целого бокса с космическим мерчем!
🚀Стажировка уже началась. Вперёд!
Photo unavailableShow in Telegram
Generic'и и protocol'ы в Swift
Привет, Хабр! В прошлых статьях мы говорили про ARC и управление памятью в Swift, но обошли стороной ещё одну сильную сторону языка. Речь идёт о generic'ах и протоколах - именно они делают Swift таким чистым и мощным. В этой статье мы разберёмся, как они работают и почему без них невозможно представить современный Swift.
Читать далее
Читать: https://habr.com/ru/articles/946600/
@a_cup_of_java | Другие наши каналы
👍 4
Photo unavailableShow in Telegram
Станислав Петров: «Ключевые отличия РЕД ОС М от Android – вовсе не в интерфейсе»
Мобильную операционную систему РЕД ОС М устанавливают на все большее количество смартфонов и планшетов, а уже в 2026 году ожидается, что на РЕД ОС М будут работать десятки тысяч производимых в Подмосковье мобильных девайсов Passion. И, разумеется, все хотят задать разработчикам самые неудобные и каверзные вопросы. О том, как развивается ОС, чем она отличается от “перекрашенного Android”, а также о перспективах российских смартфонов и сравнении с продуктами Google и других вендоров рассказывает Станислав Петров, руководитель группы разработки мобильной ОС компании РЕД СОФТ.
Узнать, в чем отличия РЕД ОС М
Читать: https://habr.com/ru/companies/redsoft/articles/946516/
@a_cup_of_java | Другие наши каналы
👎 9
