@xamarin_russia

Страница 403 из 619
Кита
01.06.2018
07:27:25
Где сложный- да. Однако при желании можно реализовать многое
да ну можно и из буханки сделать троллейбус - как ты это поддерживать будешь на длительном периоде времени? Вот то то и оно

Kirill
01.06.2018
07:33:19
Кита
01.06.2018
07:33:42
ой да не надо сказки рассказывать. Все познается в сравнении

Ты видимо не управляешь бюджетом и не знаешь сколько в итоге проект стоит и сколько бы он стоил если бы был другой технический стэк. Я вел за разные промежутки времени реальные энтерпрайзные проекты с бизнес-логикой больше чем на 10 экранов. и проекты на формсах самые дорогие в поддержке. Самые

Google
Кита
01.06.2018
07:37:15
Самые непредсказуемые.

mute
01.06.2018
07:38:30
как пишет на замарине настоящие мачо? бизнес логику в шаред проект, а ui в нативных?

Vitaly
01.06.2018
07:39:28
Самые непредсказуемые.
А какие проекты дороже андроидовские в реализации или ios совские на xamarin платформе? с учетом общего бизнесс ядра

ну то есть одно приложение , но для двух плафторм

Кита
01.06.2018
07:40:15
Сложно планировать изменения в проекте, поэтому закладывается в бюджет больше времени на реализацию того или иного, иначе со сроками можно пролететь легко. Я уже не говорю о серьезных архитектурных ограничениях, которые не позволяют выполнить за приемлемое время ВНЕЗАПНЫЕ требования клиентов. Ты оцениваешь, говоришь что МОЖНО сделать его фичу, но это будет по времени столько. У клиента выкатываются глаза и он говорит - ну нафиг я вообще связался

А какие проекты дороже андроидовские в реализации или ios совские на xamarin платформе? с учетом общего бизнесс ядра
андроидовские дороже будут чем ios, чисто из -за зоопарка устройств и большего времени на QA

как пишет на замарине настоящие мачо? бизнес логику в шаред проект, а ui в нативных?
да, в шаред - вьюмодели и датаслой, а UI нативный связывается с этим через какие-нибудь Rxбиндинги в коде которые в принципе тоже можно пошарить между платформами, если имена у UI компонентов одинаковые

mute
01.06.2018
07:46:10
а какие-то обучающие материалы с подобной реализацией можешь подсказать? или репозотрии какие интересные

Kirill
01.06.2018
07:47:49
Ок, что некоторые вещи делать сложнее и дольше- да. А так в поддержке если ошибки есть, то в основном которые сам допустил. Чем больше скилл, тем меньше проблем)

Кита
01.06.2018
07:50:01
а какие-то обучающие материалы с подобной реализацией можешь подсказать? или репозотрии какие интересные
mobius/android-ios архитектурные чаты. Слушаешь как делают нативщики - делаешь так же, ищешь аналоги на Xamarin. Нужны биндинги - есть MvvmLight или https://github.com/aloisdeniel/Wires В принципе простые вещи можно делать с MvvmLight, да и проверенная библа, Wires же ещё пока под 1 платформу недопилен. В разработке на Xamarin Classic важно знать как ведется разработка под native на обоих платформах

в Wires важно понимать что нет - Android extensions и Trottling functiunalities - а это печаль

mute
01.06.2018
07:53:19
В разработке на Xamarin Classic важно знать как ведется разработка под native на обоих платформах с этим бяда вообще) я впринципе на мобилы пару месяцев пишу и сразу на XF. на андроид был давно заход, но иОС просто темный лес спасибо

Google
mute
01.06.2018
08:10:59
само собой

Кита
01.06.2018
08:11:07
Ок, что некоторые вещи делать сложнее и дольше- да. А так в поддержке если ошибки есть, то в основном которые сам допустил. Чем больше скилл, тем меньше проблем)
Да, в итоге компания пытается найти разработчиков с опытом на формах ок.4-х лет. Чтоб он с ними с самого создания был(а это та ещё нервная нагрузка, только психи выживают)). Кто год-два сидит не подходит на самом деле. А вот кто год-два по нативной части был в джунах-миддлах - их найти проще и задачи можно давать, рисков меньше

Kirill
01.06.2018
08:14:30
В разработке на Xamarin Classic важно знать как ведется разработка под native на обоих платформах с этим бяда вообще) я впринципе на мобилы пару месяцев пишу и сразу на XF. на андроид был давно заход, но иОС просто темный лес спасибо
Без опыта натива с формс будет тяжело.. для прототипов ещё корм, а сложнее- уже нужны знания натива на достаточно хорошем уровне. Из коробки в формсах мало чего есть

mute
01.06.2018
08:21:51
вообще не отрицаю. чуть что сразу кастомрендер.

1408
01.06.2018
08:28:44
Доброе утро уважаемые ксамаринщики,Делаю листвю на ксамарин формс подскажити для едд и едит нада делать отдельные контент пейджи?

Max
01.06.2018
08:44:41
Доброе утро уважаемые ксамаринщики,Делаю листвю на ксамарин формс подскажити для едд и едит нада делать отдельные контент пейджи?
Смотря что тебе надо. Если какие-то маленькие правки - то можно делать редактирование в самих ячейках прямо в DataTemplate задав двусторонний биндинг (Mode=TwoWay) ну и соответственно отображать условный Entry для этого. А для добавления - тут скорее всего было бы разумным сделать отдельную страничку/попур

Kirill
01.06.2018
08:47:25
самим выучить это риски)
Кто не рискует, тот не пьет шампанское))

Кита
01.06.2018
08:49:39
Кто не рискует, тот не пьет шампанское))
коммерческая разработка это не тот случай

Kirill
01.06.2018
08:51:13
Vladislav
01.06.2018
08:56:33
я один, когда сижу в глухом саппорте и смотрю на вью модели с овер 1.5к лайнов кода, понимаю, что происходит что-то неладное?

Aleksandr
01.06.2018
08:56:46
Всем привет, никто не в курсе, почему при изменение TextProperty у Entry отображаемый текст не меняется, но фактически он изменился

mute
01.06.2018
08:58:45
фактически это в вьюмодели?

Vladislav
01.06.2018
09:00:38
Всем привет, никто не в курсе, почему при изменение TextProperty у Entry отображаемый текст не меняется, но фактически он изменился
Байндинг данных основывается на интерфейсе INotifyPropertyChanged, View понимает, что ей нужно изменится, когда тригерится PropertyChanged событие твоего BindingContext'a. Копай в эту сторну

Aleksandr
01.06.2018
09:01:05
нет, перегрузил OnPropertyChanged, когда меняется TextProperty-смотрю Text свойство, там тот который должен быть, но он не отображается,

Google
Vladislav
01.06.2018
09:06:40
нет, перегрузил OnPropertyChanged, когда меняется TextProperty-смотрю Text свойство, там тот который должен быть, но он не отображается,
тоесть, у тебя есть View с Entry, и ViewModel с камим-то свойством, Entry байндится к свойству, ствойство меняется, ивент изменения тригерится, а Entry остается без изменений?

Vladislav
01.06.2018
09:08:08
да
TwoWay байндинг пробовал?

Aleksandr
01.06.2018
09:08:15
вроде в Entry по молчанию TwoWay

Vladislav
01.06.2018
09:09:50
да
была схожая ситуация - оказалось, что я присваивал свойству значение с тем же референсом и даже после ручного вызова ивента вью не менялось

Vladislav
01.06.2018
09:13:00
в смысле сылка указывала на тот же объект?
да, имлементировал вебовский Redux, было состояние, которое где-то извне изменилось, вызвался метод вьюмодели, оповещающий про изменение. там свойству присваивал значение состояния, но ссылка у них была одна, из-за чего, как я понял, байндинг игнорировал обновление



в первом случае присваивался новая ссылка и все ок, во втором, хоть и значение было другое, ссылка оставалась та же, вью не менялось ни при каких бубнах

Aleksandr
01.06.2018
09:16:34
да, имлементировал вебовский Redux, было состояние, которое где-то извне изменилось, вызвался метод вьюмодели, оповещающий про изменение. там свойству присваивал значение состояния, но ссылка у них была одна, из-за чего, как я понял, байндинг игнорировал обновление
вполне возможно что в это и дело. У меня Entry не используется для ввода, используется для выбора значения-при фокусе выплывает небольшое view с listview, выбранный элемент попадает в TextProperty

с другой стороны, я при изменении TextProperty в Text присваиваю произвольный текст, он изменяется во ViewModel свойстве, но не отображается

только если пересоздать entry- все ок

Max
01.06.2018
09:19:12
только если пересоздать entry- все ок
Кажется вы что-то не учли. Вы накидали биндинги к самим Text и прочему? И если да, то при set в свойстве во VM вы вызываете OPC?

Max
01.06.2018
09:19:47
Вся проблема может быть даже в том, что вы меняете коллекцию целиком, например

И не вызываете OPC

Aleksandr
01.06.2018
09:20:08
нет

коллекция статична

mute
01.06.2018
09:20:22
а сам state.Movies как-то меняется при этом? как решал?

Google
Aleksandr
01.06.2018
09:21:50
по дизайну надо так

Vladislav
01.06.2018
09:22:41
а сам state.Movies как-то меняется при этом? как решал?
да менялся, значение свойство тоже. решением стало Movies = new List<Movie?state.Movies); т.е. создал новый объект с другим референсом

Aleksandr
01.06.2018
09:23:33
вообще это пошаговая регистрация, каждый шаг это view которая создается и добавляется в AbsoluteLayout, после чего перемещается в центр экрана, а view на который был только что исчезает. проблемная entry это выбор страны. если страну выбрать, после чего вернуться на предыдущий шаг, а затем снова далее- все ок

mute
01.06.2018
09:23:42
может тогда проще было бы испльзовать ObservableCollection ?

Max
01.06.2018
09:24:19
Vladislav
01.06.2018
09:24:21
Max
01.06.2018
09:24:39
Aleksandr
01.06.2018
09:24:44
проблема появилась после того как сделал чтобы шаги регистрации создавались по требованию, а не сразу

Max
01.06.2018
09:31:21
Вундервафлю и на нативе не так просто сделать

vladimir
01.06.2018
09:31:34
вот-вот

Max
01.06.2018
09:32:34
вот-вот
Ну, точнее, на нативе ее можно сделать относительно гугля, а тут относительно набив шишек

vladimir
01.06.2018
09:33:22
или лучше не делать, потому что, повторю, не надо брать формс, где он не уместен

Max
01.06.2018
09:34:11
или лучше не делать, потому что, повторю, не надо брать формс, где он не уместен
Ну если ты молодой и вкатился неделю назад, то forms уместен везде...

Max
01.06.2018
09:36:12
И делается это на старте проекта

Google
Vladislav
01.06.2018
09:47:44
все действо в рамках одной страницы
Возможно еще байндиг коряво создается, можно попробовать работает ли он вообще - при создании вью сразу же присвоить значение свойству

Aleksandr
01.06.2018
09:52:50
а вот в процессе, если свойство во viewmodel изменить, на view не отобразится

при изменении bindingproperty происходит обновление view?

vladimir
01.06.2018
09:57:06
а вот в процессе, если свойство во viewmodel изменить, на view не отобразится
нужно добавить OnPropertyChanged() в set вашего свойства после присвоения

Aleksandr
01.06.2018
09:57:55
для того чтобы сработало OnPropertyChanged у view?

свойства то меняются, у view в TextProperty подтягивается текст из viewModel

просто он не отображается, остается старый

будто не происходит обновление экрана

mute
01.06.2018
09:59:10
для того чтобы сработало OnPropertyChanged у view?
нет. что бы сработало во вьюмодели. при биндинге view подписываетсся на PropertyChanged у вьюмодели

vladimir
01.06.2018
09:59:23
или есть делали public static BindableProperty PropertyName то его в get и set свойства засунуть, и вызывать в них GetValue(PropertyName) и SetValue соответственно при этом у самого PropertyName при BindableProperty.Create нужно добавить propertyChanged: OnProeprtyNameChanged метод и его реализацию

то есть проблема со стандартными свойствами?

mute
01.06.2018
10:00:29
вьюмодель то INotifyPropertyChanged реализует?

vladimir
01.06.2018
10:00:32
а как привязываются свойства и где и как контекст присваивается?

vladimir
01.06.2018
10:01:18
вьюмодель то INotifyPropertyChanged реализует?
да, кстати, присоединяюсь

и свойство вьюмодели вызывает ProperyChanged в set?

Aleksandr
01.06.2018
10:01:51
protected override void OnPropertyChanged(string propertyName = null) { if (propertyName == ExtendedEntry.TextProperty.PropertyName) { var s=this.Text; } base.OnPropertyChanged(propertyName); }

vladimir
01.06.2018
10:02:09
это не то

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