Разбираемся с областями видимости в Kotlin. Будет полезно для тех, у кого многомодульные проекты или кто пишет свои библиотеки.
https://zsmb.co/mastering-api-visibility-in-kotlin/
https://zsmb.co/mastering-api-visibility-in-kotlin/
zsmb.co
Mastering API Visibility in Kotlin
When designing a library, minimizing your API surface - the types, methods, properties, and functions you expose to the outside world - is a great idea. This doesn't apply to just libraries: it's a consideration you should make for every module in a multi…
Уже в эту среду состоится MobiFest Android Meetup 💥
☝️В программе:
- Севастьян Жуков, Android-разработчик, ЦФТ «Rebase Queue. Экспресс-доставка пул реквестов»
- Денис Александров, Leading software Engineer, Arcadia «Coroutines 1.4 в Android практике»
- Дмитрий Пермяков, Android-разработчик, Revolut «Декларативный UI на Android уже сегодня»
❗️Самое время зарегистрироваться: https://team.cft.ru/events/187
⏰ Встречаемся 18 ноября в 15:00 по московскому времени
☝️В программе:
- Севастьян Жуков, Android-разработчик, ЦФТ «Rebase Queue. Экспресс-доставка пул реквестов»
- Денис Александров, Leading software Engineer, Arcadia «Coroutines 1.4 в Android практике»
- Дмитрий Пермяков, Android-разработчик, Revolut «Декларативный UI на Android уже сегодня»
❗️Самое время зарегистрироваться: https://team.cft.ru/events/187
⏰ Встречаемся 18 ноября в 15:00 по московскому времени
Open Source библиотеки — это всегда хорошо, однако не всегда есть возможность поделится кодом с остальным миром (например из-за NDA). В таком случае может пригодиться приватный Maven репозиторий. В статье инструкция по созданию подобного на GitLab.
https://proandroiddev.com/creating-a-private-maven-repository-for-android-libraries-on-gitlab-91137c402777
https://proandroiddev.com/creating-a-private-maven-repository-for-android-libraries-on-gitlab-91137c402777
Medium
Creating a Private Maven Repository for Android Libraries on GitLab
Creating open-source Android libraries benefits for both library owner and the other developers. A code written by a developer can save…
Запускаем Android Studio на любом устройстве с помощью JetBrains Projector. Теперь разрабатывать мобильные приложения можно даже на телевизоре.
https://joenrv.medium.com/how-to-run-android-studio-on-any-device-with-jetbrains-projector-3d9d23a8c179
https://joenrv.medium.com/how-to-run-android-studio-on-any-device-with-jetbrains-projector-3d9d23a8c179
Medium
How to Run Android Studio on ANY Device With JetBrains Projector
Android development is extremely resource intensive. What if I told you that you can code from any device, regardless of its specs?
Сборник ссылок на исходный код всего, так или иначе связанного с Android разработкой. Теперь всегда можно быстро освежить в памяти 30 тысяч строчек View.java.
https://androidsrc.dev/
https://androidsrc.dev/
androidsrc.dev
Welcome 👋
Find Android sources
Совсем скоро, 23 ноября стартует 4 сезон Podlodka Teamlead Crew!
Если вы когда-нибудь задумывались о том, чтобы двигаться в сторону тимлидства, или уже лидите команду, Podlodka Teamlead Crew – отличный вариант перенять кучу опыта у матерых тимлидов из разных компаний.
Традиционно конференция пройдет в формате двухнедельного интенсива, и вот чему будут посвящены недели четвертого сезона:
📈 1-ая неделя "Рост и оценка сотрудников" – про тонкости того, как растить сотрудников и как объективно понимать уровень команды. Даже если вы не планируете заниматься ростом команды, сессии этой недели помогут понять, что происходит в голове руководителя и, как следствие, более грамотно построить свою карьеру. Примеры:
- Доклад "Как растить и оценивать людей, которые уже сильнее тебя" с Евгением Котом
- Разбор Performance Review в разных компаниях: Яндекс, Booking, Mail.ru
- Рулетка кейсов по наставничеству и росту (в первую очередь разбираем кейсы участников сезона!)
- Доклад "Делегирование как инструмент роста" с Алексеем Шаграевым
- И многое другое!
🛠 2-ая неделя "Как быть крутым техлидом" – про то как взрастить и поддерживать хорошую инженерную культуру и какие практики обязательно стоит внедрить в команду.
- Воркшоп "Как продавать техдолг" с Полиной Зоновой
- Доклад "Как техлиду создать команду техлидов" с Виктором Фабриченко
- Разбор инструмента "Postmortem"
- Доклад "Техлид vs Legacy" c Дмитрием Симоновым
Отличные эксперты, плотное общение со спикерами и другими участниками на сессиях и в слаке, рулетка управленческих кейсов – в общем, скучно не будет!
Полное расписание и билеты уже на сайте, ждем вас!
Если вы когда-нибудь задумывались о том, чтобы двигаться в сторону тимлидства, или уже лидите команду, Podlodka Teamlead Crew – отличный вариант перенять кучу опыта у матерых тимлидов из разных компаний.
Традиционно конференция пройдет в формате двухнедельного интенсива, и вот чему будут посвящены недели четвертого сезона:
📈 1-ая неделя "Рост и оценка сотрудников" – про тонкости того, как растить сотрудников и как объективно понимать уровень команды. Даже если вы не планируете заниматься ростом команды, сессии этой недели помогут понять, что происходит в голове руководителя и, как следствие, более грамотно построить свою карьеру. Примеры:
- Доклад "Как растить и оценивать людей, которые уже сильнее тебя" с Евгением Котом
- Разбор Performance Review в разных компаниях: Яндекс, Booking, Mail.ru
- Рулетка кейсов по наставничеству и росту (в первую очередь разбираем кейсы участников сезона!)
- Доклад "Делегирование как инструмент роста" с Алексеем Шаграевым
- И многое другое!
🛠 2-ая неделя "Как быть крутым техлидом" – про то как взрастить и поддерживать хорошую инженерную культуру и какие практики обязательно стоит внедрить в команду.
- Воркшоп "Как продавать техдолг" с Полиной Зоновой
- Доклад "Как техлиду создать команду техлидов" с Виктором Фабриченко
- Разбор инструмента "Postmortem"
- Доклад "Техлид vs Legacy" c Дмитрием Симоновым
Отличные эксперты, плотное общение со спикерами и другими участниками на сессиях и в слаке, рулетка управленческих кейсов – в общем, скучно не будет!
Полное расписание и билеты уже на сайте, ждем вас!
podlodka.io
Онлайн-конференция Podlodka Teamlead Crew, сезон #14
Недельное мероприятие от команды Podlodka: ежедневные интерактивные сессии в Zoom по актуальным проблемам тимлидства, нон-стоп общение с экспертами и звёздами индустрии, закрытое профессиональное сообщество в Telegram.
Цикл статей для разработчиков библиотек. В этой серии разбирается правильная работа с зависимостями.
https://jeroenmols.com/blog/2020/11/11/library-dependencies/
https://jeroenmols.com/blog/2020/11/11/library-dependencies/
Jeroen Mols
Android library development - Dependencies
Ever had a build failure while integrating an SDK? Wonder how you can avoid your SDK customers having dependency conflicts? How many transitive dependencies should your SDK have?
Вспоминаем стандартные делегаты в Kotlin. В этой статье вы узнаете почему стоит использовать LazyThreadSafetyMode.NONE c lazy в большинстве случаев.
https://medium.com/androiddevelopers/built-in-delegates-4811947e781f
https://medium.com/androiddevelopers/built-in-delegates-4811947e781f
Medium
Built-in Delegates
Kotlin Vocabulary: Delegates part 2
Новая библиотека от Джейка Вортона для проверки, что when покрывает все случаи. Главное теперь не забыть указать правильную аннотацию.
https://github.com/cashapp/exhaustive
https://github.com/cashapp/exhaustive
GitHub
GitHub - cashapp/exhaustive: An annotation and Kotlin compiler plugin for enforcing a when statement is exhaustive
An annotation and Kotlin compiler plugin for enforcing a when statement is exhaustive - cashapp/exhaustive
Trello делится своей стратегий по работе с Git, призванной решить проблему с исправлением багов в релизах.
https://blog.danlew.net/2020/11/11/trello-androids-git-branching-strategy/
https://blog.danlew.net/2020/11/11/trello-androids-git-branching-strategy/
Dan Lew Codes
Trello Android's Git Branching Strategy
Many years ago, Trello Android used a fairly simple git branching strategy - or
so we thought at the time.
We would develop entirely off main using pull requests. main was intended to be
releasable at all times, though we would occasionally create a release/x.y.z…
so we thought at the time.
We would develop entirely off main using pull requests. main was intended to be
releasable at all times, though we would occasionally create a release/x.y.z…
Шпаргалка по опциям JVM. Увеличиваем ограничение памяти без смс, включаем и выключаем ассерты и многое другое.
https://dev.to/mpeng3/matt-s-tidbits-84-jvm-options-explained-5d9g
https://dev.to/mpeng3/matt-s-tidbits-84-jvm-options-explained-5d9g
DEV Community
Matt's Tidbits #84 - JVM Options, explained
Last time I wrote about some strange unit test failures. This week I’d like to explain some of the JV...
Инструкция по созданию красивого онбординга с анимациями от Lottie, ViewPager2 и компонентами для навигации.
https://dev.to/kulloveth/android-animation-onboarding-screen-with-lottie-animation-navigation-component-and-viewpager2-1dhb
https://dev.to/kulloveth/android-animation-onboarding-screen-with-lottie-animation-navigation-component-and-viewpager2-1dhb
DEV Community
Android Animation in Kotlin: Onboarding screen with Lottie Animation, Navigation Component and ViewPager2
Animation in android is a way to make your app lively while passing information to the user. There ar...
Приглашаем на онлайн-хакатон по Flutter Liga Stavok Flutterthon
🧩 Основная задача: создать систему виджетов спортивных событий, которые будут отображать статистику, как текущую, так и изменяющуюся в режиме реального времени.
Тебя ждет:
— интересная задача
— 5 дней для работы в максимально комфортных условиях
— знакомства и работа с экспертами
— призовой фонд 160 000 рублей
— возможность трудоустройства
— крутой мерч
📱 К участию приглашаются Flutter-разработчики, UI/UX-дизайнеры, аналитики.
Присоединяйтесь, если у вас есть любой коммерческий опыт в мобильной разработке и желание развиваться во Flutter.
Покажи всему Flutter-комьюнити России, на что ты способен!
Регистрация до 25 ноября: Зарегистрироваться
🧩 Основная задача: создать систему виджетов спортивных событий, которые будут отображать статистику, как текущую, так и изменяющуюся в режиме реального времени.
Тебя ждет:
— интересная задача
— 5 дней для работы в максимально комфортных условиях
— знакомства и работа с экспертами
— призовой фонд 160 000 рублей
— возможность трудоустройства
— крутой мерч
📱 К участию приглашаются Flutter-разработчики, UI/UX-дизайнеры, аналитики.
Присоединяйтесь, если у вас есть любой коммерческий опыт в мобильной разработке и желание развиваться во Flutter.
Покажи всему Flutter-комьюнити России, на что ты способен!
Регистрация до 25 ноября: Зарегистрироваться
Flutterthon
Вступай в команду Flutter «Лиги Ставок»
В Android 11 Google переделала API для Bubble Notification, а также сделала их доступными не только разработчикам. В статье описание, как встроить подобные уведомления в своё приложение.
https://proandroiddev.com/uncovering-the-bubbles-api-c28ce69ec457
https://proandroiddev.com/uncovering-the-bubbles-api-c28ce69ec457
Medium
Uncovering the Bubbles API
Bubbles were created to provide the user a simple and easy way to participate in conversations.
Если вам когда либо было необходимо сделать View чёрно-белой, то эта статья для вас.
https://proandroiddev.com/the-easiest-way-to-toggle-complete-layout-to-grayscale-on-android-fa86ac0a754
https://proandroiddev.com/the-easiest-way-to-toggle-complete-layout-to-grayscale-on-android-fa86ac0a754
Medium
The easiest way to toggle complete layout to grayscale on Android
Low effort and scalable at the same time!
Помогаем компилятору лучше понимать наш код с помощью контрактов в Kotlin.
https://proandroiddev.com/how-to-make-the-compiler-smarter-b37f414875ac
https://proandroiddev.com/how-to-make-the-compiler-smarter-b37f414875ac
Medium
How to Make the Compiler Smarter
Add effects to your functions with Kotlin Contracts
Серия статей, посвященная внутреннему устройству Binder в Android. Хороший повод, чтобы подробно изучить детали межпроцессного взаимодействия.
https://proandroiddev.com/binders-in-android-part-ii-reference-counting-death-recipients-19d55c8356c3
https://proandroiddev.com/binders-in-android-part-ii-reference-counting-death-recipients-19d55c8356c3
Medium
Binders In Android (part II): Reference Counting & Death Recipients
This is the second part of multi-part series about Binders in Android. It is highly recommended to read part-I (if you haven’t already)…
Скорее всего, читая исходный код View.java, вы встречали, что во многих местах вместо enum используется Int с аннотациями @IntDef. В статье рассказываться откуда это взялось и для чего используется.
https://medium.com/default-to-open/android-then-and-now-intro-intdef-enums-bca22d5cca56
https://medium.com/default-to-open/android-then-and-now-intro-intdef-enums-bca22d5cca56
Medium
Android Then and Now: Intro, @IntDef & Enums
Android Development has changed a lot over the years. Let’s look back at how things were, and explore what’s changed! Today: Enums.
В Android нет системного API для определения того, что пользователь сделал скриншот приложения, однако с помощью различных приемов это все таки можно сделать. Инструкция в статье.
https://proandroiddev.com/detect-screenshots-in-android-7bc4343ddce1
https://proandroiddev.com/detect-screenshots-in-android-7bc4343ddce1
Medium
Detect Screenshots in Android
Recently I was figuring out ways to detect screenshots in Android. It turns out there is no official API to do that but there are…
Переходим с LiveData на StateFlow и SharedFlow, которые стали доступны в новой версии kotlinx.coroutines 1.4.0.
https://proandroiddev.com/should-we-choose-kotlins-stateflow-or-sharedflow-to-substitute-for-android-s-livedata-2d69f2bd6fa5
https://proandroiddev.com/should-we-choose-kotlins-stateflow-or-sharedflow-to-substitute-for-android-s-livedata-2d69f2bd6fa5
Medium
Substituting Android's LiveData: StateFlow or SharedFlow?
Kotlin Coroutines recently introduced two Flow types, SharedFlow and StateFlow, and Android's community started wondering about…