TGViewer
Channel Public Channel
Android Good Reads

Android Good Reads

@droidgr

Самые интересные статьи, видео и новости, связанные с Android разработкой. Не больше трёх материалов в день.

Размещение рекламы: @tanyasanovna
Subscribers
4.01K
Photos
416
Videos
17
Links
2.2K

Showing posts older than #1308 · Back to latest

Older Posts 20 shown
Post #1307 2.12K
Post #1306 2.05K
Представьте, что вы разрабатываете библиотеку, которая под капотом работает с одним или несколькими сторонними сервисами. Например, GitHub или AirTable. Вы хотите спрятать от пользователя сложность взаимодействия с их API и дать ему простой интерфейс, но абстракция протекает из-за ошибок и исключений, которые могут генерироваться этими интеграциями. Держите статью про основанный на монадах подход, который позволяет аккуратно процессить эти исключения на уровне библиотеки.
https://www.cortex.io/post/how-we-expect-the-unexpected-in-kotlin
Cortex How we expect the unexpected in Kotlin `IntegrationValue` is a type that can return any value but encapsulates all possible errors from 3rd party integrations. It allows us to handle expected and unexpected exceptions and errors gracefully and surface clean error messages to our customers when…
  • 👍 1
Post #1305 1.91K
А раз уж мы заговорили про GitHub Actions, то вот вам еще один классный инструмент, который позволяет настраивать воркфлоу с помощью Kotlin DSL вместо YAML.
https://github.com/krzema12/github-actions-kotlin-dsl
GitHub GitHub - typesafegithub/github-workflows-kt: Authoring GitHub Actions workflows in Kotlin. You won't go back to YAML! Authoring GitHub Actions workflows in Kotlin. You won't go back to YAML! - typesafegithub/github-workflows-kt
  • 👍 4
Post #1304 2.01K
Вместе с релизом Kotlin 1.6 был представлен новый Gradle-плагин Kover, измеряющий тестовое покрытие Kotlin кода. Он все еще экспериментальный, но в целом его спокойно можно использовать в своих проектах. Держите статью с хорошим обзором его интеграции с проектом и GitHub Actions.
https://lengrand.fr/kover-code-coverage-plugin-for-kotlin/
Julien's DevRel corner Kover : Code Coverage plugin for Kotlin Kover is a code coverage tool for Kotlin. It's still in incubator phase but I took it for a spin and it is already very useful as part of local or CI workflows! In this article I go through the setup and some of my favourite goodies of the tool.
  • 👍 4
  • 🔥 3
Post #1303 2.32K
Недавно Google выпустил гайд по тому, как правильно подходить к архитектуре UI слоя. Держите хорошую статью с обзором сильных и слабых сторон этих рекомендаций. И помните, что архитектура должна в первую очередь не соответствовать написанным кем-то универсальным правилам, а решать ваши специфичные задачи.
https://www.droidcon.com/2022/01/14/sending-viewmodel-events-to-the-ui-in-android/
droidcon Sending ViewModel Events to the UI in Android It’s been almost a year since I wrote an article on how I handle the communication pattern of sending one-shot actions from an Android view model to it’s associated view such as a fragment or activity.
  • 👍 8
Post #1302 2.57K
Google выпустили новый гайд по работе с Baseline Profiles. Настройка этих профилей позволяет добиться нехилого прироста в скорости старта приложения или рендеринга отдельных критичных для пользователя штук.
https://developer.android.com/studio/profile/baselineprofiles
Android Developers Baseline Profiles overview | App quality | Android Developers Improve Android app performance with Baseline Profiles. Optimize startup times and reduce jank using AOT compilation.
  • 🔥 5
  • 👍 3
Post #1301 2.31K
Kotlin scripting дает возможность определять собственные типы скриптов со своим синтаксисом. Вы реализуете хост, который умеет разбирать такой скрипт, встраиваете его в свое приложение, и оно становится способно исполнять скрипты на лету. Это очень удобно для создания всяких штук вроде игровых движков или билд-систем. Одной из главных проблем скриптинга на Kotlin в целом долгое время было отсутствие нормальной документации. И она наконец-то решилась – держите официальный гайд про то, как работать со скриптами с кастомными типами.
https://kotlinlang.org/docs/custom-script-deps-tutorial.html
Kotlin Help Get started with Kotlin custom scripting – tutorial | Kotlin
  • 🔥 14
Post #1299 2.11K
Продолжим тему скорости билда. Кирилл Розов собрал бенчмарк по скорости сборки Android проектов на различных машинах. Обязательно посмотрите на результаты перед тем, как выбирать себе новый макбук.
https://habr.com/ru/company/surfstudio/blog/646677/
Хабр Бенчмарк реальных Android-проектов на современных MacBook Если вы интересуетесь разработкой под Android, то, скорее всего, слышали о Telegram-канале «Android Broadcast» с ежедневными новостями для Android-разработчиков и одноимённом...
  • 🔥 8
  • 👍 3
Post #1298 2.04K
Как только ваш проект и команда вокруг него начинают расти, вы все чаще слышите недовольство про растущее время билда. Первый шаг на пути к его исправлению – научиться его измерять и мониторить ситуацию. Square делятся своим опытом измерения билдтайма как на CI, так и на машинах отдельных разработчиков.
https://developer.squareup.com/blog/measure-measure-measure/
Square Corner Blog Measure, measure, measure A journey about how to measure build times for Android
  • 👍 6
Post #1297 2.08K
С приходом Compose дизайн-системы получают второе рождение, потому что создавать новые и расширять существующие компоненты стало проще. Автор статьи приводит пример создания простой дизайн-системы поверх Material UI. Отталкиваясь от него, сможете затащить похожий подход и в свои проекты.
https://proandroiddev.com/building-design-system-with-jetpack-compose-1208c250ae75
Medium Building design system with Jetpack Compose Understand Material Design and custom design systems built in Jetpack Compose
  • 👍 2
Post #1296 1.71K
Post #1295 1.74K
Работа с контактами в Android никогда не была простой. На днях вышла Kotlin-first библиотека, которая скрывает за собой всю сложность работы с ContactsProvider.
https://github.com/vestrel00/contacts-android
GitHub GitHub - vestrel00/contacts-android: Android Contacts API Library written in Kotlin with Java interoperability. No more ContentProviders… Android Contacts API Library written in Kotlin with Java interoperability. No more ContentProviders and cursors. Say goodbye to ContactsContract. Build your own contacts app! - vestrel00/contacts-a...
  • 👍 7
  • 🔥 3
Post #1294 1.57K
Я хочу активно развивать канал дальше, но для этого мне хочется узнать побольше про вас: как давно вы занимаетесь Android разработкой, зачем подписаны на канал и какими темами интересуетесь. Я подготовил небольшой опрос, прохождение которого займет у вас не больше 3-5 минут. А чтобы мотивировать вас ответить на мои вопросы, между участниками я разыграю две проходки на ближайшую конференцию Podlodka Android Crew, и замечательную книгу "Код: Тайный язык информатики"!
https://forms.gle/wyPuYdbexrekrepaA
Google Docs Опрос подписчиков Android Good Reads Чтобы понять, как дальше развивать канал, мне надо получше узнать его текущих читателей. Ответьте на несколько вопросов – а я за это разыграю несколько билетов на Podlodka Android Crew (podlodka.io/droidcrew) и замечательную книгу «Код: Тайный язык информатики»!
  • 👍 2
Post #1293 1.61K
Один из плюсов затаскивания КММ в свой проект – возможность иметь один общий тест сьют на iOS и Android. Тесты пишутся один раз, проверяют один и тот же код, красота. Ребята из TouchLab написали хороший гайд про то, как подойти к написанию мультиплатформенных тестов.
https://touchlab.co/understanding-and-configuring-your-kmm-test-suite/
touchlab.co Understanding and Configuring your Kotlin Multiplatform Mobile Test Suite Writing tests is part of every developer's day-to-day routine. They help you write better and more reliable code. In addition, they can verify that your code does what it was supposed to do, and...
  • 🔥 7
  • 👍 1
Post #1292 1.57K
А стоит ли экспериментировать с кроссплатформой? Какое решение выбрать? Если эти вопросы периодически всплывают в обсуждениях в вашей команде, то вот неплохое видео со сравнением плюсов и минусов Flutter и Kotlin Multiplatform.
https://youtube.com/watch?v=jIgiHYn9xbo
YouTube Что хуже: Кotlin Multiplatform или Flutter? // Мобильный разработчик В интернетах не утихают споры о том, какую из двух технологий использовать - Flutter или Kotlin Multiplatform? В этом видео мы попытаемся разобраться и разложить по полочкам, что из этого лучше использовать Тайм коды 00:00:00 — Введение 00:00:37 — Что и…
  • 🔥 3
  • 👎 2
  • 👍 1
Post #1291 1.62K
Duration API выходит из Experimental, а значит, самое время разобраться с ним поподробнее. В заметке рассматриваются его основные функции и примеры использования в стандартной библиотеке языка.
https://lengrand.fr/measuring-time-and-durations-in-kotlin/
Julien's DevRel corner Measuring time and durations in Kotlin The DurationAPI is coming out of experimental stage, and offers a nice DSL to easily work with Time durations (duh!). If offers the obvious but also nice extra goodies like coercions and ISO/ String conversions and is notably used to calculate processing…
  • 👍 6
  • 🤩 2
Post #1290 1.53K
Лайфхак. Если эмулятор на вашей машине тормозит, попробуйте использовать более старую его версию. Например, API 21 намного более шустрый, чем API 30.
https://twitter.com/alexstyl/status/1481947417700454401?s=21
Twitter Alex Styl ☕️ 📘 An Android dev tip that no one is talking about: If the emulator is too slow for you, consider using an older emulator instead of the latest one. 🐢 API 30 can barely be used on my 7 y.o mbp 🚀 API 21 is near smooth and Compose works great!
  • 👍 1
Post #1288 1.59K
Если вы работете с Flow, то обязательно посмотрите на библиотеку turbine от cashapp. Она позволяет очень просто писать тесты – достаточно просто вызвать .test на флоу и вызвать нужные ассерты.
https://github.com/cashapp/turbine
GitHub GitHub - cashapp/turbine: A testing library for kotlinx.coroutines Flow A testing library for kotlinx.coroutines Flow. Contribute to cashapp/turbine development by creating an account on GitHub.
  • 👍 1
Post #1287 1.73K
Новая часть цикла статей про корутины. На этот раз разбирается механизм Jobs, их жизненный цикл и то, как в него встраивается обработка исключений. Помимо общей теории есть много конкретных примеров и разбор эдж кейсов.
https://maxkim.eu/things-every-kotlin-developer-should-know-about-coroutines-part-4-exception-handling
  • 👍 3
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →