Оптимизируем отображение 10 000 объектов на карте
Интересная статья, о том, как в приложении ЦИАН оптимизировали отображение большого количества объектов на карте.
Я бы конечно поспорил на счет приведенных аргументов не использовать кластеризацию, но да ладно 😉
Интересная статья, о том, как в приложении ЦИАН оптимизировали отображение большого количества объектов на карте.
Я бы конечно поспорил на счет приведенных аргументов не использовать кластеризацию, но да ладно 😉
👍1
Improving perceived load times of images using blurred thumbnails — with Glide and custom loaders
Существует такой подход (Progressive image loading), когда картинка загружается частями, нужно это для того, чтобы улучшить воспринимаемое время загрузки. В статье показан 1 из подходов через Glide, с помощью которого можно сделать такую загрузку.
Работает это так: вначале загружается размытая картинка (можно с более меньшими размерами) через
О загрузке картинок из сети, с вашего бэка. Будет вообще красиво, если на бэке будет использоваться Thumbor – сервис, который поддерживает всевозможные трансформации картинок от ресайзов до различных кропов, фильтров и т.д.
Существует такой подход (Progressive image loading), когда картинка загружается частями, нужно это для того, чтобы улучшить воспринимаемое время загрузки. В статье показан 1 из подходов через Glide, с помощью которого можно сделать такую загрузку.
Работает это так: вначале загружается размытая картинка (можно с более меньшими размерами) через
thumbnail, и параллельно грузится картинка нужного размера.
О загрузке картинок из сети, с вашего бэка. Будет вообще красиво, если на бэке будет использоваться Thumbor – сервис, который поддерживает всевозможные трансформации картинок от ресайзов до различных кропов, фильтров и т.д.
👍1
10 лучших советов по повышению скорости сборки Android-проектов
В статье собраны 10 советов, которые могут ускорить сборку вашего проекта. Обратите внимание на 8 пункт: Использование динамических версий в Gradle зависимостях.
Никогда так не делайте, можно напороться на отсутствие каких-то методов в новой версии или отличное поведение работы той или иной функции. Всегда управляйте версиями зависимостей самостоятельно – проверено 😉.
В статье собраны 10 советов, которые могут ускорить сборку вашего проекта. Обратите внимание на 8 пункт: Использование динамических версий в Gradle зависимостях.
compile 'com.android.support:appcompat-v7:+'
Никогда так не делайте, можно напороться на отсутствие каких-то методов в новой версии или отличное поведение работы той или иной функции. Всегда управляйте версиями зависимостей самостоятельно – проверено 😉.
👍1
Как Telegram оптимизирует изображения перед отправкой на сервер
Еще одна интересная статья про работу с изображениями. Автор поковырял исходники телеграм и изложил алгоритм сжатия картинок в статье. Ну и выложил готовый класс хелпер на гитхаб, который можете заюзать у себя в проекте 😉
Кстати, если кто не знает – у телеги открытый код, посмотреть на его чудо архитектуру можно тут.
Еще одна интересная статья про работу с изображениями. Автор поковырял исходники телеграм и изложил алгоритм сжатия картинок в статье. Ну и выложил готовый класс хелпер на гитхаб, который можете заюзать у себя в проекте 😉
Кстати, если кто не знает – у телеги открытый код, посмотреть на его чудо архитектуру можно тут.
👍4
8 распространенных ошибок при разработке Android-приложений
В статье собраны распространенные ошибки при разработке Android-приложений.
Если коротко: юзайте библиотеки Jetpack, Kotlin, корутины, следите за структурой проекта (строки, цвета), используйте фрагменты и все возможности
Обратите внимание на 7 пункт о возможностях Android Studio – shortcuts и live template реально позволяют ускорить разработку, если по каким-то причинам до сих пор не юзали – обязательно попробуйте.
В статье собраны распространенные ошибки при разработке Android-приложений.
Если коротко: юзайте библиотеки Jetpack, Kotlin, корутины, следите за структурой проекта (строки, цвета), используйте фрагменты и все возможности
ConstraintLayout.Обратите внимание на 7 пункт о возможностях Android Studio – shortcuts и live template реально позволяют ускорить разработку, если по каким-то причинам до сих пор не юзали – обязательно попробуйте.
👍1
Change Retrofit Base URL on Runtime
В каждой нормальной компании, для разработки есть каким минимум 2 среды окружения DEV, PROD, а при хорошем раскладе может быть и больше (DEV, STAGE, BETA, PROD), но не суть. И когда таковых несколько, как то нужно переключаться.
Вариантов может быть несколько:
👉 Прописать урлы в конфиге гредла. Допустимый вариант, но каждое переключение будет требовать пересборки, что затратно по времени.
👉 Переключение в рантайме. То, что нам нужно, супер, мега удобная штука, за которую вы получите отдельный респект от тестировщиков 😎
Вот вам статейка, в которой описан 1 из подходов, с помощью которого можно реализовать смену урлов в рантайме.
В каждой нормальной компании, для разработки есть каким минимум 2 среды окружения DEV, PROD, а при хорошем раскладе может быть и больше (DEV, STAGE, BETA, PROD), но не суть. И когда таковых несколько, как то нужно переключаться.
Вариантов может быть несколько:
👉 Прописать урлы в конфиге гредла. Допустимый вариант, но каждое переключение будет требовать пересборки, что затратно по времени.
👉 Переключение в рантайме. То, что нам нужно, супер, мега удобная штука, за которую вы получите отдельный респект от тестировщиков 😎
Вот вам статейка, в которой описан 1 из подходов, с помощью которого можно реализовать смену урлов в рантайме.
👍1
SOLID Principles: The Kotlin Way
Архитектура архитектурой, а принципы SOLID никто не отменял 😉. В статье найдете примеры по каждому принципу на Kotlin.
Архитектура архитектурой, а принципы SOLID никто не отменял 😉. В статье найдете примеры по каждому принципу на Kotlin.
👍3👎1
Что посмотреть на выходных? Подборка полезностей 👇
👉 Android - Что такое Context
👉 Hilt extensions - MAD Skills
👉 Understanding Gradle
👉 Android Jetpack Compose Q&A
👉 Детектим и автоматизируем рутинные задачи в Android / Сергей Боиштян (Авито)
👉 Android - Что такое Context
👉 Hilt extensions - MAD Skills
👉 Understanding Gradle
👉 Android Jetpack Compose Q&A
👉 Детектим и автоматизируем рутинные задачи в Android / Сергей Боиштян (Авито)
👍1
Don’t abuse Kotlin’s scope functions
Небольшая статейка про то, когда и какие
Небольшая статейка про то, когда и какие
scope functions лучше использовать.👍1
Простой ZoomableImageView своими руками за 2 минуты
Пример реализации кастомной вьюшки для зума картинок через
Иногда реально бывает проще накидать что-то своё, чем искать и подключать стороннюю библиотеку.
Пример реализации кастомной вьюшки для зума картинок через
ScaleGestureDetector. Иногда реально бывает проще накидать что-то своё, чем искать и подключать стороннюю библиотеку.
👍1
Convert Android’s Gradle files from Groovy to Kotlin Step by Step
Пошаговая инструкция по конвертации
Зачем? А чтобы всё в проекте было на Kotlin, удобство, понятный синтаксис, все дела 😎
Пошаговая инструкция по конвертации
Gradle файлов в Kotlin.Зачем? А чтобы всё в проекте было на Kotlin, удобство, понятный синтаксис, все дела 😎
👍1
Что посмотреть на выходных? Подборка полезностей
👉 Idiomatic Kotlin – Result type (What it can do for you!)
👉 Рефакторинг Android-проекта / Евгений Мацюк
👉 Дзен-Мобайл: как ускорить рост приложений
👉 Idiomatic Kotlin – Result type (What it can do for you!)
👉 Рефакторинг Android-проекта / Евгений Мацюк
👉 Дзен-Мобайл: как ускорить рост приложений
👍1
RecyclerView с использованием котлиновских sealed классов
Подход, рассматриваемый в статье вполне себе можно применять, но только для списков, которые могут иметь немного типов, иначе получите лапшу из ифчиков, что не есть хорошо.
А вот тут и тут, можно посмотреть best practices по написанию ифчиков и как от них избавиться с помощью полиморфизма 😎
Подход, рассматриваемый в статье вполне себе можно применять, но только для списков, которые могут иметь немного типов, иначе получите лапшу из ифчиков, что не есть хорошо.
А вот тут и тут, можно посмотреть best practices по написанию ифчиков и как от них избавиться с помощью полиморфизма 😎
👍1
Interview Questions for Android Developer
Большой сборник вопросов для собеседования на позицию Android Developer. Начиная от базовых вопросов по
Большой сборник вопросов для собеседования на позицию Android Developer. Начиная от базовых вопросов по
Java, Kotlin и заканчивая платформенными вопросами (Activity, Intent, Room, Lifecycle, LiveData).👍2
Forwarded from Digital Media
Список Public APIs
Если вам нужно затестить какую-то библиотечку или новый компонент, для которых нужно простое API с данными и вам надоели эти однообразные API погоды, переводчиков и т.д., вот вам огроменный список публичных API для использования в своих пет-проектах, на любой вкус и цвет 😎
Если вам нужно затестить какую-то библиотечку или новый компонент, для которых нужно простое API с данными и вам надоели эти однообразные API погоды, переводчиков и т.д., вот вам огроменный список публичных API для использования в своих пет-проектах, на любой вкус и цвет 😎
👍3
How to create a preview for a link in Android
Статейка про то, как сделать красивую подгрузку превьюшек ссылок с картинкой, аналогично тому, как это делают все, популярные мессенджеры.
Статейка про то, как сделать красивую подгрузку превьюшек ссылок с картинкой, аналогично тому, как это делают все, популярные мессенджеры.
👍1
Kotlin Interview Cheat Sheet
Шпаргалка, с наиболее частыми вопросами с собесов по Kotlin. От себя дополню список еще несколькими вопросами:
👉 Kotlin Property Delegate
👉 Перегрузки операторов
👉 Collections vs Sequences
Шпаргалка, с наиболее частыми вопросами с собесов по Kotlin. От себя дополню список еще несколькими вопросами:
👉 Kotlin Property Delegate
👉 Перегрузки операторов
👉 Collections vs Sequences
👍4
Локализация Android-приложений
Наткнулся на статью, про локализацию и о некоторых особенностях, которые не рассматриваются в официальных ресурсах.
И вспомнил еще про одну крутую статью – там рассматривается подход, с помощью которого можно в рантайме переопределять строковые ресурсы в проекте через ваш бэкенд, переводы в xml layout там тоже учитываются. Если ваше приложение требует изменения строк по воздуху, без выпуска новой версии – статья для вас.
Наткнулся на статью, про локализацию и о некоторых особенностях, которые не рассматриваются в официальных ресурсах.
И вспомнил еще про одну крутую статью – там рассматривается подход, с помощью которого можно в рантайме переопределять строковые ресурсы в проекте через ваш бэкенд, переводы в xml layout там тоже учитываются. Если ваше приложение требует изменения строк по воздуху, без выпуска новой версии – статья для вас.
👍2
Podlodka стартует 6-ой сезон Android Crew
В программе: крутые спикеры, сессии в лайве, ламповое общение и обмен кейсами в слаке, записи (для тех, кто не успевает на лайв). Интенсив продлится две недели. Сессии проходят дважды в день: утром и вечером.
В первую неделю разбирают работу с сетью:
👉 как правильно проектировать сетевой слой приложения
👉 погружаемся в протоколы передачи данных и осознанно их выбираем
👉 лучшие практики дизайна API и клиент-серверного взаимодействия
На второй неделе обсуждают дебаг до релиза и после:
👉 инструменты отладки и кейсы их применения
👉 как и зачем мониторить приложение в продакшене
👉 системное отслеживание за перформансом приложения
Как всегда не большая, но приятная скидка по промокоду
Cтарт: 18 октября
Промокод:
Купить билет: Podlodka Android Crew
В программе: крутые спикеры, сессии в лайве, ламповое общение и обмен кейсами в слаке, записи (для тех, кто не успевает на лайв). Интенсив продлится две недели. Сессии проходят дважды в день: утром и вечером.
В первую неделю разбирают работу с сетью:
👉 как правильно проектировать сетевой слой приложения
👉 погружаемся в протоколы передачи данных и осознанно их выбираем
👉 лучшие практики дизайна API и клиент-серверного взаимодействия
На второй неделе обсуждают дебаг до релиза и после:
👉 инструменты отладки и кейсы их применения
👉 как и зачем мониторить приложение в продакшене
👉 системное отслеживание за перформансом приложения
Как всегда не большая, но приятная скидка по промокоду
mobile_native6 😎Cтарт: 18 октября
Промокод:
mobile_native6Купить билет: Podlodka Android Crew
👍1
Kotlin’s Flow in ViewModels: it’s complicated
Неплохая статейка, про реактивные подходы в ViewModel и сравнение:
Неплохая статейка, про реактивные подходы в ViewModel и сравнение:
LiveData, Flow, StateFlow.👍1