Как стать автором
Поиск
Написать публикацию
Обновить
145.39

Разработка мобильных приложений *

Android, iOS, Windows Phone и прочие

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

Алло! Реализуем дисковый телефон с помощью Jetpack Compose(Обновлено)

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров2.8K

Привет, Хабр! Меня зовут Артем, я автор и ведущий YouTube и Telegram каналов Android Insights.

Данная статья - идейный продолжатель моей предыдущей статьи Создание Custom Layout в Jetpack Compose

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

Читать далее

Т-функция: подключаем логику к UI как к БД

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров4.2K

Так, давайте еще раз.

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

Открытым остался вопрос: как ее к UI подключать?

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

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

Утонуть в тексте

Будущее микросервисов: уйдем ли мы к монолитам 2.0?

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

Микросервисы или монолит? Споры об архитектуре программного обеспечения не утихают, но с 2018-2020 годов наметился интересный тренд: компании начинают переоценивать сложность микросервисного подхода. Возвращение к монолитам, но уже с учетом современных инструментов, вызывает жаркие обсуждения в техническом сообществе.

В этой статье я не буду защищать какую-либо из сторон. И не буду обещать волшебных решений, которые решат все архитектурные проблемы. Вместо этого разберем, что стоит за модной концепцией «монолиты 2.0», как эволюция технологий меняет восприятие архитектуры и почему возвращение к упрощению может быть выгодным. Добро пожаловать в мир архитектурных компромиссов — подробности под катом.
Читать дальше →

Составить договор на разработку ПО – задача со звездочкой: показываю, на что обратить внимание

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

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

Меня зовут Юрий Горбачев. В этой статье я расскажу, какой вид договора выбирать для разработки ПО с нуля, как правильно составить документ и избежать распространенных ошибок. Эта информация важна как для заказчика ПО, так и для автора-исполнителя. 

В моей практике был случай, когда неверно составленный договор на разработку ПО, привел автора к потере исключительных прав на объект, который он планировал передавать по неисключительной лицензии. Все из-за одного пункта в договоре, который гласит:

«Исключительное право на использование ПО полностью переходит к Заказчику». 

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

Читать далее

Полезные советы от Joy Dev: как правильно зарелизиться в сторе

Время на прочтение10 мин
Количество просмотров910

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

В этой статье мы расскажем, какие шаги помогают обойти ограничения и успешно разместить приложение в Play Market, App Store и других площадках. Готовы узнать секреты? Тогда читайте нашу статью!

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

Читать далее

Гайд: делаем собственную клавиатуру для терминала сбора данных

Время на прочтение8 мин
Количество просмотров2.2K

Привет, Хабр! На связи команда фронтенд-разработки из ecom.tech. Меня зовут Миша, я занимаюсь разработкой интерфейсов для внутренних сервисов. Например, мы сделали удобное приложение для курьеров-партнёров Самоката, сервис для быстрой работы логистов, интуитивно понятный терминал для складов. 

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

Читать далее

Surf-итоги кода: Flutter, Android и iOS в 2024-м

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

Да-да, мы назвали статью «Итоги кода» — и кто нам что-то скажет.

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

Располагайтесь удобнее, возьмите чашечку любимого горячего напитка и погрузитесь в итоговую идиллию новостей и результатов от Flutter, Android и iOS-команд Surf.

Читать дальше

Оптимизация под контролем: инструменты и метрики для Аndroid-приложений

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров3.7K

Для пользователей важно, чтобы приложение открывалось быстро и работало отзывчиво. Чем быстрее оно загружается, плавнее работает, тем больше вероятность, что человек вернётся и продолжит им пользоваться. С другой стороны, постоянное добавление новой функциональности может негативно повлиять на скорость старта и отзывчивость приложения, что, вероятно, сподвигнет пользователя поискать более быстрый аналог.

Меня зовут Григорий Рылов, я занимаюсь мобильной разработкой под Android 9 лет, увлекаюсь темой производительности. Работаю старшим разработчиком ВКонтакте, в проекте VK Клипы. В этой статье поговорим про оптимизацию времени запуска Android-приложения, разберём основные метрики старта и инструменты, с помощью которых можно анализировать производительность.

Читать далее

Flutter 3.27 — Что нового во Flutter?

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров4K

Давайте погрузимся в Flutter 3.27! Этот релиз полон улучшений и функций, направленных на улучшение вашего опыта разработки и повышение производительности вашего приложения.

Читать далее

Разработка плагина для Android Studio

Время на прочтение10 мин
Количество просмотров3K

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

Читать далее

Распознавание банковской карты для подтверждения личности

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

В условиях стремительной цифровизации и активного развития дистанционных услуг подтверждение личности становится краеугольным камнем финансовых процессов. Задача быстрой и надежной идентификации уже день актуальна во всем мире. А сегодня мы поделимся с вами красивой идеей как можно с помощью современных технологий распознавания (на примере, естественно, продуктов Smart Engines) надежно реализовать автоматизированный процесс подтверждения личности без использования сторонних сервисов.

Читать далее

Создаем Hamster Kombat почти с нуля. Практика по Vue 3 и Telegram Mini Apps

Время на прочтение11 мин
Количество просмотров13K

Привет, Хабр! В этой статье-инструкции вы узнаете, как с нуля сделать свою собственную Telegram-тапалку на современном стеке. Важный дисклеймер: тапалка, кликер и прочее — это всего лишь форма. Цель статьи — дать всеобъемлющий практикум по современному стеку и деплою проектов в облако.

Внутри статьи — полноценный Serverless-подход, разработка бота на Node и полный цикл создания FE-приложения. А еще комментарии по архитектурным и тактическим решениям, чтобы вы прокачали уровень программирования и насмотренности. Подробности под катом!
Читать дальше →

SwiftUI: Всё, что вам нужно знать о модификаторе containerRelativeFrame (и немного больше)

Уровень сложностиСложный
Время на прочтение17 мин
Количество просмотров2.1K

На WWDC 2023 компания Apple представила модификатор представления containerRelativeFrame для SwiftUI. Этот модификатор упрощает некоторые операции размещения элементов на экране, которые ранее было сложно выполнить обычными методами.

В этой статье мы подробно рассмотрим модификатор containerRelativeFrame, его определение, правила компоновки, примеры использования и важные соображения. Чтобы еще больше расширить наше понимание его функциональных возможностей, в конце статьи мы также создадим обратно совместимую реплику containerRelativeFrame для старых версий SwiftUI.

Читать далее

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

Fullstack v2: учимся писать UI на Go

Время на прочтение12 мин
Количество просмотров9K

Меня зовут Илья Глухов.  Последние 7 лет я пишу на Go. Я люблю этот язык, а ещё люблю задаваться странными, на первый взгляд, вопросами. Например, как разные интересные штуки, которые мы пишем на Go взаимодействуют с пользователем? В классическом бэкенде мы при помощи RPC (Remote Procedure Call), протокола HTTP или разных очередей модифицируем поведение нашей программы. А что насчёт graphic UI? Он же из фронтенда? Или нам так только кажется? Давайте  создадим пользовательский интерфейс (UI) на Go. Выбор решений разнообразен: Gopherjs, gomobile, обёртки для Qt, GTK и много чего ещё. Но если мы хотим добиться кросс-платформенной совместимости для браузеров, мобильных устройств и десктопов, нам нужен универсальный UI. Давайте на практическом примере разберём как создать его на Go.

Читать далее

Портативные медицинские приборы из микроконтроллера, датчиков и смартфона

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

Привет, читатель! Вероятность того, что вы пользуетесь устройствами из сферы персональной медицины, весьма высока. Для профессиональных спортсменов есть приборы для контроля состояния сердечно-сосудистой системы во время тренировок, (например, портативный ЭКГ). Для пациентов — медицинские холтеры, которые отслеживают работу сердца. Для всех желающих – фитнес-браслеты на любой вкус и кошелек. А что если собрать такой прибор своими руками? Нюансы, особенности и реализация проектов под катом!
Читать дальше →

Orbit MVI с сахаром: вкусный фреймворк для однородной архитектуры

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

Привет, $username! Меня зовут Анастасия, я junior-android-разработчик в МТС Диджитал. Пойдем, расскажу тебе про фреймворк OrbitMVI. Узнала я о нем от своего лида: он делегировал мне задачу заменить наш самодельный Redux на Orbit, чтобы в нашем приложении архитектура стала удобнее и однороднее.

Сначала я пошла читать документацию, что из себя представляет Orbit MVI и с чем его едят. Затем попробовала его на небольшом тестовом проекте и поняла: это интересный, удобный и понятный фреймворк. В этом посте я покажу, что в «Орбите» есть полезного и как его можно использовать.

Читать далее

Делаем кастомный трансформер для BLoC

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров1.5K


Hola, Amigos! На связи Павел Гершевич, Mobile Team Lead агентства продуктовой разработки Amiga и соавтор телеграм-канала Flutter.Много. Как известно, BLoC — один из самых популярных способов для управления состоянием. Его преимущество в том, что мы можем управлять не только самим состоянием, но и теми данными, которые в него попадают.
Читать дальше →

Какие тренды в технологиях нас ждут в 2025 году

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

Мобильная разработка продолжает активно развиваться по разным направлениям. Попробую выбрать несколько основных трендов развития в 2025 году:

1) ИИ

C выпуска Chat GPT осенью 2022 года и появления его аналогов у Yandex, Google и других компаний мы переживаем настоящий бум различных LLM. Спектр их использования довольно широк: ассистенты в чатах, помощники-анализаторы, генераторы контента и так далее.

Весной 2024 года Google представили ИИ-помощников, интегрированных как в саму ОС Android, так и в инструменты разработки Android Studio, а также SDK для подключения ИИ-помощников уже в своё собственное приложение. Примерно в то же время Apple объявили о создании своего ИИ-помощника на базе моделей OpenAI. Из-за разных ограничений, решения доступны не все пользователям, что делает крайне актуальной разработку аналогов (чем и занимается, в частности, Сбер). Также актуальным будет создание и обучение собственных ИИ-ассистентов на базе открытых LLM (например, известная и популярная Meta-LLama), чем уже заняты крупные компании.  

2) Кросс-платформенная разработка

Не секрет, что компания Google, разрабатывающая Flutter, в 2024 году сделала открыто ставку и на Kotlin Multiplatform, объявив совместимость с данной технологией одним из своих приоритетов. В этом году они активно занимались переводом Jetpack библиотек для разработки современного приложения Android и на кросс-платформу. Flutter также не сдаёт свои позиции и всё больше завоёвывает популярность во многих компаниях. Это хорошее решение для ускоренной разработки ряда клиентских приложений. Также он становится инструментом для удобного создания приложений под ОС Aurora.i

Читать далее

Секретная акция, или Как выйти за пределы UICollectionView

Уровень сложностиСредний
Время на прочтение20 мин
Количество просмотров3K

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

А это возможно? Сначала казалось, что нет. Но мы это сделали. Нарисовали, анимировали и спрятали за пределы экрана ячейку с секретной акцией, у которой даже отрывается корешок! И всё с помощью UICollectionView. О том, как у нас это получилось, я сегодня и расскажу.

Читать далее

Мобильная разработка за неделю #569 (16 — 22 декабря)

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров1.8K
В новом дайджесте добавляем Image Playground в приложение и разбираемся с Android 15, делаtv свой DI за 10 минут и заставляем крутиться таймер, раскрываем внутреннюю архитектуру Flutter, проектируем мобильное приложение маркетплейса, оцениваем годовые доходы App Store и Google Play и многое другое. Подключайтесь!

Подписывайтесь на мой Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков.

Читать дальше →

Вклад авторов