Сегодня в 18:00 МСК состоится стрим, на котором два эксперта в мобильной кроссплатформе из EPAM и Яндекс обсудят достоинства и недостатки подходов с использованием Flutter и Kotlin Multiplatform Mobile.
https://www.youtube.com/watch?v=CUK3G9kuAMY
https://www.youtube.com/watch?v=CUK3G9kuAMY
YouTube
Flutter vs Kotlin Multiplatform Mobile
Кроссплатформенные фреимворки всегда вызывали жаркие споры у разработчиков. Некоторые считают, что это полезный инструмент, который может уменьшить количество дублированного кода и позволяет писать качественные приложения. Другие — что кроссплатформа никогда…
Используем Jetpack Compose вместе с глобальным состоянием.
https://medium.com/nerd-for-tech/android-jetpackcompose-with-global-state-3a0b3c0f0b30
https://medium.com/nerd-for-tech/android-jetpackcompose-with-global-state-3a0b3c0f0b30
Medium
Android JetpackCompose with global state
Reactdroid can add Redux-like global-state management to Kotlin Multiplatform projects
В Kotlin мы можем передать функцию в качестве аргумента, как с помощью ссылки на метод, так и с помощью лямбда выражения. Разбираемся в отличиях данных подходов.
https://proandroiddev.com/kotlin-lambda-vs-method-reference-fdbd175f6845
https://proandroiddev.com/kotlin-lambda-vs-method-reference-fdbd175f6845
Medium
Kotlin. Lambda vs Method Reference
Kotlin has been main Android programming language for a while now. One of the reasons I like this language is because functions are…
Серия статей про использование обновленного Activity Result API для передачи данных между экранами.
https://medium.com/e-legion/the-right-way-to-get-a-result-part-i-activity-result-api-6efbcaa5600d
https://medium.com/e-legion/the-right-way-to-get-a-result-part-i-activity-result-api-6efbcaa5600d
Medium
The right way to get a result (Part I): Activity Result API
In 2020, Google introduced a powerful tool — the Activity Result API. In this article, we’ll look at how to use it and discuss its benefits
Погружаемся в ностальгию и вспоминаем историю Android разработки на протяжении последних 10 лет на примере одного разработчика.
https://dinesh-hema99.medium.com/10-years-an-android-developer-e8a75e344727
https://dinesh-hema99.medium.com/10-years-an-android-developer-e8a75e344727
Medium
10 Years an Android Engineer
A narrative about my 10 years of experience developing on the Android Platform
Flow постепенно приходит на смену LiveData, и мы всё чаще работаем с ним на уровне UI. Разбираемся как это делать наиболее безопасно.
https://medium.com/androiddevelopers/a-safer-way-to-collect-flows-from-android-uis-23080b1f8bda
https://medium.com/androiddevelopers/a-safer-way-to-collect-flows-from-android-uis-23080b1f8bda
Medium
A safer way to collect flows from Android UIs
Learn how the repeatOnLifecycle API protects you from wasting resources and why it’s a good default for flow collection in the UI layer.
Вместе с suspend методом emit у MutableSharedFlow есть также обычный метод tryemit, который может работать не так как вы думаете при отсутствии буфера. В статье автор копается под капотом Flow, чтобы выяснить почему так происходит.
https://blog.danlew.net/2021/03/23/do-or-do-not-there-is-no-tryemit/
https://blog.danlew.net/2021/03/23/do-or-do-not-there-is-no-tryemit/
Dan Lew Codes
Do or do not; there is no tryEmit()
In RxJava, PublishSubject
[http://reactivex.io/RxJava/3.x/javadoc/io/reactivex/rxjava3/subjects/PublishSubject.html]
(or PublishRelay [https://github.com/JakeWharton/RxRelay] if you’re a cool kid)
is a gizmo for manually pumping data into streams like in…
[http://reactivex.io/RxJava/3.x/javadoc/io/reactivex/rxjava3/subjects/PublishSubject.html]
(or PublishRelay [https://github.com/JakeWharton/RxRelay] if you’re a cool kid)
is a gizmo for manually pumping data into streams like in…
В Android 12 меняются правила работы с PendingIntent. Хороший повод, чтобы освежить память на тему PendingIntent и подготовится к изменениям.
https://medium.com/androiddevelopers/all-about-pendingintents-748c8eb8619
https://medium.com/androiddevelopers/all-about-pendingintents-748c8eb8619
Medium
All About PendingIntents
PendingIntents are an important part of the Android framework, but most of the available developer resources focus on their implementation…
Большая шпаргалка по обработке исключений в Kotlin coroutines.
https://www.netguru.com/codestories/exceptions-in-kotlin-coroutines
https://www.netguru.com/codestories/exceptions-in-kotlin-coroutines
Netguru
Are You Handling Exceptions in Kotlin Coroutines Properly?
In this article I will try to show situations where you need to be more cautious about exceptions and show some best practices in Kotlin
Уже очень скоро подводим итоги пятого ежегодного опроса отечественных мобильных разработчиков! Вы ещё успеваете его заполнить ;)
Скоро узнаем:
📖 Откуда мобильщики получают новые знания
💪 Какие команды мобильной разработки самые сильные
🌟 В каких компаниях мобильные разработчики хотят работать больше всего
Результаты будут в публичном доступе через месяц. Пока их ждете, можете почитать отчеты за прошлые годы: 2020, 2019, 2018, 2017.
⏩ Пройдите опрос, пошарьте его своей команде, ждите результата!
Скоро узнаем:
📖 Откуда мобильщики получают новые знания
💪 Какие команды мобильной разработки самые сильные
🌟 В каких компаниях мобильные разработчики хотят работать больше всего
Результаты будут в публичном доступе через месяц. Пока их ждете, можете почитать отчеты за прошлые годы: 2020, 2019, 2018, 2017.
⏩ Пройдите опрос, пошарьте его своей команде, ждите результата!
Google Docs
Исследование российских команд мобильной разработки, 2021
Ежегодный опрос про состояние отечественного рынка мобильной разработки. Когда отвечаете на вопросы, старайтесь учитывать впечатления, полученные за весь прошедший 2020 год.
Задать вопросы можно в Telegram: @etolstoy
Отчет за 2020: https://etolstoy.com/mobile…
Задать вопросы можно в Telegram: @etolstoy
Отчет за 2020: https://etolstoy.com/mobile…
Серия статей, в которой автор бродит по ченджлогам недавно вышедшей Android 12 Developer Preview и ищет интересные нововведения. Как пример, новые методы для работы с View, отдельное API для SplashScreen и PeopleManager.
https://commonsware.com/blog/2021/03/17/random-musings-android-12-developer-preview-2.html
https://commonsware.com/blog/2021/03/17/random-musings-android-12-developer-preview-2.html
CommonsWare: Android App Development Books
Random Musings on the Android 12 Developer Preview 2
Android 12 is upon us! I always take a deep dive through each developer preview and beta release, to see what we should know about that Google is not promoting much. So, here is what I have found for Android 12 Developer Preview 2!
Набор хороших практик, которые улучшат ваш код и ускорят процесс разработки.
https://gpeal.medium.com/ten-androidlifehacks-you-can-use-today-9f74186fc207
https://gpeal.medium.com/ten-androidlifehacks-you-can-use-today-9f74186fc207
Medium
Ten #AndroidLifeHacks You Can Use Today
Ten simple #AndroidLifeHacks from Tonal that you can start using today.
Последовательное соединение кода — это ситуация, когда класс требует, чтобы его методы вызывались только в определенном порядке. В статье описывается к каким проблемам это может привести и как свести такие ситуации к минимуму.
https://proandroiddev.com/stop-crafting-your-time-bomb-39f2d26987e0
https://proandroiddev.com/stop-crafting-your-time-bomb-39f2d26987e0
Medium
Stop Crafting Your “Time Bomb”
A horrible design pattern we should get rid of. Period.
Большой набор советов от Redmadrobot по работе с Gradle для Android-разработчиков: Kotlin DSL или Groovy, зависимости в многомодульных проектах, исключение неиспользуемых вариантов и другие.
https://habr.com/ru/company/redmadrobot/blog/544630/
https://habr.com/ru/company/redmadrobot/blog/544630/
Хабр
Советы по работе с Gradle для Android-разработчиков
Всем привет! Я пишу приложения под Android, в мире которого система сборки Gradle является стандартом де-факто. Я решил поделиться некоторыми советами по работе с системой с теми, у кого нет чёткого...
Неожиданно и быстро прошёл этот “год на удаленке”. Кто-то успел выучить новый язык и не только в программировании, но и заговорить на испанском. Кто-то в совершенстве овладел навыками йоге в домашних условиях.
Вместе с этим команда Mail.ru Group решили собрать и поделиться с вами некоторыми релизами на мобильных устройствах, которые выпустили за 2020 год “на удаленке”
Читайте в статье, пишите в комментарии какие крупные мобильные релизы вам запомнились в прошлом году?
Вместе с этим команда Mail.ru Group решили собрать и поделиться с вами некоторыми релизами на мобильных устройствах, которые выпустили за 2020 год “на удаленке”
Читайте в статье, пишите в комментарии какие крупные мобильные релизы вам запомнились в прошлом году?
Хабр
Дайджест релизов мобильной разработки Mail.ru Group за время пандемии
В прошлом году мы дружно перешли на удалёнку и стали экспериментировать и приспосабливаться к новым условиям. Результаты нас порадовали, мы не сбавили частоту ре...
Используем FFmpeg на Android: сжатие и редактирование видео, работа с картинками и gif.
https://medium.com/simform-engineering/multimedia-operations-for-android-using-ffmpeg-78f1fb480a83
https://medium.com/simform-engineering/multimedia-operations-for-android-using-ffmpeg-78f1fb480a83
Medium
Multimedia Operations for Android using FFmpeg
FFmpeg is a free and open-source software project consisting of a large suite of libraries and programs for handling video, audio, and…
В Kotlin есть встроенный класс Result, который пока не очень удобно используем. Реализуем свой более удобный аналог. Казалось бы, при чем тут монады.
https://gtheocharis.medium.com/and-the-result-is-a-monad-cd773b9a2dfb
https://gtheocharis.medium.com/and-the-result-is-a-monad-cd773b9a2dfb
Medium
And the Result is a monad
Adding superpowers to a custom type
Сложно не согласиться, что чем больше проверок мы перекладываем на компилятор, тем лучше. Автор статьи подумал также и сделал тип NonEmptyList для явного обозначения непустых списков.
https://quickbirdstudios.com/blog/non-empty-lists-kotlin/
https://quickbirdstudios.com/blog/non-empty-lists-kotlin/
QuickBird Studios
Non-Empty Lists in Kotlin
No-one likes to open an empty box! We use non-empty lists and collections in Kotlin to avoid such unpleasant surprises by design.
Большой гайд по null безопасности в Kotlin. По большей степени, будет полезно новичкам.
https://typealias.com/start/kotlin-nulls/
https://typealias.com/start/kotlin-nulls/
Dave Leeds on Kotlin
Nulls and Null Safety
In Kotlin, null safety is a first-class concept. In this chapter, we'll learn all about nulls, including how to manage them with tools like smart casts, elvis operators, safe-call operators, and more.
Осталось всего несколько дней, чтобы проголосовать в ежегодном опросе про состояние отечественного рынка мобильной разработки. Поднажмите – пройдите сами, пошарьте своей команде, закиньте в чатики, в которых сидите. Больше ответов – круче общий обзор!
⏰ Время на прохождение – 3 минуты, ссылка – тут.
⏰ Время на прохождение – 3 минуты, ссылка – тут.
Google Docs
Исследование российских команд мобильной разработки, 2021
Ежегодный опрос про состояние отечественного рынка мобильной разработки. Когда отвечаете на вопросы, старайтесь учитывать впечатления, полученные за весь прошедший 2020 год.
Задать вопросы можно в Telegram: @etolstoy
Отчет за 2020: https://etolstoy.com/mobile…
Задать вопросы можно в Telegram: @etolstoy
Отчет за 2020: https://etolstoy.com/mobile…