Обновить
1024K+

Android *

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

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

Вопперы и табы: как мы сделали меню для Burger King

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

В прошлом году у нашей Android-команды на проекте BurgerKing был мощный вызов: сделать редизайн главного меню. Мы решили написать его с нуля. Так было бы проще организовать А/В тест и потом избавиться от старого меню (не волнуйтесь, при создании нового меню ни один воппер не пострадал 😉).

Сегодня мы расскажем о том, как мы делали часть этой фичи — табы и саб-табы.

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

Самостоятельная доработка Android APS

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

Что если у вас диабет и вы используете программу Android APS, но вас что то в ней не устраивает и вы хотите ее усовершенствовать?

Здесь я напишу небольшой гайд на тему того как можно улучшать opensource программу даже если вы не программист.

Дисклеймер. Приведенные в данной статье методы и разработки не являются частью более ранних разработок AIAPS, не касаются, не влияют на основное разрабатываемое приложение и ведутся параллельно основным усилиям по созданию ИПЖ.

Предыстория заключается в том, что есть замечательная программа "искусственная поджелудочная железа" Android APS, которую люди с диабетом 1 типа используют для точного дозирования инсулина. Я задался целью внести в нее некоторые изменения и вот что я сделал для этого.

Читать далее

Гайд по кроссплатформенной разработке с использованием React Native

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

Начнем, пожалуй, с азов. Что есть кроссплатформенная разработка? Такая, которая не требует от вас знаний нативного кода и позволяет одному разработчику делать сразу два приложения. «Вау! Круто!» — скажет любой предприниматель, смекнув, что может нехило сэкономить. Но так ли это на самом деле? Давайте разберемся.

Лет 7 назад наш техлид разглядел в только что появившемся React Native (RN) огромный потенциал. Поэтому с его легкой руки мы начали делать кроссплатформенные приложения на нем, когда это еще не было мейнстримом.

С тех пор фреймворк зарекомендовал себя как один из наиболее перспективных инструментов для разработки. Он был создан Facebook (Meta), чтобы писать нативные мобильные приложения для iOS и Android при помощи JavaScript.

Чтобы не быть голословными о его популярности, покозыряем именами: Facebook, Instagram, Bloomberg, Airbnb, Tesla, SoundCloud Pulse, UberEATS и Shopify написаны на React Native. Какие же у него сильные стороны?

Читать далее

Настройка Sora Editor

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

В статье хочу показать как настроить SoraEditor от Resomoe. А конкретно то цветовую схему, язык и простые сниппеты.

Читать статью

От Kotlin до машинного кода

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

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

Читать далее

Пишем транзишинометр для Андроид. Как понять, что мои экраны открываются быстро?

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

Все Android-разработчики хотят одного: чтобы интерфейс их приложения был плавным и отзывчивым, а переходы экранов — быстрыми. Уверенность в плавности и чёткости интерфейса дают замеры метрик. Но как измерить ту самую плавность, как оценить гладкость анимаций? У кого-нибудь есть плавнометр или транзишинометр?

Google даёт нам Macrobenchmark и JunkStats — инструменты для оценки общей отзывчивости и стабильности интерфейса. Но их недостаточно, чтобы понять, быстро ли у нас открываются экраны.

В этой статье мы поговорим о том, как получить полную картину по метрикам UI-перформанса. Как замерить плавность и отзывчивость интерфейса, и как оценить время открытия экрана — одно из самых частых действий для пользователя. Напишем собственный транзишинометр и замерим рендер экрана до первого onDraw и до последнего, причём и во Fragments, и в Compose.

Читать далее

Мобильная разработка за неделю #566 (25 ноября — 1 декабря)

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели2.4K
В новой подборке поисковые подсказки на SwiftUI и сравнение Koin и Dagger, асинхронность в iOS и переживания Jetpack ViewModel, Tracer спустя год, пасьянс для забытой периферии, доходы и установки в России в 3 квартале и многое другое. Подключайтесь!

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

Как я купил нерабочую подделку iPhone 14 Pro Max за «косарь» и портировал на неё чистый Android

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

Осторожно: в отличие от других обзорных статей о китайских подделках брендовых смартфонов, в этой мы ещё и узнаем, что у устройства ‭«под капотом‭», проведем диагностику, отремонтируем и доведём его до ума путём портирования чистого дистрибутива Android. В материале всё описано максимально простым и понятным языком, даже если вы не фанат такого своеобразного класса устройств, как подделки на брендовые девайсы. Будет интересно!

Читать далее

Делаем из смартфона рацию Push-To-Talk, вызываем диспетчера или подаём SOS одним нажатием. Обзор XCover7 и MIL-STD-810H

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

Самое первое защищённое устройство (rugged device) Samsung появилось в далёком 2011 году.  С виду укреплённый корпус и заменяемая батарея, что продлевает жизнь смартфона, но всё не так просто. Линейка rugged моделей создана для снижения расходов бизнеса при эксплуатации смартфонов в долгосрочной перспективе, потому что на производстве условия суровые, а отношение сотрудников к устройству не бережное.

В этой статье я опишу малоизвестные подробности использования смартфонов в бизнесе и расскажу о модели защищенного смартфона Galaxy XCover7, а также о трёх способах программировать кнопку XCover на его левой стороне.

Читать далее

Как ускорить проверку приложения с помощью Impact-анализа: Статические анализаторы

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

Когда команда растёт, а кодовая база стремительно увеличивается, время выполнения проверок может стать настоящей проблемой. Unit-тесты, UI-тесты, статический анализ — все эти процессы начинают занимать слишком много времени, замедляя разработку. Звучит знакомо?

В этой статье я поделюсь опытом нашей команды в Циан: расскажу, как мы перешли от полного выполнения всех проверок к выборочному запуску, снизив их длительность. И почему сделать это проще, чем кажется. Если вы считаете, что выборочный запуск статических анализаторов — это сложно и дорого в поддержке, я покажу, как обойтись всего 200 строками кода.

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

Читать далее

Всё о новых штрафах за утечки данных. Сколько светит и как защитить своё приложение

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

На этой неделе Госдума ужесточила ответственность за нарушения в работе с данными — для компаний штрафы вырастут до 3% от выручки или до 500 миллионов рублей.

По оценке нововведения затронут каждую третью компанию в стране. Поэтому сегодня совместно с лидом Android-разработки Surf Алексеем Рябковым попробуем рассказать, что владельцам приложений стоит сделать и проверить, чтобы обезопасить себя и свой продукт от возможных утечек.

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

BDUI — это спасение от релизов: «Какие ваши доказательства?»

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

Если вы видели no-code-проекты, где можно просто блоками перетаскивать интерфейс, то отчасти вы уже знакомы с BDUI-подходом, ведь они по сути и построены на BDUI. Суть в том, что мы делегируем наполнение интерфейса серверу. Фронтенд не отвечает за то, что будет нарисовано, а только определяет список допустимых компонент, которые сервер может показать пользователю. Но в вебе BDUI не очень популярен.

А зря. Ведь в первую очередь он нужен как спасение от релизов. 

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

Вряд ли узнаете, как на 100 % реализовать или внедрить BDUI в свой проект, ибо это слишком категорично, потому что для каждого проекта всё индивидуально. Но… об этом я и расскажу в моей обзорной «лекции».

Читать далее

Мобильная разработка за неделю #565 (18 — 24 ноября)

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели2.3K
В новом дайджесте реверс-инжиниринг новой функции iOS Inactivity Reboot и поиск Золотого пути к устойчивой Android-разработке, шапочный разбор с CoordinatorLayout и взрослая анатомия крэшей на iOS, приложения для HarmonyOS Next, лучший квартал экономики приложений, большая битва платформ и многое другое. Подключайтесь!

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

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

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

Пишем Android приложение для фильтрации спам-звонков

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

Всем привет! Меня зовут Иван Чечиков. В этой статье я расскажу о своем пет-проекте - Android приложении, которое может идентифицировать нежелательные входящие звонки.

Подробности – под катом.

Читать далее

Стили, темы и адаптивная верстка в React Native

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

Из этой статьи вы узнаете, как эффективно организовать очень важную часть разработки на React Native - работу со стилями и ресурсами для создания адаптивных и доступных интерфейсов под три платформы: iOS, Android и Web, и нужны ли для этого библиотеки. Также в целом обсудим особенности верстки и проблемы производительности в рамках данного фреймворка.

Читать далее

Huawei уходит от Android. Придётся ли бизнесу делать приложения для HarmonyOS Next

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

В 2023 году Huawei заявили об окончательном уходе от Android и переходе на собственную HarmonyOS Next. Для разработчиков это значит, что не получится создавать нативные приложения силами одной команды. Бизнес ждут новые расходы или снижение охвата аудитории.

Меня зовут Сергей, я техлид Android-разработки в Surf. В статье расскажем, чего ожидать владельцам приложений в России, стоит ли готовиться к очередной разработке на новой ОС и как это сделать.

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

Мой вариант приложения для запоминания популярных английских слов

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

Несколько лет назад я начал учить английский язык. Я стал пользоваться приложениями для запоминания слов. И вроде бы они удобные, красивые, даже почти бесплатные, но там можно было выбирать слова по группам или учить то что есть. Например выбираем категорию Медицина, а там по мимо основных базовых терминов еще и названия болезней, которые в русском языке употребляются раз в 100 лет. Не думаю что американцы или англичане сильно от нас отличаются физиологически.

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

Получилось вот так https://www.rustore.ru/catalog/app/com.example.word_1000_eng

Вот так выглядит мой список популярных слов

Читать далее

Такие разные Android AppLinks, WebLinks, DeepLinks. Разбираемся и пытаемся сломать

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

Всем привет! На связи Юрий Шабалин и Веселина Зацепина, эксперты по безопасности мобильных приложений в компании Стингрей. С каждым годом мобильные приложения становятся всё более сложными и взаимосвязанными, предлагая пользователям бесшовный опыт взаимодействия. Одной из ключевых частей этого опыта являются ссылки, которые могут направить пользователя прямо на определённый экран приложения или на конкретный контент. Однако многие (как и мы до того, как написать эту статью) путают такие термины, как Deep Links, Web Links и App Links, что может привести к ошибкам в реализации и уязвимостям.

Цель этой статьи — разобраться в различиях между этим похожим функционалом, понять, какие атаки могут быть на них направлены и как ведёт себя Android, если несколько приложений пытаются зарегистрировать одни и те же ссылки. Сразу оговорюсь, что это статья не совсем похожа на наши обычные материалы — она призвана скорее рассказать, что мы узнали в процессе внутреннего исследования и консолидировать эту информацию в небольших "заметках на полях".

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

Читать далее

Избавляемся от Android в api-модулях

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

Небольшой туториал на тему «Как уменьшить количество Android-модулей в проекте при помощи оберток над Android-классами»

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

Итак, теперь сначала..

Читать далее

Работа с CoordinatorLayout: шапочный разбор

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

Приветствую тебя, уважаемый читатель! Меня зовут Пятаков Никита, я Android-инженер в команде MT&S Авито. Здесь я делюсь опытом реализации двух версий шапки на главном экране приложения Avito. Эта статья будет особенно полезна разработчикам, которые хотят познакомиться с CoordinatorLayout и научиться делать похожие задачки с нетривиальным взаимодействием view между собой. 

Читать далее