@xamarin_russia

Страница 353 из 619
Alexander
17.04.2018
08:21:35
..ля, как просто то, оказывается

Max
17.04.2018
08:31:02
..ля, как просто то, оказывается
Как бы ну, это все равно надо разбирать сильно глубоко, ибо нормальные ребята юзают свои реализации, ибо Fody генерит слишком много кода

Google
Max
17.04.2018
08:33:25
Для этого надо сначала заботать делегаты, потом события и уже потом будет как два пальца

Max
17.04.2018
08:39:43
Уж не преждевременная ли оптимизизация это?
Ну последнее время у меня паранойя по этому поводу, так что мнение более чем субъективное

Kirill
17.04.2018
09:59:01
И с Fody немного дольше сборка идет=)

Bonart
17.04.2018
10:03:46
Сборка дольше - понятно. Но вот насчет слишком много кода есть сомнения. Руками человек в таких случаях обычно пишет слишком мало, а потом ловит баги.

Lamest
17.04.2018
10:04:45
И с Fody немного дольше сборка идет=)
Для вейверов реалма у меня 1-2 секунды

Александр
17.04.2018
10:06:34
Посоны, напомните, если я хочу подружить UITapGestureRecognizer и RelayCommand в MVVM Light, куда мне смотреть?

Kirill
17.04.2018
10:06:36
Для вейверов реалма у меня 1-2 секунды
поэтому и сказал: Немного.

Сборка дольше - понятно. Но вот насчет слишком много кода есть сомнения. Руками человек в таких случаях обычно пишет слишком мало, а потом ловит баги.
Главное понять суть PropertyChanged и когда надо вызывать его, тогда человек будет писать достаточно и без багов.

Кита
17.04.2018
10:09:41
Посоны, напомните, если я хочу подружить UITapGestureRecognizer и RelayCommand в MVVM Light, куда мне смотреть?
ну так то-то вроде и никуда. Ты можешь евент подружить с командой

Bonart
17.04.2018
10:10:11
Bonart
17.04.2018
10:13:54
Дебаг нагенеренного нужен при проблемах с обновлением, которых с Fody меньше или нет совсем

Google
Kirill
17.04.2018
10:21:29
Понимание сути приводит к использованию Fody вместо рукопирастии
Наоборот. Чем больше опыта, тем меньше библиотек) Как раз со своей реализацией все понятнее, и как Кита сказал - сложнее с fody дебажить, порой приходилось IL смотреть даже, что бы понять где проблема.

Кита
17.04.2018
10:22:55
Посоны, напомните, если я хочу подружить UITapGestureRecognizer и RelayCommand в MVVM Light, куда мне смотреть?
типа так view.AddGestureRecognizer(new UITapGestureRecognizer(()=> { ViewModel.Command.Execute(); }));

Дебаг нагенеренного нужен при проблемах с обновлением, которых с Fody меньше или нет совсем
ну допустим самое распространенное - понять почему не работают биндинги. Нужно вообще посмотреть а приходит ли значение во вьюмодель. С Fody это затруднительно сделать) Тратишь больше времени. А типа сэкономил на написании пары строк

Kirill
17.04.2018
10:24:42
NIH - это не опыт
Ок, скажем так - с опытом приходит понимание, для каких вещей лучше библиотеки, а для каких - своя реализация. Для инкремента подключать огромную библиотеку с 1кк функций - крайне не разумно. Fody - как раз комбайн.

Bonart
17.04.2018
10:26:03
Каким местом Fody комбайн? NullGuard отдельно, PropertyChanged отдельно, пользуешься ровно тем, что нужно

Kirill
17.04.2018
10:28:14
Каким местом Fody комбайн? NullGuard отдельно, PropertyChanged отдельно, пользуешься ровно тем, что нужно
Ок, продолжу аналогиями: шасси комбайна ради стеклоомывателей) PropertyChanged реализуется 1 простым классом

Bonart
17.04.2018
10:30:14
> PropertyChanged реализуется 1 простым классом Плюс необходимость наследоваться от него, плюс необходимость райзить ручками для каждой зависимости, плюс код вида SetAndRaiseIfChanged, за которым собственно логики вью-модели не видно

Kirill
17.04.2018
10:35:10
> PropertyChanged реализуется 1 простым классом Плюс необходимость наследоваться от него, плюс необходимость райзить ручками для каждой зависимости, плюс код вида SetAndRaiseIfChanged, за которым собственно логики вью-модели не видно
наследоваться - да. Райзить - все внутри. Вызывать только в редких случаях зависимостей. SetAndRaiseIfChanged - нет такого. У нас такая реализация: public string Notes { get => Get<string>(); set => Set(value); } Просто проперти, а внутри уже OnPropertyChanged вызывается и тд. И логика VM остается чистой.

Bonart
17.04.2018
10:36:41
> У нас такая реализация Как различаются разные свойства одного типа?

Kirill
17.04.2018
10:38:24
В частности, если есть зависимая проперти, то можно так set { if (Set(value)) NotifyOfPropertyChanged(nameof(ButtonText)); }

Кита
17.04.2018
10:38:25
какую это задачу решает?

Bonart
17.04.2018
10:39:38
По названию Property очевидно.
В приведенном вызове метода Get нет имени Property - используется caller member name?

Bonart
17.04.2018
10:42:57
Да
Т.е. магии не меньше, чем в Fody, церемониал ручного вызвова в ряде случаев (как раз самых сложных) сохранен, добавлено обременение наследованием. Разумеется, вы вправе считать, что вам оно дешевле, чем Fody. Мне всегда было наоборот.

Google
Alexander
17.04.2018
10:44:17
то есть, логика такая: 1. создается модель 2. логикой приложения модель заполняется 3. в представлении осуществляется привязка к св-вам модели 4. в модели реализуется INotify… и все это начинает “само обновляться” при изменении значений полей в модели, верно?

Alexander
17.04.2018
10:45:39
теперь понятно, благодарю

Kirill
17.04.2018
10:47:29
Sergey попрошу без мата

Alexander
17.04.2018
10:47:56
Пункты 1 и 2 лучше объединить
почему? если по mvvm, то модель не должна содержать логику

вроде бы

Yury
17.04.2018
10:48:05
для тех, кто не хочет использовать Fody и не хочет писать INotifyPropertyChanged ручками, рекомендую тоненькую библиотеку от James Montemagno - https://github.com/jamesmontemagno/mvvm-helpers

Bonart
17.04.2018
10:51:08
почему? если по mvvm, то модель не должна содержать логику
Не так. Модель содержит бизнес-логику, вью-модель содержит логику поведения интерфейса пользователя, вью содержит логику его отображения

Вью-модель может взять данные только из модели или параметров конструктора - в других местах их нет.

Evgeniy
17.04.2018
10:52:16
для тех, кто не хочет использовать Fody и не хочет писать INotifyPropertyChanged ручками, рекомендую один класс от Xamarin University https://github.com/xamarinhq/xamu-infrastructure/blob/master/src/XamU.Core/Mvvm/SimpleViewModel.cs

Bonart
17.04.2018
10:53:47
Модель сама ничего передать вью-модели не может, так как о ней ничего не знает. А никакой "логики приложения" вне модели и вью-модели по MVVM нет.

Кита
17.04.2018
10:54:01
Который в модели. да

Bonart
17.04.2018
10:54:10
т.е. запрос к API должен быть реализован в модели?
Если у тебя клиент, который должен обращаться к серверу - да

?‍?
17.04.2018
10:55:06
UrhoSharp переедет на Net Standart 2.0, если да, то как скоро?

Egor
17.04.2018
10:55:47
?‍?
17.04.2018
10:56:50
руки до него не доходят :(
А там много работы в этом направлении?

Google
Egor
17.04.2018
10:56:56
не особо

просто много муторной работы)

Alexander
17.04.2018
10:58:51
Если у тебя клиент, который должен обращаться к серверу - да
занятно, я считал иначе. а какие проблемы могут быть, если запрос к апи выполняется не из модели, а из viewmodel?

Pavel
17.04.2018
10:59:43
Похоже что Azure и App Center тоже заблокировали - вчера без VPN не работало. Ну и nuget, как выше писали. У кого-нибудь ещё были проблемы с доступом в App Center?

Bonart
17.04.2018
10:59:46
Значит модели как таковой у тебя просто нет, а тесты для вью-модели становятся монструозными или вообще отсутствуют

Alexander
17.04.2018
11:01:13
Mykhail
17.04.2018
11:53:11
Коллеги, у кого-о есть подобная проблема: https://stackoverflow.com/questions/49877191/running-xamarin-uitest-on-macos-for-ios-deviceagent-start-session-failed ?

Yury
17.04.2018
11:53:58
https://github.com/aspnet/Docs/issues/5832

Gleb
17.04.2018
11:55:21
UrhoSharp переедет на Net Standart 2.0, если да, то как скоро?
Оно же вроде и так работало когда я проверял последний раз. Цепляло сборку под 4.6 но работало

?‍?
17.04.2018
13:21:06
Оно же вроде и так работало когда я проверял последний раз. Цепляло сборку под 4.6 но работало
Вот не цепляло бы... конкретно тестировал UrhoSharp.Forms (пока только 1 баг видел, но там скорее просто обновление сцены надо), очень удобная штука, если нужно отображать 3D с формами. Сам порог вхождения низкий, примеров просто куча.



Gleb
17.04.2018
13:21:55
Формс у меня и обычные не сработали

?‍?
17.04.2018
13:23:49


Всё остальное после нескольких дней перестаёт работать как надо

Например, собрал проект, залил его на девайс, протестил, потом какое-то время он просто был на телефоне, через какое-то время (недели 2) запускаю - краш.

vladimir
17.04.2018
13:27:19
а оно случаем не в конфиге Debug было?

?‍?
17.04.2018
13:27:43
а оно случаем не в конфиге Debug было?
В дебаге, да. Краш при запуске именно Urho страницы, само приложение нормально запускается

vladimir
17.04.2018
13:28:33
попробуйте отрубить Fast Deployment в Debug , и всё будет работать

Egor
17.04.2018
13:28:34
это норма

Google
Egor
17.04.2018
13:28:48
угу. и Shared Runtime

vladimir
17.04.2018
13:28:56
оно какие-то там shared object чистит

Egor
17.04.2018
13:29:04


vladimir
17.04.2018
13:29:32
this

Egor
17.04.2018
13:30:18
надо походу в дебажные билды впиливать мессадж бокс/алерт с текстом "ДЕБАГ с шаред рантаймом"

?‍?
17.04.2018
13:36:36
Хочу описать как воспроизвести баг с черным экраном на UrhoSharp.Forms: если приложение сворачивать и разворачивать - все ок, если сделать скрин, - все ок, но если сделать скрин и перейти по нему в библиотеку изображений через выпадающее по свайпу меню Android, а потом вернуться в приложение - будет черный экран поверхности отрисовки 3D, сами же кнопки Xamarin.Forms поверх неё нормально отображаются.

Artem
17.04.2018
14:01:11
Ребят, не подскажете почему не вызывается метод OnDetachingFrom() в Behavior, который я вешаю на страницу?

Alex
17.04.2018
14:06:46
Не подскажете как ускорить запуск xamarin forms приложения на андроид? И как отследить время запуска программно

Artem
17.04.2018
14:11:01
@Alex_Relov нужно чуть-чуть подождать https://blog.xamarin.com/visual-studio-2017-version-15-7-preview-3/

Кита
17.04.2018
14:11:50
ага. Это слышно 2 года уже. Ну-ж-но-нем-но-го-по-тер-пе-ть

ахах

Denis
17.04.2018
14:12:55
справедливости ради, forms побыстрее вроде стали ?

Кита
17.04.2018
14:13:35
чушь слоновья. Вы в исходники посмотрите. Опять же в статье про перфоманс андроида не сказано ничего

Denis
17.04.2018
14:14:28
я не использую их в работе, визуально примеры смотрю

Кита
17.04.2018
14:15:25
В общем я бы советовал не ждать когда станет лучше перфоманс формсов. Не станет. Все равно он не достигнет показателей типа “старт за 1-1,5с на не самых топовых телефонах”

А вот Xamarin Сlassic так может при использовании правильного подхода

Alex
17.04.2018
14:20:35
Извиняюсь за нубский вопрос, а что такое перформанс?

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