Обновить
128K+

Android *

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

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

Android-разработка для новичков: 20+ полезных ресурсов

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

Всем привет! Меня зовут Миша Вассер. Я руковожу мобильной разработкой в AGIMA, а ещё я наставник на курсе «Android-разработчик» в Яндекс Практикуме. Мы на курсе регулярно делимся со студентами полезными материалами. Сегодня публикую подборку, которая поможет новичку начать свой путь в Android-разработке.

Читать далее

Кто и в каких задачах быстрее? Coroutines, RxJava, Executor?

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

Вы когда-нибудь задумывались, какой из фреймворков для многопоточки самый быстрый? Я вроде и знал ответ, но задумывался периодически. В определённый момент сама судьба просто-напросто заставила меня взять и проверить. Так что если вам тоже всегда было это интересно, то я постарался протестировать, сравнить и предоставить результаты для вас. 

Читать далее

Где и как можно ускорить приложение на Android

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

Привет! Я Александр Попсуенко, руководитель инфраструктурной команды мобилок Маркета. Сегодня я хочу рассказать, как мы ускоряли наше приложение на Android.

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

Пост рекомендуется к прочтению:

— мобильным разработчикам и техлидам, чтобы почерпнуть идеи для реализации метрик и ускорения приложений;

— продуктовым и техническим менеджерам для осознания, что можно довольно дешёвыми способами ускорить приложение;

— UX‑дизайнерам, чтобы удостовериться, что мобильные приложения должны быть быстрыми и в это нужно вкладываться.

Почерпнуть, осознать, удостовериться

Permissions в Android: как не допустить ошибок при разработке

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

Всем привет! На связи Юрий Шабалин, ведущий архитектор Swordfish Security и генеральный директор Стингрей Технолоджиз. Эта статья написана в соавторстве с Android-разработчиком Веселиной Зацепиной @VeselinaZatsepinaa). В материале мы поговорим про один из ключевых механизмов в Android, а именно про разрешения. Разберем, что это такое, как с ними работать, а главное, какие ошибки могут возникнуть и как их не допустить. Будет интересно, поехали!

Читать далее

Программные баги, которые приносят реальный вред

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

Три реальные истории из жизни, показывающие возможные проблемы, вызываемые ошибками или недоработками в программном обеспечении. Первая касается продуктов Apple, вторая — устройств Android, а третья связана с багами в ПО канадского гипермаркета стройматериалов.
Читать дальше →

Мобильная разработка за неделю #492 (5 — 11 июня)

Время на прочтение4 мин
Охват и читатели3.4K
На этой неделе мы обсуждаем новинки WWDC 2023, создание своих библиотек для Android и анимированных кнопок, выбор Qt и фичи инклюзивного дизайна, AI-плагины для разработки и многое другое.

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

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

Как заходить в android automation (часть 1 — Kotlin для тестировщика)

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

В интернетах не так много гайдов, как можно освоить нативную мобильную автоматизацию. Многие отказываются от этой затеи, потому что сложно. Поэтому я решил написать цикл статей, которые на мой взгляд, могут помочь в освоении этого ремесла.... (часть 1 - Kotlin для тестировщика)

Читать далее

Как создать модули со всей обвязкой под проект, аки Танос пальцем щёлкнув?

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

При разработке новой фичи приходится тратить время на создание однотипных файлов, в которых мы будем писать логику. Рутина, от которой хочется избавиться. В статье я расскажу про свой плагин  Group File Template (GFT) для создания классов из подготовленных заранее шаблонов. Настолько гибко, что подойдёт не только Android-разработчику.

Читать далее

Пару слов о полях и свойствах в Kotlin

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

Терминология свойств и полей в Kotlin может немного сбивать с толку, потому что технически в Kotlin нет полей. Вы не можете объявить поле. Все — свойства! Однако, во избежании путаницы, я предпочитаю разделять определения полей и свойств на следующей основе — полями являются приватные переменные-члены класса. Это то, для чего выделена память. Свойствами являются публичные или защищенные (protected) функциями геттеры и сеттеры, которые позволяют вам получить доступ к приватным полям.

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

Выбираем Qt

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

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

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

Читать далее

Своя библиотека под Android за один вечер

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели8.3K
В процессе написания статьи она незаметно для меня трансформировалась из туториала по публикации Android-проекта как библиотеки в максимально душную статью о том, как математика пригодилась разработчику с гуманитарным бэкграундом в отрисовке анимашек. Статью подробную, разжеванную, с множеством строк кода. Возможно, не для слабонервных.

Что, если у вас появилась потребность использовать один и тот же код на Jetpack Compose между несколькими проектами, да еще так, чтобы он импортировался одинаково и автоматически на нескольких машинах? Такая ситуация может возникнуть с большой вероятностью, потому что Compose не блещет обилием предоставляемых из коробки виджетов и тулзов (хотя их количество постоянно растет). Быть может, ваш дизайнер пришел к вам с чем-то настолько диковинным, что готовыми компонентами просто не обойтись. Тогда тот пайплайн разработки и публикации собственной библиотеки, который я опишу ниже, может оказаться для вас полезным.

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


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

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

Практическое руководство по Jetpack Compose: создаем анимированную кнопку-счетчик

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

Недавно передо мной возникла необходимость создать кнопку счетчика для небольшого приложения. Бороздя просторы интернета в поисках хороших готовых решений, я наткнулся на этот дизайн от Эхсана Рахими (Ehsan Rahimi) на Dribble. Придя к выводу, что воссоздать его в Compose — задача нетривиальная, я закатал рукава и принялся экспериментировать. В этом руководстве я поделюсь с вами каждым шагом, который я предпринял для реализации этого дизайна в Jetpack Compose.

Читать далее

«Фокус-покус», или еще одна попытка побороть Leanback

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

Привет, сообщество! Меня зовут Илья Бу. и в этой статье я хочу с вами поделиться болью (опытом), как нам в приложении PREMIER на ANDROID TV пришлось реализовать не совсем стандартный UI. К счастью (нет), у нас есть библиотека Leanback от Jetpack, которая призвана упростить (точно нет) разработку приложений на Android TV для разработчиков.

В данной статье мы рассмотрим, как реализовать обычный экран Android на Android TV. Интересно? Тогда погнали!

Читать далее

Мобильная разработка за неделю #491 (29 мая — 4 июня)

Время на прочтение4 мин
Охват и читатели2.2K
В нашем новом дайджесте опыт проектирования Live Activity и создание адресной системы, повышение скорости запуска и многопоточность, разработка в Японии, обновления Flutter, приложения на арабском, блокировки RuStore и многое другое.

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

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

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

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

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

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

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

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

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

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

Поехали!

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

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

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

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

Читать далее

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

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


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

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

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