Привет! 🙂
В Туту.ру есть 3 новые команды, которые готовы взять на борт мобильных разработчиков.
Что предлагают?
👉 Продукт, который помогает путешествовать 8 миллионам человек
👉 Мечта разработчика – где-то свежайший код (еще не вышло из под A/B), где-то надо писать с нуля
👉 Сильная команда, iOS/Android гильдии и много общения
И на этом плюсы не закончились:
С 15 по 25 июня ребята проводят традиционный ивент «Оффер за один день», только в этот раз лучше – все собеседования можно будет пройти за 3 часа удаленно из любой точки мира, а вечером в случае успеха получить оффер.
Чтобы включиться в эту историю заходи на страницу https://cutt.ly/5nEXL8s, заполняй анкету и отправляй ребятам до 15 июня.
В Туту.ру есть 3 новые команды, которые готовы взять на борт мобильных разработчиков.
Что предлагают?
👉 Продукт, который помогает путешествовать 8 миллионам человек
👉 Мечта разработчика – где-то свежайший код (еще не вышло из под A/B), где-то надо писать с нуля
👉 Сильная команда, iOS/Android гильдии и много общения
И на этом плюсы не закончились:
С 15 по 25 июня ребята проводят традиционный ивент «Оффер за один день», только в этот раз лучше – все собеседования можно будет пройти за 3 часа удаленно из любой точки мира, а вечером в случае успеха получить оффер.
Чтобы включиться в эту историю заходи на страницу https://cutt.ly/5nEXL8s, заполняй анкету и отправляй ребятам до 15 июня.
Начиная с Kotlin Coroutines версии 1.5.0, вместо BroadcastChannel, помеченного теперь аннотацией ObsoleteCoroutinesApi, рекомендуется использовать MutableSharedFlow. В статье описаны подводные камни, которые могут встретиться при миграции.
https://itnext.io/mutablesharedflow-is-kind-of-complicated-61af68011eae
https://itnext.io/mutablesharedflow-is-kind-of-complicated-61af68011eae
Medium
MutableSharedFlow is kind of complicated
About dropped events, replay and extraBufferCapacity and other pitfalls when using MutableSharedFlow.
Продолжение серии статей про управление состояниями в Jetpack Compose. В этой части погружаемся в принципы работы системы "снимков" состояний.
https://dev.to/zachklipp/introduction-to-the-compose-snapshot-system-19cn
https://dev.to/zachklipp/introduction-to-the-compose-snapshot-system-19cn
DEV Community
Introduction to the Compose Snapshot system
This post has moved to blog.zachklipp.com. Jetpack Compose introduces a novel way to handle...
С появлением Fragment Result API в полку способов передачи данных между экранами прибыло. Разбираемся в деталях работы нового подхода: какой FragmentManager выбрать и как происходит работа с жизненным циклом.
https://medium.com/e-legion/getting-the-result-right-part-2-fragment-result-api-1a17f99490dc
https://medium.com/e-legion/getting-the-result-right-part-2-fragment-result-api-1a17f99490dc
Medium
The right way to get a result. Part 2. Fragment Result API
We continue the story about the Jetpack library’s latest updates that are designed to simplify data exchange between different parts of…
Гайд по монетизации мобильных приложений: планирование монетизации, обзор популярных стратегий и советы по их внедрению.
https://dev.to/krowser/mobile-app-monetization-an-essential-guide-31f5
https://dev.to/krowser/mobile-app-monetization-an-essential-guide-31f5
DEV Community
Mobile App Monetization: An Essential Guide
Mobile app monetization is a must for most of today’s mobile apps. Given the sheer size of the mobile...
Разбираемся, в каких случаях нам может понадобиться написать final val.
https://proandroiddev.com/the-modifier-that-shouldnt-be-there-77ff941f0529
https://proandroiddev.com/the-modifier-that-shouldnt-be-there-77ff941f0529
Medium
The Kotlin modifier that shouldn't be there
Most Kotlin developers would agree that a val property is equivalent to a final property in Java. What if I tell you that this “depends”?
Большая шпаргалка про сервисы в Android: для чего и как использовать, foreground и background сервисы, bound сервисы на примере сервиса для воспроизведения медиафайлов.
https://www.raywenderlich.com/20123726-android-services-getting-started
https://www.raywenderlich.com/20123726-android-services-getting-started
kodeco.com
Android Services: Getting Started
Learn about Android Services and the differences between foreground, background and bound services.
Использовуем Jetpack Navigation для реализации навигации в Dynamic Feature модулях.
https://medium.com/androiddevelopers/navigation-in-feature-modules-322ac3d79334
https://medium.com/androiddevelopers/navigation-in-feature-modules-322ac3d79334
Medium
Navigation in Feature Modules
Welcome to the another article in the second MAD Skills series on Navigation! If you prefer this content in video form, here is something…
Инструкция по созданию Gradle плагинов: кастомные задачи от Hello World до взаимодействия с файлами проекта и различные способы упаковки и публикации плагинов.
https://www.raywenderlich.com/22198417-gradle-plugin-tutorial-for-android-getting-started
https://www.raywenderlich.com/22198417-gradle-plugin-tutorial-for-android-getting-started
kodeco.com
Gradle Plugin Tutorial for Android: Getting Started
Learn how to create a Gradle plugin within your existing Android app, or as a standalone project that you can publish and use in any Android project.
API фрагментов продолжает улучшаться. В новых версиях библиотек AndroidX Fragment и Navigation добавят поддержку множественных back stack.
https://medium.com/androiddevelopers/multiple-back-stacks-b714d974f134
https://medium.com/androiddevelopers/multiple-back-stacks-b714d974f134
Medium
Multiple back stacks
A deep dive into what actually went into bring this feature to Fragments and Jetpack Navigation
Список с бесконечным скроллом или пагинацией - один из наиболее частых компонентов приложений. Смотрим, как реализовать подобный на Jetpack Compose.
https://dev.to/luismierez/infinite-lazycolumn-in-jetpack-compose-44a4
https://dev.to/luismierez/infinite-lazycolumn-in-jetpack-compose-44a4
DEV Community
Infinite LazyColumn in Jetpack Compose
Displaying a list of content is one of the most common things that we are required to add to our apps...
Изменения в модуле buildSrc приводят к пересборке всего проекта, из-за чего его неудобно использовать для хранения списка версий зависимостей. В статье предлагается решать эту задачу через кастомный Gradle плагин и композитные сборки.
https://proandroiddev.com/dependencies-in-gradle-composite-build-7dca835a46a8
https://proandroiddev.com/dependencies-in-gradle-composite-build-7dca835a46a8
Medium
NOTE: As mentioned in a comment to this article, Gradle 7 offers version catalogs as incubating…
Dependencies in Gradle composite build
Избавляемся от однообразного кода и реализуем адаптеры для списков эффективно с DiffUtil и ListAdapter.
https://bignerdranch.com/blog/efficient-lists-with-diffutil-and-listadapter/
https://bignerdranch.com/blog/efficient-lists-with-diffutil-and-listadapter/
Big Nerd Ranch
Big Nerd Ranch | Digital Product Development Agency
Big Nerd Ranch is a web & mobile app development agency that offers expert training and services. Learn how we can help with your next digital product!
Решение задачи по отслеживанию геопозиции в приложении через Foreground Service, Room и Kotlin Flow.
https://barbeau.medium.com/room-kotlin-flow-the-modern-android-architecture-for-location-aware-apps-9c110e12e31a
https://barbeau.medium.com/room-kotlin-flow-the-modern-android-architecture-for-location-aware-apps-9c110e12e31a
Medium
Room + Kotlin Flow — The modern Android architecture for location-aware apps
The best approach for single source-of-truth location in your app in 2021
Автор статьи решил подойти к вопросу изучения Flow со стороны юнит тестов, подняв следующие темы: настройка тестов, холодные и горячие источники, стратегии трансформации одного вида к другому, настройки SharedFlow и StateFlow.
https://codingwithmohit.com/coroutines/learning-shared-and-state-flows-with-tests/
https://codingwithmohit.com/coroutines/learning-shared-and-state-flows-with-tests/
Coding with Mohit
Learning State & Shared Flows with Unit Tests
Learn about all of the features of State & Shared Flows.
Шпаргалка по обработке исключений в Kotlin Coroutines: как пробрасываются исключения, обработка исключений через CoroutineExceptionHandler, try-catch блоки, исключения в CoroutineScope и SupervisorScope.
https://www.ericthecoder.com/2021/06/07/error-handling-coroutines/
https://www.ericthecoder.com/2021/06/07/error-handling-coroutines/
Eric the Coder
Error Handling Coroutines | Eric the Coder
Error-handling with Coroutines has always been a confusing point for many developers, and that’s because...
5 июля старт Podlodka Soft Skills Crew – нашей новой конференции про софт-скиллы для инженеров!
🟢 Тема первой недели: Коммуникации
Во время неё узнаем, как общаться с другими людьми без стресса, даже если вы "интроверт". Обсудим принципы хорошей обратной связи руководству и коллегам. А ещё научимся распознавать манипуляции и защищаться от них.
🟢 Тема второй недели: Problem solving
Познакомимся с моделями мышления, научимся проходить поведенческие и проблемные интервью (типичные для FAANG). А также расширим своё видение и узнаем, как думают топ-менеджеры и предприниматели.
Подробности нашего свежего формата уже на сайте, смотри и успевай по скидке!🔥По традиции, она действует до конца недели.
🟢 Тема первой недели: Коммуникации
Во время неё узнаем, как общаться с другими людьми без стресса, даже если вы "интроверт". Обсудим принципы хорошей обратной связи руководству и коллегам. А ещё научимся распознавать манипуляции и защищаться от них.
🟢 Тема второй недели: Problem solving
Познакомимся с моделями мышления, научимся проходить поведенческие и проблемные интервью (типичные для FAANG). А также расширим своё видение и узнаем, как думают топ-менеджеры и предприниматели.
Подробности нашего свежего формата уже на сайте, смотри и успевай по скидке!🔥По традиции, она действует до конца недели.
podlodka.io
Онлайн-конференция Podlodka Soft Skills Crew, сезон #5
Недельное мероприятие от команды Podlodka: ежедневные интерактивные сессии в Zoom, нон-стоп общение с экспертами и звёздами индустрии, закрытое профессиональное сообщество в Telegram.
Всем привет!
Movavi проведет очередной, уже четвёртый по счету, внешний meetup для всех, кто интересуется мобильной разработкой.
Ребята хотят поделиться своими знаниями и кейсами, поэтому ждут каждого, кто занимается разработкой приложений под Android.
На собственном опыте:
- Дима расскажет об архетиктуре MVP на Kotlin Multiplatform Mobile
- Илья расскажет про корутины в действии на Kotlin Multiplatform Mobile
- Когда? 23.06 в 12:00 МСК (или 16:00 НСК)
- Сколько стоит? Бесплатно!
Регистрируйтесь здесь: https://movavi-event.timepad.ru/event/1675474/
Movavi проведет очередной, уже четвёртый по счету, внешний meetup для всех, кто интересуется мобильной разработкой.
Ребята хотят поделиться своими знаниями и кейсами, поэтому ждут каждого, кто занимается разработкой приложений под Android.
На собственном опыте:
- Дима расскажет об архетиктуре MVP на Kotlin Multiplatform Mobile
- Илья расскажет про корутины в действии на Kotlin Multiplatform Mobile
- Когда? 23.06 в 12:00 МСК (или 16:00 НСК)
- Сколько стоит? Бесплатно!
Регистрируйтесь здесь: https://movavi-event.timepad.ru/event/1675474/
movavi-event.timepad.ru
Movavi Mobile Meetup / События на TimePad.ru
Привет! Movavi проведет митап для всех, кто интересуется мобильной разработкой!
Мы хотим делиться знаниями, поэтому ждем каждого, кто занимается разработкой приложений под iOS и Android.
Когда: 23.06. в 16:00 по Новосибирскому времени (12:00 Москвы)
Мы хотим делиться знаниями, поэтому ждем каждого, кто занимается разработкой приложений под iOS и Android.
Когда: 23.06. в 16:00 по Новосибирскому времени (12:00 Москвы)
Вышел Kotlin 1.5.20!
- Экспериментальный интероп с Lombok
- String concatenation через invokedynamic
- Разные ускорения в Gradle
https://blog.jetbrains.com/kotlin/2021/06/kotlin-1-5-20-released/
- Экспериментальный интероп с Lombok
- String concatenation через invokedynamic
- Разные ускорения в Gradle
https://blog.jetbrains.com/kotlin/2021/06/kotlin-1-5-20-released/
The JetBrains Blog
Kotlin 1.5.20 Released! | The Kotlin Blog
Kotlin continues to stay up to date with latest Java features such as dynamic invocations and to provide better interoperability with Java by adding support for Java’s Lombok and JSpecify. We are also
App Actions позволяют Google Assistant выполнять определенные действия с вашим приложением. В статье приведена инструкция по интеграции App Actions: от создания до тестирования и публикации.
https://www.raywenderlich.com/21636122-app-actions-getting-started
https://www.raywenderlich.com/21636122-app-actions-getting-started
kodeco.com
App Actions: Getting Started
App Actions allow Google Assistant to access your app and launch specific actions within the app. This tutorial teaches you how to implement App Actions for your app so users can interact with your app directly through Google Assistant.