@xamarin_russia

Страница 102 из 619
Кита
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
Кто нибудь пробовал Kotlin для Android ?
А то, уже пол года в продакшене

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
очень хочется kotlin на .NET теперь
Зачем? Он же как C# в основном (да и F# лучше все равно)

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
В f# нету nullref)))
Вон в C# 8.0 обещали (нечто похожее), думаю и F# для интеропа подтянется

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

Igor
24.05.2017
17:27:39
data class тоже крутая тема - его обещали в виде Record в C# 8 тоже
Ну вот видишь, да и F# это уже есть (в кам то виде)

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

get и set дописываются по мере необходимости

Kirill
24.05.2017
17:28:23
data class тоже крутая тема - его обещали в виде Record в C# 8 тоже
На IO эту фичу показали классно. Вот 2 экрана на Java, а вот 1 строка на Kotlin и делают они одно и тоже)

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

Igor
24.05.2017
17:29:25
На IO эту фичу показали классно. Вот 2 экрана на Java, а вот 1 строка на Kotlin и делают они одно и тоже)
Это баян 5 летней давности (везде показывают), да и тоже самое можно на scala/groovy/lombok

Akhmed
24.05.2017
17:29:59
Kirill
24.05.2017
17:30:20
и что самое интересное - в котлин нет полей. Одни только свойства. Поэтому как в C# писать {get; set;} каждый раз нет надобности
Кстати, ну а в чём принципиальная разница между полем и простым проперти get; set? Кроме кодстайла не вижу. Поэтому логично было не делить

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

Igor
24.05.2017
17:30:48
Баян/не боян - но этого часто очень не хватает в C#
Immutable class с билдером? Так то в C# есть инциациализаторы полей.

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
Immutable class с билдером? Так то в C# есть инциациализаторы полей.
нет, речь совсем о другом. Когда у тебя допустим у тебя есть структура Product с полями Name и Age

то два инстанса будут одинаковы когда у тебя Name и Age тоже равны

а вот если у тебя не структура а класс то для эмуляции такого поведения приходится переопределять сравнение

ну и соответственно такой мусор приходится писать или генерить инструментами вроде Resharper

Igor
24.05.2017
17:33:50
.NET Tools Blog Wed May 24 17:16:00 UTC 2017 Incremental build in Rider
А если, только 1 проект в солюшене, то быстрее не станет?

Kirill
24.05.2017
17:34:25
Igor
24.05.2017
17:35:07
нет, речь совсем о другом. Когда у тебя допустим у тебя есть структура Product с полями Name и Age
Ну в С# 8.0 завезут - все ок. Да и в F# records уже имеют ведь свой автосгенеренный Equals же.

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
Фиг знает. Я не читал ещё)
Просто Шкредов, про это рассказывал еще в прошлом году и он тоже показывал на солюшене с большим кол-вом проектов. И фишка там в том что бы не пересобирать лишний раз зависимые проекты.

вот что еще очень подкупает в котлин - автовывод типов как в функциональных языках (F# например)
Ну там же вроде инференс как в шарпе, за исключение полей и уже тоже хочется в C# поля через var делать.

Кита
24.05.2017
18:27:23
Хорошо, нужно ли делать фабрику презентеров, где их хранить, ибо резолв в TinyIoC возвращает новый экземпляр презентера?
у меня всегда 1 инстанс 1 класса презентера на странице. У презентера есть вью или фрагмент. Но в рамках 1 активити может быть несколько презентеров.

активити кстати ничего про презентеры не знает. Они висят в "воздухе"

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

т.е ссылку на себя.

Страница 102 из 619