Всем привет! Меня зовут Алишер, Android-разработчик уже как 1,5 года. За это время у меня появился шаблонный (Boilerplate) проект в котором у нас базовая архитектура приложений которую мы будем разбирать. В этой статье я расскажу, и покажу как я ел Single Activity Architecture с Fragment'ами и Navigation Component.
Разработка мобильных приложений *
Android, iOS, Windows Phone и прочие
Новости
Распознавание достопримечательностей с помощью машинного обучения
Бывает листаешь книгу или журнал, видишь красивое место или здание, но не знаешь, где оно и как называется. Тут пригодилось бы приложение, которое распознает его по фотографии.
С помощью машинного обучения создать такое приложение довольно просто. Об этом и пойдет речь в этой статье.
Погружаемся в работу со скроллом в Jetpack Compose
В этой статье я хочу поделиться опытом работы со скроллом в приложении, написанном на Jetpack Compose.
Какое-то время назад я решил, что надо попробовать Compose в деле и начал делать pet project приложение Хотелки, суть которого в записи своих желаний и возможности делиться списком желаний с помощью любого мессенджера.
В ходе работы над приложением мне пришлось вплотную поработать со скроллом: определять текущую позицию и скроллить к определенному элементу списка, когда появляется клавиатура. Этим опытом я и хочу поделиться в данной статье.
Модуляризация DI в проекте с UDF-архитектурой
Всем привет, меня зовут Юрий Трыков, я Head of Mobile в inDriver. В этой статье расскажу, как в рамках платформенной iOS-команды мы выстраивали модуляризацию DI-контейнеров в проекте, зачем вообще нам нужны DI-контейнеры и как настраивать взаимодействие UDF-компонентов и DI-контейнеров. Приятного чтения!
Обеспечение качества мобильной разработки в hh.ru
Не знаю, о чем разговаривают разработчики между собой на конференциях, но ̶н̶а̶ ̶н̶е̶б̶е̶ у QA-инженеров только и разговоров, что о процессах. Как устроено тестирование, сколько автотестов, кто и когда их пишет, где их запускают, как обеспечивается качество на всех этапах разработки? Моя сегодняшняя статья как раз об этом – о том, как мы строим качество тестирования в hh. Будет немножко теории и множко практики. Поехали!
Кто такие: тестировщик и QA
В первую очередь стоит постулировать следующее: качество в hh – это не зона ответственности одного лишь тестировщика. Качеством у нас занимаются все: тестировщики, разработчики, дизайнеры и продакты. Мы стараемся заниматься этим на каждом из этапов разработки продукта. Начать хочется с древнего холивара по поводу тестирования. Сейчас можно выделить два термина: тестирование и обеспечение качества, которые часто используются для обозначения одного и того же.
Тестирование – это проверка соответствия между реальным и ожиданием поведением программ. Обеспечение качества (Quality Assurance), оно же аббревиатура QA, которую часто используют – это превентивный процесс, направленный на то, чтобы гарантировать, что все необходимые техники, процедуры, стандарты и методологии соблюдаются в процессе разработки продукта и предоставляют результат без дефекта. Если совсем не душнить, то проще будет сказать так: тестирование – это один из этапов обеспечения качества. У нас в hh тестировщики – это quality assurance-инженеры, они влияют на весь процесс разработки, а не только ищут баги. Далее в статье я буду использовать термины “тестировщик” и “QA” как слова-синонимы, чтобы пускаться в излишнее занудство.
Автоматизированное тестирование на Flutter: нативные тесты или кроссплатформенные решения
Стабильный пакет для работы с E2E и Widget-тестами был включен во Flutter-фреймворк не так давно — в начале декабря 2020 года. Разбираемся в нюансах автотестирования мобильных приложений в рамках Flutter-фреймворка: плюсы, минусы, костыли.
Дайджест интересных материалов для мобильного разработчика #433 (21 — 27 февраля)
Как завести XCRemoteCache, или Кэши из топора
Всем привет!
Меня зовут Федоров Василий, я руковожу группой Mobile.Speed в компании Aliexpress Россия. Мы стараемся облегчить жизнь разработчиков, пишем утилиты, настраиваем CI, складируем метрики в Grafana — в общем отвечаем почти за все, что влияет на time-to-market и Developer Experience команд. В этой статье я расскажу о том, как мы ускоряем сборку проекта с помощью XCRemoteCache — но обо всем по порядку под катом.
Material You: раскладываем по полочкам обновление дизайн-системы Material
Персонализация смартфона, свежая палитра цветов Material, обновлённые компоненты — от кнопок до диалогов.
Всё это — про Material You, новую дизайн-систему от Google для мобильных и веб-приложений! Разбираем новую систему цветов и все нововведения Material.
Не стоит бояться теней
Мы любим своих дизайнеров за то, что они придумывают нам такие классные и красивые кнопки. Но нарисовать кнопку может каждый, а как насчёт тени от кнопки? Я расскажу, как мы решили задачу с тенями для наших контролов и сделали для нашей дизайн-системы не одну, а целых семь теней.
Как стать модным Android-разработчиком в 2022 году
С одной стороны, статья для тех, кто уже прошел все основы, может собрать полноценное нативное приложение под андроид любой сложности и не знает, чем занять себя в свободное время.
С другой — перечисленные технологии становятся новой реальностью. И теперь просто знать о мультипоточности, ViewModels и LiveData становится недостаточно.
Controller, но не Massive: реализуем список карточек для iOS 13+ и 11+ с учетом практик чистого кода
Привет! Когда мне по работе понадобилось реализовать список карточек на связке UICollectionView и UICollectionViewCompositionalLayout для iOS 13+, я не нашел хорошего примера. Написал свой и хочу поделиться с сообществом. А заодно показать реализацию для iOS11+.
Примеры можно адаптировать под свои задачи, а все исходники вы найдете в Github-репозитории в конце поста. Поехали!
Дайджест интересных материалов для мобильного разработчика #432 (14 — 20 февраля)
Google Play удалил наши аккаунты без предупреждения и лишил семью заработка
На мой взгляд, Google Play – лучшая платформа для распространения приложений. Но вместе с тем, ее руководство плохо справляется с очень важной проблемой – пользовательской поддержкой для разработчиков.
Существуют и другие сервисы Google – например, Admob или Google Ads. И когда у меня возникают трудности со, скажем, Google Ads, я могу быстро связаться с администрацией и получить помощь. Чтобы улучшить что-то в рекламной кампании, не нужно даже к ним обращаться, они сами присылают письма, где напоминают, что сотрудники поддержки к моим услугам. Был случай, когда мне даже довелось пообщаться с очень приятной женщиной по Google Meet.
Если же с проблемами сталкивается разработчик с аккаунтом на Google Play, всё происходит совсем иначе. Приходится довольствоваться текстовым полем, а в ответ неизменно получаешь письма, составленные по шаблону – обсудить свою проблему с человеком практически нереально.
MIR CIT Mobile: передовые технологии тестирования в платежной системе «Мир»
Введение
Всем привет. Мы Денис и Александр из команды разработки сертификационных приложений Мир Plat.Form.
Мы занимаемся развитием систем, которые помогают банкам-участникам платежной системы «Мир» и поставщикам платежных решений выполнять тестирование.
Многие из нас совершают покупки с помощью платежных инструментов «Мир» (пластиковые карты, мобильные приложения MIRPay, Samsung Pay и т.д.), и мы, со стороны платежной системы, хотим, чтобы платежи проходили без сбоев и трудностей. Для этого платежная система «Мир» разработала требования по сертификации.
Адаптация Android-приложения для незрячих
Если вы мобильный разработчик, знаете ли вы, каково пользоваться вашим приложением незрячим людям? В каких именно местах они могут столкнуться с главными сложностями? Как вообще будет происходить взаимодействие с приложением?
На нашей конференции Mobius Виктор Вихров (Яндекс Go) рассказал о том, как сделать Android-приложение более подходящим для использования «вслепую». А эксперт в сфере цифровой доступности Анатолий Попко помог ему, прокомментировав представленные решения с точки зрения такого пользователя. Мы считаем, что такой контент нужен и на Хабре — поэтому сделали текстовую расшифровку доклада.
Преобразование локализованных файлов iOS для проекта Android
Сегодня у меня была простая, но скучная задача: использовать переведенный текстовый контент из проекта для iOS в приложении для Android.
Есть SaaS-инструменты, которые могут взять эту задачу на себя, но не каждый захочет платить за это. Кроме того, если не начать работать с такой платформой заранее, вам всё равно придется потратить чересчур много времени на импорт контента.
В рамках этой статьи я покажу, как можно выиграть время с помощью поиска и замены, не используя при этом внешние инструменты для работы с переведенным текстом.
Модуляризация доменного слоя в UDF. Часть II
В предыдущей части мы рассмотрели, что такое домен и какими принципами можно руководствоваться при его модуляризации. В этой части сконцентрируемся на типах связей между модулями и различиях в проектировании ООП и UDF-кода. Приятного чтения!
Как мы сделали Смарт Видео Агент на WebRTC для улучшения техподдержки телеком-операторов
В современном телекоме, да и не только там, техподдержка — это подразделение, работа которого бесконечно оптимизирована, а затраты выжаты по максимуму. При этом, все понимают, что качество техподдержки сильно влияет на число клиентов, на отзывы о сервисе компании, — но что еще можно здесь улучшить, заодно облегчив работу операторов? Оказывается, есть такая почти волшебная таблетка и называется она «видеоподдержка». Но обо всем по порядку.
Как UIView мешал слоям анимироваться
Эту часть я хотел посвятить анимациям, но понял, что это очень большая тема и для нее тоже нужен контекст. Поэтому сначала расскажу, что же лежит под капотом тех методов, которые мы обычно используем для анимаций.
Заодно разберемся с таким понятием, как неявные анимации.
Вклад авторов
-
ProductivityInside 2793.4 -
RoboForm 1939.8 -
alizar 1879.6 -
PapaBubaDiop 1541.0 -
phillennium 1226.0 -
YourDestiny 1011.0 -
InkOut 801.0 -
redmadrobot 779.0 -
Leono 778.0 -
marks 755.0