Kotlin Adept Notes

Description
Канал о разработке на Kotlin и обо всем, что с ним связано
По всем вопросам и рекламе: @ajiekcx
Advertising
We recommend to visit

Официальный новостной канал криптобиржи OKX | www.okx.com на русском языке.

💬 Комьюнити: t.me/okx_russian

👨‍💻 Поддержка: [email protected]

АДМИН: @DaniiOKX
Маркетинг: @CoffeeTrends

Last updated 4 days, 10 hours ago

Здесь простым языком про TON, DFC и крипту.

Принимаем автоматически.
Ссылка для друзей: https://t.me/+-EOfWx2pRKhmNGE6
Связь: @deftalk_bot

Last updated 2 months, 1 week ago

Реклама: @kingygmads / Платформа: ton.org.in
Чат: t.me/+QzoGJS7ktps1NOzh
Приватный канал: t.me/investkingyru/417
Помощь: @tonorgin_bot
EN: @investkingyru_en

Last updated 4 months, 1 week ago

1 день, 15 часов назад
Мы в команде недавно подняли свой …

Мы в команде недавно подняли свой сервис автоматизации на Kotlin и реализовали там много всяких полезных штук:

🟣 Интеграция YouTrack и GitLab для автоматического перевода тасок в актуальное состояние и заполнения данных
🟣 Напоминание о забытых ревью
🟣 Уведомления о релизах
🟣 И другие полезные мелочи

🔖 Подробнее о наших процессах и как мы делали такой сервер читайте в статье.

〰️ И пишите в комментарии какие must have автоматизации есть в ваших процессах

#Kotlin #Ktor #Server
@kotlin_adept

5 дней, 15 часов назад

Начинаем через 10 минут

6 дней, 23 часа назад
1 неделя, 1 день назад
1 неделя, 4 дня назад
*****⚡️*** Новость для тех, кто пишет …

*⚡️ Новость для тех, кто пишет на React Native*

Теперь можно присоединиться к разработчикам iOS, Android, Unity и Flutter, которые повышают доход от рекламы с помощью Яндекса. Вот почему советую эту рекламную сеть:

Удобство
👉Простая интеграция рекламного SDK, техподдержка 24/7 и регулярные выплаты.

База рекламодателей
👉 Можно показывать объявления от 300 000 прямых рекламодателей Яндекса и 60+ сторонних источников рекламы.

Лучшие предложения
👉 Платформа медиации Яндекса показывает самую выгодную цену за рекламу позволяя подключить до 15 рекламных сетей.

К РСЯ уже подключены более 15 000 приложений, чьи разработчики зарабатывают на рекламе. Узнать больше и стать одним из них можно по ссылке.

1 неделя, 5 дней назад
***🎥*** Рад анонсировать первый онлайн-митап на …

🎥 Рад анонсировать первый онлайн-митап на этом канале, в программе будут два доклада:

🔸 Данил Колесников покажет концептуально новый подход к навигации, где есть всего две команды: open и close. И расскажет о том, как это работает на основе декларации иерархии экранов, алгоритмам поиска в деревьях, а также Decompose.

🔸 Алексей Панов расскажет про отличия двух декларативных UI-фреймворков: Compose и SwiftUI, разберет как они устроены под капотом и сравнит основные концепции.

📍 Стрим будет проходить в Толке, а также параллельно в этом telegram-канале. Лучше подключаться через Толк, так как можно будет задать вопросы спикерам в прямом эфире.

🗓 Начинаем 7 ноября в 19:00 мск.

Прийти на стрим могут все желающие, записи стрима не будет, так что не пропустите!

3 недели назад

Обзор Mobius 2024 Autumn

Давайте уже по традиции сделаем обзор докладов с прошедшего Mobius, напишу свой личный топ докладов, которые удалось посмотреть:

Последнее слово в Android-навигации
🔵Отличная подача и повествование, очень красивая и проработанная презентация, интересный подход к навигации, чтобы свести ее к вызову двух методов open/close и уменьшить бойлерплейт.
🔸Однако не факт, что такой подход подойдет именно вам, у него есть свои ограничения и очень не хватило реального примера, где все это можно опробовать.

Совместная работа Kotlin/Native GC и ARC в iOS
🔵Хороший, а главное понятный доклад, чтобы узнать каким образом происходит интероп между двумя моделями памяти в Swift и Kotlin Native, в каких случаях в игру будет вступать ARC, а когда Kotlin Native GC
🔸Доклад безусловно хорош для общего развития, но вряд ли вам эти знания пригодятся на практике.

Танцы вокруг дерева семантики
🔵Интересный доклад про проблемы UI-тестирования в Compose и недостатки API в Kakao/Kaspresso, а также о том, как эти недостатки можно исправить.
🔸Для людей незнакомых с UI-тестированием в Compose может быть сложен для восприятия.

Опасности в Android: уязвимости и защитные меры
🔵Хороший обзор частых уязвимостей в Android и как от них защититься, что-то я уже знал, с чем-то сталкивался на практике, а что-то было в новинку.
🔸Но большинство уязвимостей неактуальны на новых API и если нельзя открыть произвольный URL в приложении.

Как проводить собеседования интересно и продуктивно
🔵Классный доклад о том, как превратить собеседование из экзамена в живое общение, а также возможность вспомнить о чем спрашивают на большинстве собеседований и сделать пометки, что еще стоит подучить.
🔸В целом уже не новый подход, мы у себя в компании уже давно стараемся проводить собеседования в формате диалога без заготовленного списка вопросов, но заместо кучи этапов сжали все это в одно собеседование.

🫠 На этом все, если хотите, чтобы я написал выжимку каких-либо докладов в посте, пишите в комментарии интересующий доклад ⬇️

#Mobius
@kotlin_adept

1 месяц назад
1 месяц, 1 неделя назад

Коллега из Контура, Василий Рылов, поделился архитектурным примером KMP проекта 🔥

В репозитории вы найдете пример приложения построенного по следующим принципам:

🟣Каждая фича представлена группой модулей: feature-component, feature-domain, feature-ui и feature-data
🟣Комбинация FSM-based MVI и MVVM+ подхода с простой небиблиотечной ViewModel
🟣Навигация абстрагирована от Decompose, Decompose компоненты выделены в собственные модули
🟣Многомодульный DI, каждый модуль может использовать собственную реализацию DI

В примере использованы библиотеки:
🔵Multiplatform Room
🔵Multiplatform Settings
🔵Decompose
🔵Compose Multiplatform
🔵Варианты с Kotlin-inject и Koin DI

#KMP #Decompose #Sample
@kotlin_adept

4 месяца, 3 недели назад

Бессмертное приложение

Продолжим разбирать доклады с предыдущего Mobius. И сегодня поговорим о том, как пережить force stop и запустить приложение после его установки из стора без действий пользователя.

Мы знаем, что если пользователь принудительно остановит в настройках приложение, то без повторного его открытия все фоновые операции будут недоступны, в том числе и пуши. Но эту проблему можно частично решить, для этого нам понадобится ContactsProvider и Account Synchronization.

  1. Регистрируем в манифесте provider с метадатой ContactDirectory. Тогда при открытии приложения "Контакты" ContactsProvider опросит всех, у кого есть эта метадата, соответственно поднимется наш провайдер и вызовется метод onCreate у Application даже без первичного запуска приложения.

```

android:name="android.content.ContactDirectory"
android:value="true" />

```

  1. Далее мы можем зарегистрировать свой SyncAdaper для синхронизации аккаунтов, он может не иметь никакой логики, главное включить автоматический и периодичный синк. Тогда система сможет при синхронизации аккаунтов сама пробудить процесс даже после force stop!

Но согласитесь, это же не бессмертие, а больше похоже на некромантию? Убиваем и воскрешаем процесс через какое-то время ?

Однако есть способ по-настоящему пережить force stop, правда работает он не гарантировано и ни в каких продакшн приложениях лучше его не использовать ⚠️

Суть в том, что у системы есть 40 попыток, чтобы убить процесс с периодичностью 5мс, и если мы будем за это время создавать новые процессы, то система в теории просто сдастся. То есть процессы будут поднимать друг друга пока не пройдет достаточно времени, чтобы система оставила их в покое. Посмотреть на это безумие можно в репозитории.

Всем разработчикам долгоживущих приложений, а пользователям соболезнования по поводу батарейки в их смартфонах ?

#Android #UnderTheHood

We recommend to visit

Официальный новостной канал криптобиржи OKX | www.okx.com на русском языке.

💬 Комьюнити: t.me/okx_russian

👨‍💻 Поддержка: [email protected]

АДМИН: @DaniiOKX
Маркетинг: @CoffeeTrends

Last updated 4 days, 10 hours ago

Здесь простым языком про TON, DFC и крипту.

Принимаем автоматически.
Ссылка для друзей: https://t.me/+-EOfWx2pRKhmNGE6
Связь: @deftalk_bot

Last updated 2 months, 1 week ago

Реклама: @kingygmads / Платформа: ton.org.in
Чат: t.me/+QzoGJS7ktps1NOzh
Приватный канал: t.me/investkingyru/417
Помощь: @tonorgin_bot
EN: @investkingyru_en

Last updated 4 months, 1 week ago