Size: a a a

Android Architecture

2020 October 09

КР

Кирилл Романенко... in Android Architecture
Quantum Harmonizer
Спасибо! Пошёл смотреть ваши РИБы.

> We have to use lateinit var
А я предпочитаю свойства с кастомным геттером.

> We can’t pass different implementations of the UserRepository.
О да, решением именно этой проблемы я занимался во Flawless.
> А я предпочитаю свойства с кастомным геттером

Как круто ты завуалировал "а я предпочитаю не использовать lateinit var".😄
источник

QH

Quantum Harmonizer in Android Architecture
Кирилл Романенко
> А я предпочитаю свойства с кастомным геттером

Как круто ты завуалировал "а я предпочитаю не использовать lateinit var".😄
Не использовать можно по-разному:
* nullable var with backing field
* val/var with backing field
* val/var with backing field and custom get/set
* val/var with custom get/set
Я имел в виду именно последний вариант.
источник

QH

Quantum Harmonizer in Android Architecture
Ещё заделегировать можно — один из лучших вариантов, кстати
источник

AI

Arkadii Ivanov in Android Architecture
Quantum Harmonizer
> private val button: Button by lazy { findViewById<Button>(R.id.hello_world_button) }
Бооооль, нельзя такой код людям показывать)
Это где так?
источник

с#

саша сок #KotlinGang... in Android Architecture
Quantum Harmonizer
Спасибо! Пошёл смотреть ваши РИБы.

> We have to use lateinit var
А я предпочитаю свойства с кастомным геттером.

> We can’t pass different implementations of the UserRepository.
О да, решением именно этой проблемы я занимался во Flawless.
> А я предпочитаю свойства с кастомным геттером.

почему не lazy ?
источник

с#

саша сок #KotlinGang... in Android Architecture
саша сок #KotlinGang
> А я предпочитаю свойства с кастомным геттером.

почему не lazy ?
хотя это тоже своего рода кастомный геттер, но я так понял имеется ввиду

val a get() = ...
источник

VU

Vadim Uzbekov in Android Architecture
саша сок #KotlinGang
> А я предпочитаю свойства с кастомным геттером.

почему не lazy ?
А зачем? Вы видели, сколько кода автоматически генерируется при использовании by lazy?
источник

D

Dmitry in Android Architecture
Ой, уже никто не обращает внимания на то кто что генерит, после даггера тем более
источник

с#

саша сок #KotlinGang... in Android Architecture
Vadim Uzbekov
А зачем? Вы видели, сколько кода автоматически генерируется при использовании by lazy?
там ничего не генерится, это ж не inline. ну а так обычный thread-safe lazy getter, там всё нормально и работает быстро
источник

AK

Alexander Kobozev in Android Architecture
Dmitry
Ой, уже никто не обращает внимания на то кто что генерит, после даггера тем более
что-то аж грустно стало
источник

RK

Ruslan Kim in Android Architecture
что за кондуктор, стесняюсь спросить
источник

ES

Egor Sigolaev in Android Architecture
Ruslan Kim
что за кондуктор, стесняюсь спросить
Либа для навигации
источник

P

Pavel in Android Architecture
@ArkaNN1985
Аркадий, можете пояснить как соотносятся RIBs с clean architecture, MVI (в частности, MVIKotlin) или другими MVx?
RIBs предполагается использовать вместо MVx или они дополняют друг друга? Или RIBs идёт как замена clean?
источник

QH

Quantum Harmonizer in Android Architecture
Arkadii Ivanov
Это где так?
источник

QH

Quantum Harmonizer in Android Architecture
саша сок #KotlinGang
там ничего не генерится, это ж не inline. ну а так обычный thread-safe lazy getter, там всё нормально и работает быстро
декомпилируй хотя бы ради интереса, что ли
источник

A

ABI in Android Architecture
Dmitry
Ой, уже никто не обращает внимания на то кто что генерит, после даггера тем более
то ж самое я слышал лет 25 назад... когда с asm на  С/С++ переходили люди )
для винды было несколько сред разработки... так вот Борландовский особенную боль вызывал...
источник

KD

Konstantin Dovnar in Android Architecture
Что я пропустил? Чем уже lazy людям не нравится?
источник

QH

Quantum Harmonizer in Android Architecture
Konstantin Dovnar
Что я пропустил? Чем уже lazy людям не нравится?
lazy — отличная штука. Всё нравится, только руки прямые надо.
источник

KD

Konstantin Dovnar in Android Architecture
Quantum Harmonizer
lazy — отличная штука. Всё нравится, только руки прямые надо.
Они, к счастью, нигде лишними не будут:)
Но мне интересен именно кейс с findViewById. Что с ним не так?
источник

AI

Arkadii Ivanov in Android Architecture
Pavel
@ArkaNN1985
Аркадий, можете пояснить как соотносятся RIBs с clean architecture, MVI (в частности, MVIKotlin) или другими MVx?
RIBs предполагается использовать вместо MVx или они дополняют друг друга? Или RIBs идёт как замена clean?
RIBs это замена фрагментам, по сути. Навигация с нормальным DI, разделение когда на чёрные ящики. А внутри можно использовать что угодно, например MVI.
источник