Рубрика «разработка мобильных приложений» - 21

Android Q — это десятая версия Android с 29-м уровнем API. Одна из главных идей новой версии это концепция edge-to-edge, когда приложения занимают весь экран, от нижней рамки до верхней. Это значит, что Status Bar и Navigation Bar должны быть прозрачными. Но, если они прозрачны, то системный UI нет — он перекрывает интерактивные компоненты приложения. Эта проблема решается с помощью insets.

Мобильные разработчики избегают insets, они вызывают у них страх. Но в Android Q обойти insets не удастся — придется их изучить и применять. На самом деле, в insets нет ничего сложного: они показывают, какие элементы экрана пересекаются с системным интерфейсом, и подсказывают, как переместить элемент, чтобы он не конфликтовал с системным UI. О том, как работают insets и чем они полезны, расскажет Константин Цховребов.

Читать полностью »

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

image Читать полностью »

Мобильному разработчику нужно обладать понятным набором навыков. Рассказывать о них нужно в контексте конкретных задач, которые возникают по ходу создания и публикации приложения. Артур Антонов работает iOS-разработчиком в отделе машинного перевода Яндекса. В своём докладе для студентов и начинающих специалистов Артур объяснил, что должен уметь разработчик, чтобы создавать современный мобильный софт.

— В нашем отделе есть два мобильных приложения: Яндекс.Переводчик и Яндекс.Клавиатура. В Переводчике у нас очень много сложных технологий, например голосовой ввод, распознавание текста по фото, перевод текста при помощи нейросетей. Отдельной сложной задачей является поддержка этой функциональности в офлайне. То есть у вас эта функциональность будет работать даже без интернета.
Читать полностью »

You can’t properly test and debug mobile apps without test devices, which there should be plenty of considering how the same code may behave differently on different models. So how do we keep track of these devices? How do we quickly provide developers and testers with the smartphones they need, configured the way they need, and without much red tape?

I’m Alexey Lavrenuke. Over the years, I’ve worn many hats: one of the authors behind Yandex.Tank, a speaker on load testing, and the guy who calculated energy consumption by mobile phones. Now I’m a Yandex.Rover developer on the self-driving car team.

After the phones and before Yandex.Rover, there was Hypercube.

A few years ago, the head of mobile development popped in to the load testing department and mentioned a problem they were having with test devices: phones had a tendency to inexplicably migrate from one desk to another. Picking the right device and then finding it had become a challenge. We already experienced working with mobile devices from building a digital ammeter to calculate energy consumption, so we decided to help our coworkers out and quickly rig up a handy contraption. We figured the whole thing wouldn’t take more than three months. Oh how wrong we were. Let me tell you what we were really in for.

Hypercube. How we gave developers test devices without losing any - 1
''Dallas cube''
Читать полностью »

imageФото: RAND HEN/Flickr

Китайские производители Xiaomi, Huawei Technologies, Oppo и Vivo решили совместно создать платформу для разработчиков за пределами Китая, которая сможет конкурировать с Google Play. Инициатива производителей получила название «Глобальный альянс разработчиков услуг» (GDSA — Global Developer Service Alliance).

По мнению компаний, создание платформы позволит использовать преимущества тех или иных регионов, например, Азии. На первом этапе, как предполагается, платформа охватит девять регионов — в том числе Россию, Индию и Индонезию. Читать полностью »

Привет! Меня зовут Александр Зубов, я отвечаю за фронтенд архитектуру Авито. Хочу пригласить вас на митап по фронтенду, который мы проводим в нашем офисе вместе с сообществом Facebook Developer Circle: Moscow.

Митап пройдёт 5 марта. Будем говорить о протоколе http/3, использовании Relay Modern и проблемах классического подхода управления состоянием приложения при разработке сложных интерфейсов. Выступят докладчики из Яндекса, Facebook и Авито. Под катом — тезисы, информация о спикерах и ссылка на регистрацию.

Фронтенд митап Facebook и AvitoTech - 1

Читать полностью »

Я с 2014 года работаю над безопасностью мобильных и веб-приложений. Много раз слышал от разных людей и в разном контексте про «трейдофф usability vs security», при этом с самого начала видел в этом какой-то подвох. В этом посте я поделюсь своим мнением, почему, на мой взгляд, это не трейдофф, и на самом деле от него давно стоит отказаться.

image
Читать полностью »

Иногда простые вещи очень утомляют, особенно когда их необходимо делать постоянно. Одна из таких вещей при работе с фреймворком Moxy — это добавление стратегий к функциям. Для ускорения этого процесса был написан плагин, который по "alt+enter" предоставляет выбор стратегии если ее нет или диалог с заменой на другую стратегию. Те, кто хочет узнать как это работает, добро пожаловать под кат.

Moxy Strategy plugin - 1

Читать полностью »

В этом выпуске нашего дайджеста — бинарная совместимость, разбор SwiftUI, ошибки пиксель-арта, традиционный уже ад инди-разработчика, Flutter с нуля до прода, бесплатные книги и SDK для роботов. Добро пожаловать!

Дайджест интересных материалов для мобильного разработчика #331 (27 января — 02 февраля) - 1Читать полностью »

Эксперты XDA Developers протестировали функцию записи разговоров в приложении Google Phone - 1

Специалисты сообщества XDA Developers обнаружили в последней бета-версии приложения Google Phone функцию записи телефонных разговоров. Она позволит записывать звонки, экспортировать и расшифровывать аудиофайлы.Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js