
Ivan
19.07.2016
18:38:16
и вы не поверите

Dmitry
19.07.2016
18:38:16
http://tech.vg.no/2015/07/17/android-databinding-goodbye-presenter-hello-viewmodel/

Ivan
19.07.2016
18:38:28
но например запрос на получение данных делают во вьюмоделе

Igor
19.07.2016
18:38:31
ужас :)

Google

Ivan
19.07.2016
18:38:36
и это считается вполне адекватной логикой

Dmitry
19.07.2016
18:38:39
+

Igor
19.07.2016
18:38:40
посыпаю голову пеплом и ставлю крес на MVVM жирный :)

Ivan
19.07.2016
18:38:45
просто потому,что где их еще делать то?)

Dmitry
19.07.2016
18:38:46
а вот контекст не считается

Igor
19.07.2016
18:38:56
биндингом мы где занимаемся? :)
вот там и делать

Ivan
19.07.2016
18:39:12
биндингом?

Dmitry
19.07.2016
18:39:25
мне вот интересно
почему тот сгенерированный класс
ViewDataBinding

Ivan
19.07.2016
18:39:43
у нас есть прекрасные Observable поля,которые делают за нас очень много скучной и ненужной работы

Dmitry
19.07.2016
18:39:46
который мы инфлейтим

Google

Ivan
19.07.2016
18:40:06
и с помощью databinding'ов и небольшого кол-ва особой уличной магии

Dmitry
19.07.2016
18:40:10
сука, заглатывает переменную-вьюмодель при помощи setVariable() - а обратно не отдает?
было бы удобно в момет нажатия, обратиться к этому волшебному классу и сказать ему: "Эй, чувырла, дай модель которую захавал, мне нужно поглядеть данные"
))
решило бы проблему мою

Ivan
19.07.2016
18:42:37
https://github.com/erikcaffrey/People-MVVM/blob/master/app/src/main/java/com/example/jhordan/people_mvvm/viewmodel/PeopleViewModel.java
типичный пример VM)

Dmitry
19.07.2016
18:43:11
контееекст

Ivan
19.07.2016
18:43:22
просто тут два варианта,или юзать ViewModel тупо как контейнер с данными максимально тупой,который их подготавливает к бинду во вьюху
либо в него помещается логика загрузки данных + предыдущее

Dmitry
19.07.2016
18:44:03
из статейки выше
"Dealing with system calls
There is one set of use cases which still have to be done in the code-behind of the View – functions which initate system calls, opens dialogs or basically any call which require reference the Context object of Android. Don’t put code like this in the ViewModel. If it contains the line import android.content.Context;, you’re doing it wrong. Don’t do it. Kittens die."

Igor
19.07.2016
18:45:17
фуф...
Don’t put code like this in the ViewModel

Ivan
19.07.2016
18:45:32
окей

Igor
19.07.2016
18:45:35
я еще не дочитал :) продираюсь через ваши андроидные "штуки-дрюки" :)

Ivan
19.07.2016
18:45:39
тогда мы скатываемся
к MVP+VM ?

Dmitry
19.07.2016
18:45:51
ну типа да
или роутер

Google

Igor
19.07.2016
18:46:02
VIPER! посмотрите на вайпер! :)

Dmitry
19.07.2016
18:46:04
я только не представляю что это

Ivan
19.07.2016
18:46:26
ну как по мне для того,чтобы сделать без контекста использование роутера больше нравится
чем выдирание данных ручками)

Dmitry
19.07.2016
18:46:35
ты скурил БЫ вайпер с датабайндингом, дружище? )

Ivan
19.07.2016
18:46:40
VIPER зло

Igor
19.07.2016
18:46:55
я прикуриваю пока :)

Dmitry
19.07.2016
18:47:03
x D

Ivan
19.07.2016
18:47:10
айосников код посмотрел на вайпере

Dmitry
19.07.2016
18:47:20
на чем пишутН?

Igor
19.07.2016
18:47:20
вайпер не зло, вайпер добро... логика отдельно, вью отдельно, работа с данными отдельно... все кристально понятно :)

Dmitry
19.07.2016
18:47:23
если обджектив
то нечего нам там делать
там другое мышление

Ivan
19.07.2016
18:47:36
свифт там

Dmitry
19.07.2016
18:47:39
аааа

Ivan
19.07.2016
18:47:42
но разницы ноль

Igor
19.07.2016
18:47:43
ну там и то и то

Dmitry
19.07.2016
18:47:44
ну тогда ладно еще )

Ivan
19.07.2016
18:47:58
видеть миллион методов типо setTitle

Google

Ivan
19.07.2016
18:48:03
setSubtitle

Igor
19.07.2016
18:48:09
шо? :)

Dmitry
19.07.2016
18:48:22
у нас нач. мобильного отдела очень сетует за то, что свифт убивает изначальную логику обджектив си
но я не понял подробностей, понял только что все наши шаблоны они там на болт свой ложили

Ivan
19.07.2016
18:48:40
ну датабиндингов в ios таких как в андроиде нет

Igor
19.07.2016
18:48:42
Наверное он просто не молод (30+)

Ivan
19.07.2016
18:48:54
по идее

Igor
19.07.2016
18:48:56
Иван, не буду спорить, потому что не знаю какие они в андроиде

Dmitry
19.07.2016
18:49:18
~30

Igor
19.07.2016
18:49:22
но вообще у нас есть RAC... и я думаю оно как минимум оно...
~30
Просто тяга к новому уже пропадает в это время, и опыт есть :) "от яркой блестящей штучки жди геморроев" :)

Dmitry
19.07.2016
18:50:22
наверн

Ivan
19.07.2016
18:50:37
kotlin: val exitButtonVisibility = ObservableInt(View.GONE)
xml:
android:visibility="@{viewModel.exitButtonVisibility}"

Igor
19.07.2016
18:50:39
и он, сцуко, прав :) потому что этот гребаный свифт... версия 2.0 компилятора не компилит 1.2... а версия 3.0 которую вот вот ждут... не очень будет работать с 2.0 :)

Dmitry
19.07.2016
18:50:43
представь себе код без обработки эксепшнов
у них там только в одном месте обрабатывается - в запросах, и то чтобы логи на них смотреть
проверять не приложуху а бекенд
короче , там как то так пишется, что полюбому работает если работает )
без исключений )

Ivan
19.07.2016
18:51:58

Google

Dmitry
19.07.2016
18:52:05
про логи это в смысле у нас в приложухе
я без понятия че они там любят
просто он мне объяснял
как тупому джависту )
а я внимательно слушал )

Ivan
19.07.2016
18:52:32
хахаха

Dmitry
19.07.2016
18:52:55
в общем завтра
загружу коллег
отпишусь потом что решили
все, баста

Igor
19.07.2016
18:53:59
у нас экспешн это эксепшн! :) а все остальное - ошибки

Ivan
19.07.2016
18:54:01
а про ту статью
Another approach could be to use an event bus like Square’s Otto to initiate commands like new ShowToastMessage("hello world").
это же адок

Dmitry
19.07.2016
18:54:24
ну это не гуру ребята
ничего не говорю

Igor
19.07.2016
18:54:43
а завершении флуда, словил тут на андроиде "out of memory exception thrown while throwning out of memory exception" (не дословно, но суть вот такая) :)

Dmitry
19.07.2016
18:54:44
но про вью методы во вью модели согласен
не должны они там быть

Ivan
19.07.2016
18:55:02
уж выбирая между EventBus и выстрелом себе в ногу я бы задумался)

Igor
19.07.2016
18:56:56
всем до завтра - я спать

Никита
19.07.2016
18:57:25
Ребят,а где можно почитать про поход mvvm и mwp под андроид?:)