Обновить

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

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

Как ИИ помог создать систему видеонаблюдения на Android

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

Привет, Хабр!

Прежде чем я начну рассказ о своем проекте, хочу выразить огромную благодарность всем тем бесчисленным программистам, разработчикам и энтузиастам, которые на протяжении многих лет делились своим кодом, знаниями и опытом в интернете. Ваши открытые проекты, ответы на Stack Overflow, статьи, туториалы и обсуждения на форумах стали той самой питательной средой, на которой обучались большие языковые модели (LLM), включая и ту, что помогала мне. Без вашего вклада в общее дело, такие мощные ИИ‑ассистенты, которые сегодня так сильно облегчают и ускоряют разработку, были бы просто невозможны. Спасибасвам за то, что делаете мир разработки открытее и доступнее!

Исходный код проекта «Storog» полностью открыт и доступен на GitHub.

Читать далее

Порождающие паттерны проектирования в примерах на Swift для самых маленьких

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

Всем привет! Зачастую чтобы в чем то разобраться полезнее один раз увидеть конкретный пример чем несколько раз прочитать заумное описание.Решил написать ряд небольших статей для начинающих, в которых дать краткое описание основных паттернов проектирования и привести лаконичные примеры их использования.Данная статья, как можно догадаться из названия =), посвящена порождающим паттернам.

Читать далее

Структурные паттерны проектирования в примерах на Swift для самых маленьких

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

Всем привет! Зачастую чтобы в чем то разобраться полезнее один раз увидеть конкретный пример чем несколько раз прочитать заумное описание.
Решил написать ряд небольших статей для начинающих, в которых дать краткое описание основных паттернов проектирования и привести лаконичные примеры их использования.
Данная статья, как можно догадаться из названия =), посвящена структурным паттернам.

Приступим.

Адаптер / Adapter

Адаптер — это структурный паттерн проектирования, который позволяет объектам с несовместимыми интерфейсами работать вместе.

Представим у нас есть класс, единственная цель которого "говорить" Hello world!

Читать далее

40 ударов палкой и Kotlin Multiplatform: как устроена мобильная разработка в Катаре (интервью)

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

Привет! Я Максим Мялкин, управляющий партнер и руководитель мобильной разработки в KTS.

Сегодня я хочу поделиться историей моего знакомого и бывшего студента Сергея Ракова. Его карьера сложилась довольно необычным образом: от инженера-конструктора в Богородицке он прошел путь до Android-разработчика в Катаре.

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

Также коснулись темы культурных особенностей. Да, заголовок — не кликбейт, в Катаре по-прежнему существуют телесные наказания. Историю о них мы расскажем в конце; забегая вперед, знакомые Сергея поплатились таким образом за пьяное вождение (осуждаем).

Читать далее

Как мы превратили iPhone в лабораторный микроскоп с AI и BLE: real-world edge-приложение

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

В этой статье я хочу поделиться опытом разработки iOS-приложения для роботизированного микроскопа с AI-распознаванием клеток крови — как оно устроено, какие задачи пришлось решать, на какие грабли пришлось наткнуться и как iPhone можно использовать в качестве лабораторного инструмента.

Это не очередной todo-лист с авторизацией или приложение для наложения масок на селфи  — в центре внимания: видеопоток с окуляра микроскопа, нейронки, работа с железом, Bluetooth-управление перемещением стекол, и всё это — прямо на iPhone. 

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

Читать далее

Гайд: Как заменить скриншоты для iOS-приложения в App Store без билда и новой версии?

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

Привет! Меня зовут Александра, я ASO & ASA-менеджер и автор Телеграм канала Заметки ASO. В этой статье покажу, как поменять скриншоты для iOS-приложения в App Store без добавления билда или публикации новой версии приложения.

Читать далее

Как построить свою ферму устройств и упростить работу с устройствами и эмуляторами: делимся опытом создания DeviceHub

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

Без качественного и ответственного тестирования не может быть сложного продукта. Для такого тестирования нужен большой парк устройств. Это позволит находить баги до релиза и выдавать качественный продукт. А ещё — максимально оперативно реагировать на обращения пользователей в поддержку и обеспечивать ещё большую стабильность в работе.

Читать далее

React Native тормозит? Проверь эти 8 узких мест в производительности, прежде чем винить фреймворк [ЧЕК-ЛИСТ]

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

Идея этой статьи родилась во время задушевных разговоров на кухне и за утренним кофе с коллегами. Началось все с вопроса: «Что ты сказал бы себе прошлому, чтобы релизы стали легче, а спринты прекраснее?» Конечно, в тот момент я ничего дельного не ответил, но, кажется, наконец‑то сформулировал идеальную фразу: «Настоящий разработчик, Слав, это не тот, кто с сияющим макбуком и вкусным смузи. Разработчик — тот, кто делает то, что нужно сделать. И в легаси покопаться приходится, и memory leak дебажить, а он всё равно делает, потому что так надо».

Привет, Хабр! Меня зовут Вячеслав Чащухин, я — разработчик в МойОфис. Занимаюсь мобильной версией Squadus — цифрового рабочего пространства для совместной работы и деловых коммуникаций.

Обращаю ваше внимание на то, что эта статья — не инструкция по решению всех проблем. Скорее, чек‑лист причин, которые, по моему мнению, чаще всего приводят к тем или иным проблемам. Поэтому в некоторых пунктах будут ссылки или упоминания возможных решений. Я объединил проблемы по группам. Если вы обнаружили в своем приложении подлагивания или не хотите их обнаружить в будущем, рекомендую пройтись по пунктам :)

Читать далее

Творческая переработка MVVM и TCA на примере iOS

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

Всем привет, меня зовут Дмитрий Лоренц, я iOS-разработчик в IT-компании GRI. Наш основной клиент — Sunlight, для него мы разрабатываем нескольких мобильных приложений по полному циклу и поддерживаем сайт.

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

Читать далее

Индикация клика на стероидах в Compose: пишем свою IndicationNodeFactory

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

При работе с Jetpack Compose разработчики часто не замечают, как элементы Material и Material 3 дизайн-систем вплетаются в их код. Один из таких элементов - это индикация клика, реализованная в Material как круги на воде (англ. ripple effect). В этой статье мы разберем, в чем недостатки дефолтной реализации риппл-эффекта в Compose и как сделать свою.

Читать далее

Flutter & Dart: Май 2025 — Главное за месяц

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

Май принёс отличные новости для Flutter-разработчиков: обновления SDK, интересные статьи, пачка новых и полезных пакетов, а также видео на русском и английском языках.

Читать далее

Автоматизация проверки стиля кода с помощью KtLint в Android проекте

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

Современная разработка программного обеспечения требует не только написания функционального кода, но и обеспечения его качества, надежности и безопасности.
Для обеспечения этого во многих командах по-прежнему существует Code Review. По моему мнению в 90% случаев это абсолютно бесполезная трата времени и сил разработчиков команды. Code Review это рудимент, который изжил себя. Я не утверждаю, что Code Review должен исчезнуть - принцип и подход должны измениться.
Ручная организация Code Review ведет к деградации продуктивности и взаимоотношений внутри команды. Очень часто Code Review превращается в способ самоутверждения, эмоциональной разрядке одного из участников команды за счет других. Комментарии часто бывают противоречивыми и контр продуктивными.
Как этого избежать?
Ответ – полностью автоматизировать этот процесс.

Одним из ключевых инструментов для достижения этой цели является статистический анализ кода - метод автоматизированной проверки исходного кода без его выполнения.

Я всю свою практику участвовал в командах, где Code Review было ручным и каждый участник команды ставил approve, либо оставлял комментарий. Думаю, так происходит и сейчас во многих командах. Качество такого Review низкое и трудно быть по-настоящему объективным.

Мне повезло участвовать в большом стартапе и начать проект самостоятельно. И в моем проекте я решил покончить с Code Review.

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

Читать далее

SmartCaptcha Yandex на iOS: инструкция по внедрению

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

Привет! Меня зовут Александр, я iOS-разработчик в IT-компании SimbirSoft. В этой статье я расскажу, как интегрировать Yandex SmartCaptcha в iOS-приложение — от подготовки до решения возможных трудностей.

Настройка Yandex SmartCaptcha на первый взгляд может показаться простой задачей, но на практике она требует внимательности, точной настройки и понимания архитектуры приложения. Я поделюсь личным опытом внедрения этого инструмента, объясню, какие нюансы стоит учесть, а также как избежать ошибок.

Материал предназначен для iOS-разработчиков, у которых уже есть базовые знания мобильной разработки, и кто хочет быстро и корректно внедрить капчу от Яндекса в свое iOS-приложение.

Читать далее

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

Экспериментальные и не очень языки программирования для новичков

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

Блуждая по просторам интернета, можно найти массу статей общий посыл которых: «IT-специалисты совсем скоро будут не нужны, поскольку их всех заменит нейросеть, которой не требуются отпуска, больничные и выходные». Честно, улыбнуло.

Читать далее

Пример офлайн/онлайн инвентаризации на SimpleUI/1C как демонстрация новых возможностей платформы в 2025 году

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

Пример такой:

Сквозной пример с пошаговым разбором решения на фреймворке SimpleUI для Android совместно с 1С: оффлайновая работа с инвентаризацией, загрузка/выгрузка товаров и документов из 1С и результатов инвентаризации обратно в 1С, CV-возможности ActiveCV. Демонстрация новых механизмов SimpleUI и актуальных подходов к разработке в 2025 году.

Читать далее

Советы для публикации в RuStore: альфа-тестирование, AAB и автоматизация с помощью API

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

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

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

- альфа-тестирование с реальными пользователями;

- использование формата .aab вместо привычного .apk;

- автоматизация публикации через RuStore API.

Читать далее

Tuist. Как перенести проект

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

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

Читать далее

Корутины с точки зрения компилятора

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

Привет! Меня зовут Абакар, я работаю главным техническим лидером разработки в Альфа-Банке.

Сегодня мы поговорим на тему, связанную с корутинами, а именно погрузимся чуть глубже в недра компилятора Kotlin. На данную тему мы с Александром Гиревым готовили доклад на «Мобиус».

В рамках подготовки доклада нам пришлось заглянуть в святая святых для всех «андроидеров», а именно в исходники компилятора Kotlin. Ну что ж, поглядим, что мы там накопали. Поехали!

Читать далее

От театральной импровизации до навыка для Алисы: как я сделал голосовую игру про принцесс, драконов и рыцарей

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

С вами снова Кирилл Богатов, дизайнер разговорных продуктов в KODE. В прошлом году я записался на курсы по театральной импровизации. Там мы разыгрывали сценки, работали с зажимами и учились не бояться выглядеть нелепо. Наши занятия часто заканчивались игрой в «Принцессу, Дракона, Рыцаря» — это как «камень-ножницы-бумага», только вместо фигур в ней нужно изображать фэнтезийных персонажей. Своего рода мини-спектакль на пару секунд.

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

Читать далее

Создание кастомного тултипа Jetpack Compose

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

Привет, Хабр! Меня зовут Альберт, я Android-разработчик в команде интеграции рассрочки в приложении Wildberries.

В этой статье мы напишем простенькую реализацию тултипов на Jetpack Compose своими руками.

Читать далее