
Кита
24.05.2017
12:56:18
а есть ещё и другие люди которые в UX секут и которые постоянно пишут о том что такие то и такие то гайдлайны этих крупных контор - говно

Egor
24.05.2017
12:56:20
а не гайдланы какие-то глобальные

Кита
24.05.2017
12:57:23
ну в любом случае мир меняется и гайдлайны тоже и у разных людей разные мнения и взгяды на UX
и все прекрасно понимают что если эти идеи не будут реализованы то индустрия никогда не поймет какие гайдлайны хорошие а какие плохие

Google

Кита
24.05.2017
12:59:03
в этом то и прикол что стандарты они как бы есть но они постоянно меняются из-за того что индустрия действует методом проб и ошибок и нет и никогда не будет единой протореной дорожки в UX
поэтому нейронки нас не заменят. успокойтесь)
они просто помогут делать MVP быстрее, что снизит издержки для стратапов, что положительно скажется на мировой экономике в целом)
более того у них пока что 77% of accuracy и не все готово. реально рабочий прототип может быть выйдет в конце этого года и то навряд ли.

Splinter
24.05.2017
15:15:34
Есть активити (вью), экземпляр презентера для нее. Из этой активити создаю фрагмент. Нужно делать отдельный презентер для фрагмента?
Или описывать б-логики для него в презентере его родителя.

Egor
24.05.2017
15:17:28
если фрагмент небольшой то не надо наверное, вопрос слишком общий :)

Splinter
24.05.2017
15:18:41
Хорошо, нужно ли делать фабрику презентеров, где их хранить, ибо резолв в TinyIoC возвращает новый экземпляр презентера?
Если допусти из фрагмента я хочу получить презентер родителя.

Anton
24.05.2017
17:10:28
Господа, может кто-то сможет подсказать, как я могу отправить dtmf сигнал на микрофон на андройде? Так же получить сигнал в определенной частоте?

Akhmed
24.05.2017
17:23:33
Кто нибудь пробовал Kotlin для Android ?

Kirill
24.05.2017
17:24:39
Крутая тема

Google

Akhmed
24.05.2017
17:24:54
И как тебе? Мне лично очень понравилось

Igor
24.05.2017
17:24:57

Akhmed
24.05.2017
17:25:04
очень хочется kotlin на .NET теперь

Kirill
24.05.2017
17:25:17
Хотя только пробовал, ничего толкового не писал. Но лучше java)

Akhmed
24.05.2017
17:25:31
на Java писать после C# было крайне неприятно. Но вот Котлин совсем другая тема

Igor
24.05.2017
17:25:32

Anton
24.05.2017
17:25:57
В f# нету nullref)))

Akhmed
24.05.2017
17:26:19
самое интересное в котлин по умолчанию тоже nonnullable
Надо явно объявлять что значение может принимать null

Igor
24.05.2017
17:26:36

Kirill
24.05.2017
17:26:53

Akhmed
24.05.2017
17:26:57
data class тоже крутая тема - его обещали в виде Record в C# 8 тоже

Igor
24.05.2017
17:27:39

Akhmed
24.05.2017
17:27:45
и что самое интересное - в котлин нет полей. Одни только свойства. Поэтому как в C# писать {get; set;} каждый раз нет надобности
get и set дописываются по мере необходимости

Kirill
24.05.2017
17:28:23

Akhmed
24.05.2017
17:28:49
ну да - поддерживаю - очень давно этого не хватает в C#

Igor
24.05.2017
17:29:25

Akhmed
24.05.2017
17:29:59

Kirill
24.05.2017
17:30:20

Google

Akhmed
24.05.2017
17:30:47
приходится решарпером генерить этот мусор для сравнения. Но не у всех есть решарпер

Igor
24.05.2017
17:30:48

Kirill
24.05.2017
17:30:55
.NET Tools Blog
Wed May 24 17:16:00 UTC 2017
Incremental build in Rider

Akhmed
24.05.2017
17:31:55
то два инстанса будут одинаковы когда у тебя Name и Age тоже равны
а вот если у тебя не структура а класс то для эмуляции такого поведения приходится переопределять сравнение
ну и соответственно такой мусор приходится писать или генерить инструментами вроде Resharper

Igor
24.05.2017
17:33:50

Kirill
24.05.2017
17:34:25

Igor
24.05.2017
17:35:07

Akhmed
24.05.2017
17:37:17
Все правильно. Вот только пересадить с C# на F# народ сложно. А вот на котлин пересесть достаточно легко. Можно просто взять Java проект и сконвертировать в котлин. Что собственно многие Android разработчики и делают
кроме того если со StackOverflow скопировать кусок Java кода то IDE (IntelleJ) предлагает сконвертировать этот код в Kotlin
(при добавлении в kotlin проект само собой)
ну и котлин не имеет принципиально новой парадигмы. Это то же самое императивное программирование но с гораздо более лаконичным и выразительным синтаксисом
что тоже очень существенно упрощает переход с Java на Kotlin

Igor
24.05.2017
17:40:25
Ну да, есть такое.
Хотя язык уже больше года в релизе (до этого был доступен уже 3), но пока google не сказал - народ особо не интересовался и даже побаивался.

Akhmed
24.05.2017
17:41:03
да на самом деле многие переходили на Kotlin на свой страх и риск и последнее время их реально уже много было. Собственно поэтому гугл и признал его
вот что еще очень подкупает в котлин - автовывод типов как в функциональных языках (F# например)

Google

Igor
24.05.2017
17:43:53
Фиг знает. Я не читал ещё)
Просто Шкредов, про это рассказывал еще в прошлом году и он тоже показывал на солюшене с большим кол-вом проектов.
И фишка там в том что бы не пересобирать лишний раз зависимые проекты.

Кита
24.05.2017
18:27:23
активити кстати ничего про презентеры не знает. Они висят в "воздухе"

Splinter
24.05.2017
18:31:02

Кита
24.05.2017
18:31:26
презентер живет пока живет фрагмент)

Splinter
24.05.2017
18:31:51
Значит для фрагменты отдельный презентер ты не делаешь?

Кита
24.05.2017
18:32:29
фрагмент держит слабую ссылку на презентер, презентер сильную на фрагмент. Фрагмент - вложенный класс в презентере. Как-то так у меня

Admin
ERROR: S client not available

Кита
24.05.2017
18:33:12
соответственно после того как из фрагментменеджера удаляется фрагмент я перестаю держать ссылку на презентер

Splinter
24.05.2017
18:33:34
Вникаю в mvp и у меня презентер и его получение прямая ассоциация с viemodel из mvvm. Но вьюмодель была для всех окон, тут же никто не может внятно сказать стоит ли писать логику для фрагмента в отельном презентере или нет.

Кита
24.05.2017
18:33:34
презентер соответственно уничтожается вместе с фрагментом
viemodel у меня инжектится как биндинг контекст для презентера

Splinter
24.05.2017
18:34:23
Ну значит нужно. Ибо после авторизации у меня только одна активити, все остальное фрагменты.

Кита
24.05.2017
18:34:24
она же передается во фрагмент

Splinter
24.05.2017
18:34:46
вьюмодель + презентер, что за гранью паттернов.
что-то*

Кита
24.05.2017
18:35:00
MVPVM
))
мне нравится

Google

Кита
24.05.2017
18:35:54
для лист айтемов тоже использую вьюмодели
но для каждого элемента не презентер а вьюхолдер

Splinter
24.05.2017
18:36:16
Так у меня проблема была, что когда я хочу получить из фрагмента "родительский" презентер, мне контейнер ресолвит новый инстанс презентера.

Кита
24.05.2017
18:36:30
а зачем тебе родитель?
я вот как-то все это время обходился без этого

Splinter
24.05.2017
18:36:58
Нужны свойства его вьюшек.

Кита
24.05.2017
18:37:21
ааа для анимаций?
просто тут решение такое - не мельчить фрагменты

Splinter
24.05.2017
18:38:01
В проекте большой бэкстэк бывает и нужно бывает в крайнем фрагменте менять данные в первом айтеме бэкстэка.

Кита
24.05.2017
18:38:23
ааа вот такая задача

Splinter
24.05.2017
18:38:28
Анимации не всегда, но в презентере есть методы, которые говорят вьюхе пускать анимацию.

Кита
24.05.2017
18:38:47
сейчас подскажу

Splinter
24.05.2017
18:39:30
Или наоборот, бывает, что из 1го айтема бэкстэка нужно передать инфу в последний, таскать по конструкторам айдишники - не моя стезя, поэтому начал все переводить на mvp+di

Кита
24.05.2017
18:40:16
ну я из родительской вьюмодели в чилдовую вььюмодель передаю инстанс родителя

Splinter
24.05.2017
18:40:45
В конструкторе?
Что если нужен будет этот инстанс чайлду 10го поколения. По всему бэкстэку таскать?
Или тэгами пользоваться?

Кита
24.05.2017
18:41:50
нууууу тут есть спорное решение, но моя навигация выглядит примерно следующим образом
await NavigationService.PushAsync<LeverancerDetailsViewModel>(thisViewModel => {// initialize instance });
в сервис я передаю Action который знает как проинициализировать LeverancerDetailsViewModel. В неё можно передать this
т.е ссылку на себя.