Обложка канала

Android Broadcast. Страница 111

Качественная выборка Android Dev новостей, тезисы важных новостей и статей, личное мнение

  • Android Broadcast

    #Benchmark #Flutter #React

    Native vs Flutter vs React Native: тестируем производительность в работе с UI-элементами

    В статье сравнивается потребление ресурсов и быстродействие при отрисовке различных типов анимаций между нативными приложениями на Android и iPhone и такими же приложениями написанными на Flutter и React Native.

    Ожидаемо, нативные приложения работают быстрее и показывают лучшие результаты в рендеринге и использовании ресурсов, Flutter держится в середине, React Native оказался наиболее медленным.
  • Android Broadcast

    #Architecture

    Вероятно, хватит рекомендовать «Чистый код»

    В мире разработки ПО Роберт Мартин считается своего рода "иконой". Этот человек написал несколько книг, которые стали для многих программистов настольными. Но один из главных нюансов программирования в том, что оно постоянно развивается и видоизменяется, то что было актуально 10 лет назад сегодня может быть абсолютно нерелевантным.

    Автор в статье рассказывает о неточностях и проблемах книги "Чистый код", рассказывает о том что сам код, приведённый в книге, не такой уж и "чистый". Автор не использует правило "критикуешь - предлагай", что было бы весьма актуально для подобной темы.

    Интересно узнать ваше мнение относительно этой статьи, поэтому не поленитесь после прочтения поставить палец вверх или вниз в конце этого поста.
  • Android Broadcast

    #Dagger #Hilt

    EXPLORING HILT: APPLICATION LEVEL CODE GENERATION

    Хотите узнать как работает магия? Тогда вам стоит почитать в статью и отправиться в путешествие какой код генерирует Hilt - расширение Dagger для Android разработки
  • Реклама

  • Android Broadcast

    #Espresso #Testing

    Testing Espresso Matchers

    Espresso - это фреймворк для UI тестирования Android приложений. Для поиска определенной view в иерархии или для проверки состояния view в Espresso используются объекты класса org.hamcrest.Matcher

    Можно использовать как множество готовых Matchers, покрывающих большинство кейсов, так и создавать собственные. Например, для редких состояний view или для custom view.

    В статье расписано как можно реализовать собственный Matcher на примере custom view, и как его потом использовать в UI тестах.
  • Android Broadcast

    #Conference #Online #CFP

    Сообщество Mobile People организовывают глобальную онлайн-конференцию Mobile Z-Days и ищут спикеров

    Событие пройдет 8-10 сентября, а до 3 июля можно подать заявку, чтобы стать спикером!

    Темы, которые будут на конференции: Android, iOS, Flutter, React Native, Xamarin
  • Android Broadcast

    #Kotlin

    Kotlin dilemma: Extension or Member

    Extension функции - одна из самых популярных возможностей языка Kotlin, но проблема ее в том что разработчики слишком увлеклись ей и используют ее для всего.

    Когда стоит сделать extension функцию:
    👉 Nullable receiver
    👉 Вы не можете модифицировать класс
    👉 Сделать интерфейс/класс минималистичным
  • Android Broadcast

    #Jetpack

    Обновление Android Jetpack 24.06.20

    Прошло уже больше недели, а я не написал о новом релизе Jetpack. Что у нас тут:
    👉 Новая стабильная версия Navigation 2.3.0: поддержка Dynamic Feature, Activity Result и др
    👉 Biometric 1.1.0-alpha01 - наконец-то пофиксили все утечки памяти из первой версии
    👉 Новые Emoji 1.1.0
    👉 Новый мажорный релиз WorkManager на подходе - вышла первая rc
  • Android Broadcast

    #StrictMode

    Smooth Operator: Using StrictMode to make your Android App ANR free

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

    Если хотите использовать StrictMode удобнее, на любой версии API и даже иметь DSL для настройки, то обратите внимание на мою библиотеку - StrictMode Compat.
  • Android Broadcast

    #Android11 #Notifications

    People Notifications

    В Android 11 добавляются новые возможности уведомлений - "People Notifications". Это сообщения, связанные с каким-то человеком или группой людей. Особенно важную роль это сыграет для мессенджеров и любых приложение где есть чат.
  • Android Broadcast

    #Dagger #Hilt #Fragment

    Dagger Hilt: Custom Entry Point for FragmentFactory Integration

    Dagger Hilt - библиотека которая уже наделала много шуму, но я не смог там найти одной удобной возможности - inject зависимостей в конструкторы Fragment. Автор статьи рассказывает как это можно сделать
  • Android Broadcast

    #Firebase #MachineLearning #TensorFlow

    Enhance your TensorFlow Lite deployment with Firebase

    В статье рассказывается о полезных возможностях Firebase при использовании TensorFlow Lite:
    👉 deploy моделей в облаке (вручную или автоматизировано). Это позволит доставить модель на устройство без необходимости перепубликации приложения
    👉 измерение скорости ответа модели, с помощью Firebase Performance Monitoring
    👉 проведение A/B тестов с разными моделями с помощью Firebase Remote Config и Firebase A/B Testing
    💪 статья содержит примеры кода
    💪 есть ссылки на codelabs (Android и iOS), которые помогут освоить рассмотренные вопросы на практике
  • Android Broadcast

    #UI #Compose

    JetPack Compose With Server Driven UI

    Server Driven UI - это новый подход к управлению вашим UI который станет более доступен с релизом Jetpack Compose. Ключевая идея состоит в том чтобы управлять данными, которые отображают ваши View, удалённо с помощью обновлений с сервера.

    В статье описан один из вариантов такого подхода на примере приложения для отображения списков фильмов. Кроме этого автор показывает как с помощью Compose можно создавать комплексный UI с несколькими scrollable списками.
  • Android Broadcast

    #Architecture #SOLID

    Понятнее о S.O.L.I.D

    Принципы SOLID стали фундаментальными при разработке программного обеспечения, но не всех их знают или до конца понимают. Если вы до сих пор о них не слышали или хотите разобраться, то лучшим решением станет прочитать книгу Роберта Мартина "Чистая Архитектура"

    Если такой возможности нет, то автор статьи постарался максимально просто и доходчиво объяснить каждый из них, при этом использовал примеры на Java и Kotlin, близкие Android разработчикам.
  • Android Broadcast

    #OkHttp #Networking #Optimization

    Maximizing OkHttp connection reuse

    Разработчики из Booking закопались в оптимизации OkHttp чтобы получить больше скорости для своих сетевых запросов. Узкое место было найдено в том, что переиспользование socket соединений не работает так эффективно, как хотелось бы разработчикам библиотеки.

    К сожалению, библиотека OKHttp не содержит callback, который бы позволил бы перехватить управление созданием RealConnection, не вам стоит обратить на рекомендацию от создателей:
    Security.insertProviderAt(Conscrypt.newProvider(), 1);
  • Android Broadcast

    #Gradle #Performance

    Optimizing Gradle Daemon’s memory and cache usage

    Gradle Daemon предназначен для того чтобы ускорять вашу сборку. Платите вы за это тем, что он постоянно весит в оперативной памяти и кушает ее.

    В статье рассказывает о том, что одновременное использование Android Studio и терминала для запуска Gradle команд может приводить к тому, что стартуют разные Gradle Daemons и это приводит к увеличению потребления памяти.

    Правильная настройка IDE позволяет достичь того, чтобы использовался общий Daemon.
  • Реклама

  • Android Broadcast

    #Kotlin #CodeQuality

    Вышел Detekt 1.10.0

    Выпустили новую версию статического анализатора Kotlin кода - Detekt:
    💪 в Сomplexity report теперь вычисляется показатель когнитивной сложности проекта 🧠
    👉 новые правила - IgnoredReturnValue, ImplictUnitReturnType, IsPropertyNaming
    👉 добавили ReportingExtension - интерцептор для результатов отчета
    👉 Обновили до KtLint 0.37.1
    👉 о проблемах функций и классов теперь сообщается по идентификаторам (что особенно полезно в IntelliJ Detekt Plugin)
    👉 много различных багфиксов и улучшений

    Особенности миграции:
    ⚠️ может потребоваться подкорректировать/перегенерировать baseline файл
    ⚠️ файл default-detekt-config был перемещен, потребуется обновить ссылку до него
  • Android Broadcast

    #Security

    Creating Secure Android Applications.

    В статье автор рассказывает о самых популярных способах взлома Android-приложений и даёт рекомендации как этого избежать:
    👉 Обфускация кода
    👉 Проверка на root доступ
    👉 Шифрование web запросов
    👉 Защита локальной базы данных и Shared Preferences
    👉 Защищённое логирование

    Так же автор приводит примеры как предотвратить создание скриншотов в вашем приложении и как использовать одноразовую верификацию для пользователей.
  • Android Broadcast

    #MLKit #MachineLearning #TensorFlow

    New tools for finding, training, and using custom machine learning models on Android

    Вышло продолжение поста про ML Kit.

    В продолжении рассматриваются следующие вопросы:
    👉 где можно найти альтернативные ML модели
    👉 тренировка собственных моделей
    👉 разные способы импортирования кастомных моделей в Android приложение

    Интересные ссылки в посте:
    💪 TensorFlow Hub  - репозиторий с множеством готовых ML моделей
    💪 Codelab Recognize Flowers with TensorFlow Lite on Android (beta)
    💪 Видео в помощь прохождения указанного выше codelab
    💪 Видео о том как найти модель на TensorFlow Hub и начать ее использовать с ML Kit
    💪 Ноутбук на Colab, посвященный классификации изображений с TensorFlow Lite Model Maker
    P.S.: Что такое Google Codelabs можно узнать здесь