Как стать автором
Обновить
286.58

Разработка под Android *

Пишем под самую популярную мобильную ОС

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

Патистейшен — или как всадить 30 млн рублей, а потом передумать

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

В 2020 году мы с партнерами решили сделать мегапроект - платформу для игр по видео-связи, как зум, но заточенную под игры. Спустя 3 года, смену рынка и модели, пивота продукта и более 30 миллионов потраченных рублей - мы (вроде) что-то нащупали. Расскажу сегодня о нашей PartyStation - как мы с шутками и прибаутками собирали грабли, и куда в итоге пришли. 

Читать далее
Всего голосов 26: ↑24 и ↓2 +22
Комментарии 25

Как катить фичи без релизов. Часть 1: про виджеты

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

Backend-Driven UI — это подход для динамичного и гибкого пользовательского интерфейса, в которой бэкенд управляет не только данными в приложении, но и его вёрсткой. Сервер посредством API сообщает приложению какие компоненты и с каким контентом отображать. Сегодня многие команды разработки используют Backend Driven UI и мы в Альфе не исключение — помогает быстро выпускать фичи в продакшн.

У нас в Альфе есть несколько подходов к BDUI и про один из них как раз сегодня поговорим, он называется «Виджеты». Независимость, переиспользуемость, уменьшение копипасты, стандартизация UX и без ревью — это всё о них.

Читать далее
Всего голосов 25: ↑25 и ↓0 +25
Комментарии 7

Выбираем Qt

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

Наш ведущий разработчик — Евгений Самойлов, недавно сходил в гости к Android Broadcast, где рассказал, почему мы в 2ГИС используем Qt. Для тех, кому удобнее читать, публикую выжимку того разговора.

2ГИС — это сложный продукт с картой, поисковым движком, базой данных, транспортными сценариями и многое другое. У сложного продукта — большое UI-наследие. Чтобы 2ГИС выглядел и работал хорошо на всех Android-устройствах, мы используем фреймворк Qt.

Читать далее
Всего голосов 35: ↑31 и ↓4 +27
Комментарии 41

Почти одноплатник за 400 рублей: как применить дешёвый ТВ-стик 10-летней давности?

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

Официальная цена на последнюю модель Raspberry Pi составляет около 40$ за штучку. Однако купить её за такую цену невозможно, перекупы накручивают огромные ценники за одноплатники, основным преимуществом которых должна быть цена. И даже альтернативы от китайских друзей в виде Orange Pi или Banana Pi стоят как минимум 3-4 тысячи рублей, что по карману может быть не каждому. Но сейчас на барахолках можно найти старые и дешевые ТВ-стики по совершенно смешным ценам: 2-4$ за штучку, иногда даже с пультом и всеми кабелями. Почему бы не попробовать использовать их в качестве доступных одноплатников? Предлагаю попробовать.
Читать дальше →
Всего голосов 96: ↑92 и ↓4 +88
Комментарии 93

Истории

Как мы на 20% повысили скорость запуска приложения с помощью Baseline Profiles

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

На конференции Google I/O 2022 показали инструмент Baseline Profiles, с помощью которого можно ускорить запуск приложений после установки. Мы попробовали его у себя и получили прирост до 20% при холодном запуске приложения!

В этой статье расскажу, как внедрить инструмент, оценить его работу на production приложении, немного погружу в историю компиляторов в целом и рассмотрю более продвинутые сценарии для генерации Profile.

Демонстрировать это я буду на нашем приложении Дринкит.

Поехали!
Всего голосов 22: ↑21 и ↓1 +20
Комментарии 14

Многопоточность в мобильной разработке

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

Всем привет! На связи Сергей, Android-разработчик Студии Олега Чулакова на проектах Сбера.

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

Читать далее
Всего голосов 11: ↑11 и ↓0 +11
Комментарии 0

Как я стал Android-разработчиком в 40 лет

Время на прочтение 7 мин
Количество просмотров 13K
Начинать карьеру разработчика ПО в сорок лет не поздно.


Однажды мне кто-то сказал: «Если в 35 лет ты всё ещё программист, то начинай искать другие варианты на вторую половину своей карьеры. Молодое поколение наступает на пятки, и скоро ты устареешь».

И действительно, в 35 лет я начал задумываться над тем, что делаю. Моя ситуация была другой. Тогда я не был программистом, а работал в руководстве. В то время я скучал о своём прошлом программиста на C++.

Первые несколько лет моей карьеры были посвящены разработке на C++. Однако после перехода на руководящую роль мои навыки программирования заржавели. Моя повседневная работа состояла из совещаний, PowerPoint и Excel и, разумеется, из кучи писем. Читал я код раз в недели или месяцы, не говоря уже о его написании.
Читать дальше →
Всего голосов 24: ↑19 и ↓5 +14
Комментарии 16

COROUTINES-23: code review fixes

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

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

Читать далее
Всего голосов 28: ↑28 и ↓0 +28
Комментарии 6

Сам себе игровая консоль: превращаем планшет с нерабочим тачскрином в игровой девайс из 8 кнопок и микроконтроллера

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

К сожалению, в наше время многие старые, но весьма неплохие по характеристикам гаджеты отправляются напрямую в помойку, и их владельцы не подозревают, что им можно найти применение. Сервер, мультимедийная-станция, да даже просто как TV-приставка — люди в упор не замечают сфер, где старенький планшет мог бы быть полезен. Но как быть, если посвящаешь жизнь портативным гаджетам, кодингу и копанию в железе? Правильно: сделать довольно мощную игровую консоль из старого планшета самому! Сегодня вам расскажу, как я сделал свою портативную приставку из планшета с нерабочим тачскрином, Raspberry Pi Pico и 8 кнопок! За рабочим результатом прячется несколько дней работы: поиск UART на плате, разработка контроллера геймпада на базе RPi Pico, написание приложения-сервиса, которое слушает события и отправляет их в подсистему ввода Linux в обход Android. Интересно? Тогда жду вас под катом!
Читать дальше →
Всего голосов 39: ↑39 и ↓0 +39
Комментарии 21

Мобильная разработка в апреле: дайджест новостей от RuStore

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

Российский магазин приложений RuStore продолжает серию дайджестов о рынке мобильной разработки — мы собираем самые интересные и важные новости, которые вы могли пропустить.

Читать далее
Всего голосов 17: ↑14 и ↓3 +11
Комментарии 8

Как создать анимированные шейдеры в Jetpack Compose

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 2.8K
Jetpack Compose — молодой, но бурно развивающийся фреймворк для разработки под Android, который обладает множеством не всегда очевидных фичей. Сегодня я хотел бы описать одну из таких встроенных возможностей: речь идет об использовании OpenGL-шейдеров. Они позволяют делать красивые анимированные интерфейсы, как на картинке ниже.
image
Читать дальше →
Всего голосов 13: ↑13 и ↓0 +13
Комментарии 12

Как Литрес сделал из меня Flutter разработчика

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

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

Для кого я это пишу? Для тех, кто подумывает стать мобильным разработчиком, кто почитает про мои неудачи и сможет избежать «хождения по граблям».

С чего всё начиналось

Я большой любитель послушать аудиокниги, в особенности российскую фантастику, фентези, ужасы, постапокалипсис. Пока двигаешься на работу, идёшь в магазин, разбавляешь серость окружения погружением в виртуальные реальности. Но не все книги одинаково интересны, я как правило слушаю пару глав, понимаю, что мне не нравится и отправляюсь на поиск другой аудиокниги. С таким подходом покупать, каждый раз продукт, который не используется нерационально (и очень накладно — в день по парке аудиокниг). В итоге я пришёл к тому, что стал зависать в соответствующем разделе рутрекера, скачивать, закидывать на телефон, слушать в приложении. Естественно, такой алгоритм неудобен, отправился на поиски приложения, которые бы автоматизировало этот процесс, но такого приложения не было. И тут пришла мысль «я со школьных лет увлекаюсь программированием, неужели не смогу разобраться и сделать приложение?».

Ошибка: Идея не обдумана. Загорелся и стал сразу делать.

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

Читать далее
Всего голосов 20: ↑20 и ↓0 +20
Комментарии 19

ChatGPT и чтение книг в оригинале

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

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

Читать далее
Всего голосов 20: ↑18 и ↓2 +16
Комментарии 30

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

PG Bootcamp 2024
Дата 16 апреля
Время 09:30 – 21:00
Место
Минск Онлайн
EvaConf 2024
Дата 16 апреля
Время 11:00 – 16:00
Место
Москва Онлайн
Weekend Offer в AliExpress
Дата 20 – 21 апреля
Время 10:00 – 20:00
Место
Онлайн

Перформанс 2ГИС для Android

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

Каждое большое приложение однажды сталкивается с задачей — увеличить скорость запуска. Не обошла она и приложение 2ГИС на Android. Расскажу, как команда тестирования искала причины медленного запуска.

Читать далее
Всего голосов 18: ↑17 и ↓1 +16
Комментарии 18

Четыре платформы — один код. Что такое Compose Multiplatform?

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

Разработчики давно грезили о возможности писать кроссплатформенный код — такой, который запускался и работал бы одинаково в любой операционной системе любой архитектуры. Сегодня принципом «Write once, run anywhere», когда-то прогремевшим в связи с появлением языка Java, трудно кого-либо удивить. И все же есть ниша, в которой не так много кроссплатформенных технологий: это UI-разработка.

Не будет преувеличением сказать, что на сегодняшний день есть только два UI-фреймворка, которые позволяют запускать один и тот же UI на разных платформах и широко представлены на рынке: React Native и Flutter. Казалось бы, чего еще желать? Сразу две технологии предоставляют возможность шарить UI-фичи между платформами и прекрасно с этим справляются. Но эта статья — не о них, а об их младшем собрате, удобном и мощном инструменте мобильной и десктопной разработки — Compose Multiplatform.
Читать дальше →
Всего голосов 32: ↑31 и ↓1 +30
Комментарии 16

Picture in Picture Mode в android. Показываем видео в мини-окне

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

Picture in Picture Mode - удобный способ отображения контента в мини-окне.
Хорошо подойдет для фонового просмотра видео, звонков, gps-навигаторов.

В статье рассматривается настройка , отображение и взаимодействие с ui, а также работа с backstack'ом activity внутри PiP-mode.

Читать далее
Всего голосов 14: ↑14 и ↓0 +14
Комментарии 1

Разбор Android 13 для разработчиков

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

Обзор всех изменений Android 13, которые пригодится вам знать чтобы протестировать работу приложения с новой версий ОС и узнать какие возможности вам будут полезны, чтобы улучшить ваш продукт, а какие вас заставит использовать Google Play!

Подробности
Всего голосов 21: ↑21 и ↓0 +21
Комментарии 17

Google I/O 2023. Что нового в Kotlin для Android?

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

Всем привет! С вами Анна Жаркова, руководитель группы разработки в ГК Usetech.

И сегодня мы посмотрим на новинки Kotlin для Android, представленные Google в видео «What's new in Kotlin for Android» с Google I/O 2023 (с некоторыми моими комментариями и дополнениями).

В этом году основной фокус делают на следующие пункты:
  • Kotlin Compiler 2.0 (доступен с 2024 года)
  • Kotlin DSL скрипты build.gradle по умолчанию
  • KSP как приоритетный процессинг аннотаций
  • Kotlin Multiplatform (неожиданно)

Также внимание отводится Jetpack Compose и его улучшениям, но подробнее ознакомиться стоит в тематических видео.

Итак, начнем с компилятора Kotlin.
Читать дальше →
Всего голосов 15: ↑15 и ↓0 +15
Комментарии 1

Как Kinect только Pinect

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

На мундиале 2018 году в России. Футбольные болельщики со всего мира могли бы увидеть и поиграть в наш отечественный игровой контроллер для писуаров. Не хочется писать по каким организационным причинам этого не случилось. Здесь я хочу рассказать как происходила разработка этого нестандартного игрового аппарата.

Как оно было...
Всего голосов 18: ↑16 и ↓2 +14
Комментарии 16

Как мы разрабатываем SDK для RuStore

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

2022 год оставил разработчиков из России без возможности заработка в привычных сторах, а также дал толчок развитию альтернативных способов монетизации приложений. Менеджер проекта команды SDK магазина приложений RuStore Александр Лукашенко рассказал, как удаётся разрабатывать инструменты для оплаты, push-уведомлений, получения оценок и отзывов внутри российского магазина приложений.

Читать далее
Всего голосов 48: ↑40 и ↓8 +32
Комментарии 23