История о том, как нам надоело искать приложение по зарядке и мы создали своё. Конфиденциально, бесплатно и без рекламы. Для узкой, но заинтересованной аудитории.
Разработка мобильных приложений *
Android, iOS, Windows Phone и прочие
Новости
Пишем простенький DI для Android приложения
Сейчас практически любой проект имеет в своём составе как минимум одну библиотеку или решение для разруливания зависимостей, но далеко не каждый разработчик действительно понимает как устроены эти самые решения. Поэтому в этой статье я хотел бы прояснить некоторые базовые моменты, на которых построены такие известные библиотеки как Dagger, Hilt и Koin, а также показать на практическом примере как можно написать свое DI решение.
Девайс-холдер: кто такой, зачем нужен и насколько хорошо держит устройства
Все, кто знаком с мобильным тестированием, знают, что для тестов нужны разные устройства. Если с iOS все понятно — там одна операционная система, один вендор, но разные форм-факторы — то с Android сложнее. Это разные оболочки, и разные форм-факторы, и разные сервисы, которые будут влиять на тестирование. Поэтому нам понадобится не один и даже не десять смартфонов.
Расскажем, как покрыть устройствами все запросы отдела и сделать так, чтобы каждый QA был уверен в наличии нужной конфигурации.
Как понятия Patterns и Records в языке Dart упрощают жизнь разработчикам
В языке Dart 3 версии появились новые понятия Patterns
и Records
, которые позволяют упростить написание типовых конструкций кода, чем улучшить его читаемость и сделать красивее. В рамках этой статьи мы познакомимся с этими нововведениями и рассмотрим типовое применение этих понятий на реальных примерах.
Истории
Браузер для Web 3.0
Время от времени я встречаю на страницах Хабра мысль, что современные браузеры не соответствуют современным требованиям, стали слишком сложными, делают всё не так и не туда, и вообще - ниша “забронзовела”, поделилась между игроками (Blink, WebKit, Gecko) и новичкам с новыми движками в неё стало невозможно попасть в принципе. В своей прошлой статье я коснулся основ работы с телеграм-ботами и в какой-то момент мне показалось, что я увидел прообраз “браузера будущего” - приложения, через которое люди будут подключаться к Сети совсем скоро (а некоторые подключаются уже сейчас).
Под катом я попытался формализовать словами свои субъективные ощущения (КДПВ не моя, это всё DALL-E).
BDUI: удовольствие или боль
Backend Driven UI (BDUI) — это подход, при котором сервер управляет не только данными приложения, но и формирует интерфейсы, включая экраны, верстку, реакции на действия пользователя и переходы между экранами. Клиентская часть сводится к рендерингу интерфейсов на основе полученных с сервера данных.
На первый взгляд, это даёт несколько преимуществ. Во-первых, сокращается время от идеи до реализации фичи. Во-вторых, можно создать интерфейсы сразу для нескольких платформ. В-третьих, появляется возможность обновлять функциональность без необходимости обновления приложения, даже на старых версиях у пользователей.
На бумаге такие идеи кажутся идеальными, иногда даже «серебряной пулей». Однако на практике всё не так однозначно, и многое зависит от конкретного кейса. В этой статье я поделюсь опытом нашей компании, расскажу о нюансах, которые позволили нам извлечь пользу из BDUI, и представлю рабочий инструмент. Мы использовали нестандартные подходы, которые, надеюсь, вдохновят вас. Похоже, что для нас BDUI — это скорее удовольствие, чем боль. Давайте разберёмся, как нам это удалось!
Основы Jetpack Compose: как обеспечить стабильность вашего кода
Привет, меня зовут Вера, я Android‑разработчик в Яндекс Диске. Мы в Диске сейчас активно работаем над переездом на Compose с использованием дизайн‑системы. Про стабильность в Compose есть немало статей, однако ошибки продолжают cовершаться, поэтому решила поделиться своим опытом в формате ликбез‑статьи.
По моему опыту, многие кто начинают писать на Compose, делают это интуитивно. Почему? Чтобы привыкнуть, понять, осознать подход к декларативному UI — нужно много времени, и поэтому к пониманию стабильности приходят, как правило, сильно позже. Однако это важно, ведь правильно организованная стабильность уменьшает количество рекомпозиций, что улучшает производительность и плавность работы приложения.
Организация файлов в Figma
Знакома ситуация, когда вы хотите найти какие-либо макеты другого дизайнера, а перед вами — куча пространств с кучей папок с файлами, а в файлах — куча непонятных страниц? И в итоге получается непонятное флоу, у которого актуальных макетов одной и той же страницы 100500, и все они лежат в разных файлах. В итоге вы, как первобытный дизайнер из Photoshop, идёте в чат и начинаете выпрашивать макеты, которые должны были найти за 5 минут. Было такое? Коллеги явно спасибо не говорили!
Как такое решить?
Я сделал небольшой мануал о том, как лучше организовывать файлы в Figma, чтобы другим дизайнерам и разработчикам, да и просто новеньким, было понятно, где и что лежит, как найти ответственного и т. д.
Мобильная разработка за неделю #554 (2 — 8 сентября)
Подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.
Как сделать «успешный» стартап?
Это продолжение истории о разработке самого удобного приложения для зубрежки английских слов инди-разработчиком. Еще одно?! — Да, но с GenAI и алгоритмами!
Следим за производительностью SDK. Доклад Яндекса
Влад Бардин, iOS‑разработчик в команде Яндекс Маркета, выступил с докладом конференции Яндекс Go Dev Day&Night. Он рассказал, зачем следить за производительностью, когда вы разрабатываете такой фундаментальный SDK, какие метрики стоит собирать и как взаимодействовать с потребителями, а именно с продуктовыми командами, которые используют ваш SDK в своих приложениях.
Переложили выступление Влада в текст для удобства читателей Хабра.
Как я разрушил свои стереотипы об автотестах, или Мой путь от Appium до Kaspresso
Всем привет!
Меня зовут Сергей Дударев, я руководитель направления автоматизированных тестов в департаменте мобильной разработки «Лаборатории Касперского». В этой статье хочу рассказать, как я прошел путь от Appium до open-source-фреймворка Kaspresso, с чего начинал, какие делал для себя открытия, как разрушались мои стереотипы и какие по итогу были сделаны выводы.
Анализируй-сокращай. Как мы перешли от вендоров на инхаус и как это сказалось на UX и архитектуре
Долгое время интернет-банкинг и мобильное приложение Газпромбанка разрабатывалось и поддерживалось внешним подрядчиком. Но около двух лет назад мы решили, что такими вещами надо заниматься самим, собрали команду и полностью перевели разработку на себя. В этой статье расскажем, как прошел этот переход, почему переписали код с нуля и какие выводы сделали из этого опыта. А также поделимся неочевидными выгодами инхаус-разработки.
Ближайшие события
Близость и еще 5 способов управлять вниманием пользователя
Привет, Хабр! Меня зовут Света, я руководитель дизайн-направления в компании Friflex. Мы занимаемся разработкой мобильных приложений и веб-сервисов.
В этой статье хочу рассказать о шести эффективных способах управления вниманием пользователей. Это вторая статья о законах внимания пользователей. Первую можно почитать в блоге.
Пуш-уведомления. Интересны, временами непонятны
В этой статье хочу поговорить о пушах с точки зрения текста. Здесь не будет объяснения принципов их создания и того, насколько они необходимы: и без меня понятно, что пуши – классный инструмент маркетинга, который используется буквально всеми. Пуши мотивируют пользователей перейти на сайт или в приложение и выполнить целевое действие, например, оформить заказ.
Я хочу прокомментировать некоторые пуш-уведомления – какие-то из них получила я сама, какие-то – другие люди. Поделила собранные уведомления на несколько групп, не серчайте за формулировки. Небольшой дисклеймер: преследовала цель исследовать пуш-уведомления тех приложений, которыми сама часто пользуюсь.
Flutter Web. Часть 1
Как работает Flutter Web, и есть ли особенности взаимодействия с платформой? Разбираемся с этим в серии статей. Эта — первая.
COFFEE MEET-UP: Знакомства и кофе в одной чашке
Всем привет! Меня зовут Алиса и в этом году я закончила 10 класс и IT Школу (Samsung Innovation Campus), где в рамках обучения я разработала свое первое крупное Android приложение. Сегодня я расскажу вам о моем проекте Coffee meet-up от задумки до реализации и тестирования.
В будущем я планирую развивать приложение дальше, поэтому мне важно услышать мнение аудитории Хабра. Надеюсь, что вы расскажете мне о ваших впечатлениях от идеи приложения в комментариях, а, может, даже станете одним из будущих пользователей.
Как я свалил рутинные задачи на low-code-платформу и не пожалел
Привет! На связи Леша Шамшур, разработчик ПО LiSeller. Недавно мой хороший знакомый Паша устроился джуниор-разработчиком в отдел бэкенд-разработки Debex: компания продает просроченные долги.
После пришел ко мне и захотел поделиться уже своим опытом работы с low-код-инструментами. Решили, что будет круто выложить инсайты на Хабр. Начнем 👇
Как я решал задачу получения доступа к данным банковских приложений на iOS
Вы пользуетесь кешбэком, может даже выбираете категории повышенного кешбэка каждый месяц? Когда у вас несколько карт разных банков с кешбэком, становится непросто запомнить, какую из них лучше использовать для конкретной покупки в этом месяце.
Можно было бы эти категории записывать на листик или куда-то в заметки, но я решил сделать iOS приложение, в котором можно добавлять выбранные категории кешбэка, а они уже будут выводиться в виде виджета.
Заполнять данные о категориях вручную мне показалось неудобно, поэтому я начал думать, как упростить пользователю получение и ввод этих данных из банковских приложений. О том, как я решил эту задачу, расскажу в этой публикации.
Мобильная разработка за неделю #553 (26 августа — 1 сентября)
Подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.
Вклад авторов
InlyIT 3276.2RoboForm 1939.8alizar 1918.6PapaBubaDiop 1549.0phillennium 1272.0YourDestiny 1011.0InkOut 801.0redmadrobot 798.0Leono 778.0marks 755.0