@xamarin_russia

Страница 184 из 619
Vladislav
22.09.2017
19:20:03
Я просто действительно не понимаю смысла отдавать это на автоматизацию. Потому что что так я напишу переход на "SomePage" строку которую надо привязать к созданию определенной модели, что просто передам готовую модель

Кита
22.09.2017
19:20:24
просто штука такая что во вьюмодели в конструкторе могут быть сервисы

и их может быть не один

и никаких строк кстати

Google
Vladislav
22.09.2017
19:22:12
Ты имеешь в виду что-то типа конструкции с конструкторами конроллеров в aspnet?

Летучая
22.09.2017
19:24:06
Ты имеешь в виду что-то типа конструкции с конструкторами конроллеров в aspnet?
https://github.com/Worldbeater/myFeed/blob/master/myFeed.ViewModels/Implementations/FeedViewModel.cs типикал вьюмодель

руками создавать больно, надо полагаться на IoC

Кита
22.09.2017
19:24:34
https://pastebin.com/EK7hxYNX

вот как выглядит пуш страницы из вьюмодели

Vladislav
22.09.2017
19:26:50
Надо пожалуй переписать свой навигейш сервис

Кита
22.09.2017
19:27:45
ахах

Летучая
22.09.2017
19:27:50
Поясни пожалуйста

Кита
22.09.2017
19:28:16
Поясни пожалуйста
что? я подтвердил твои слова

да. это типикал вьюмодель. Сам такой же почти пример хотел скинуть, уже полез в проект

Летучая
22.09.2017
19:28:54
А, это опечатка

Google
Летучая
22.09.2017
19:29:01
я думал ты только что меня обоссал

Кита
22.09.2017
19:29:19
нет. ты что

ну и собсно всю эту котовасию помогает разрулить autofac или dryIoc

Vladislav
22.09.2017
19:30:40
Ага

Заюзаем, да

Летучая
22.09.2017
19:32:42
https://pastebin.com/EK7hxYNX
А почему навигацию с помощью типов называют PushAsync, а не Navigate? Исторически сложилось?

Кита
22.09.2017
19:33:05
ага. исторически. Надо переосмыслить

вообще по хорошему у меня там ещё задумка есть. В формах всего 3 типа навигации - push, pop, poptoroot

а Navigate подразумевает что сервис сам должен внутри решать что ему делать - в рут уходить или поп делать до этой страницы или пушить

Vladislav
22.09.2017
19:36:55
Кстати, так и не нашел годного решения менять App.MainPage с обычной на MD пейдж. Тупо менять фигня

Анимацию задавать тоже как-то не очень

Кита
22.09.2017
19:37:29
я не меняю. Это RootNavigationPage

Vladislav
22.09.2017
19:37:56
?

Как ты прячешь Master тогда

Кита
22.09.2017
19:38:42
если меняется рут - рут страница пушится в RootNavigationPage и в себе пушит нужный контент, а та страница что была корневой до этого удаляется из стэка по-тихому

Vladislav
22.09.2017
19:39:22
Я про masterdetailpage и обычный page

Иногда надо делать меню недоступным

Кита
22.09.2017
19:39:50
ээ

Vladislav
22.09.2017
19:40:01
Просто скрыть тулбар и заблочить свайп недостаточно

Google
Кита
22.09.2017
19:40:13
есть разные области навигации

Vladislav
22.09.2017
19:40:30
В планшетах будет видно

Ты предлагаешь делать навигацию на всю страницу вместо Detail?

Кита
22.09.2017
19:41:22
погоди. я просто пытаюсь осознать когда это нужно прятать дровер от пользователя?

Vladislav
22.09.2017
19:41:48
На странице авторизации например

Кита
22.09.2017
19:42:05
а это другой стэк навигации

Vladislav
22.09.2017
19:42:41
Я знаю, всю mdp нельзя обворачивать в navigation page

Кита
22.09.2017
19:42:57
почему?

я оборачивал

Vladislav
22.09.2017
19:43:40
Два тулбара какбе

Кита
22.09.2017
19:43:45
RootNavigationPage она почему такая - потому что она тулбар не показывает

прячешь его в конструкторе RootNavigationPage и проблем не знаешь. Не благодари

на. ios по крайней мере работает

Vladislav
22.09.2017
19:45:15
Забавный костыль, но все равно не очень

Разные стеки навигации

Кита
22.09.2017
19:45:33
ну так да. это не костыль

идея пришла вообще из игрового приложения

там есть соцсеть, а есть режим игры с другими пользователями

есть авторизация

3 разных стэка навигации

Google
Кита
22.09.2017
19:47:14
между ними используя такой подход есть анимированные переключения. Ничего не выпадает. Все замечательно работает

аппа пушит один стэк поверх другого а предыдущий удаляет и диспозит. Каждая MultiPage знает как себя чистить

работало все шикарно

Vladislav
22.09.2017
19:50:36
Надо это покурить

Кита
22.09.2017
19:51:25
и на уровне вьюмодели главное ничего такого вычурного нет. Просто из вьюмодели стэка соцсети мы переходим на вьюмодель стэка игры, но между ними разницы нет никакой - они все одинаковые от базового класса отнаследованы, и сервис видит что страница к новой вьюмодели привязана рутовая, а значит нужно взять рутовую navigationPage и в неё засандалить рутовую страницу, которая сама в себе знает какую первую страницу в себя положить, а предыдущий стэк зачищался и по выходу из игры снова загружался. А в теории из игры при просрочке токена можно было вылететь на страницу авторизации например

Kirill
22.09.2017
19:53:32
можно просто навигацию открывать поверх MasterDetail, в модальном окне

Кита
22.09.2017
19:54:24
ну умодального много ограничений

но так то да. Если например нужен ввод пинкода то модальное окно тут как нельзя лучше подходит. Единственное там надо будет рулить развилку внутри - страница должна знать где она открыта в модальном окне или в стэке навигации. В одном случае отступы есть а в другом нет

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

И визарды делать типа такого

но это концепт арт)

Vladislav
22.09.2017
20:16:29
Интересно конечно все это

Но с переходами разных типов страниц не все так однозначно

Кита
22.09.2017
20:22:09
хотя кстати такое и в формс можно сделать. Через Multipage свою кастомную

в multipage вообще по идее можно зафигачить кучу разных страниц и расположить как тебе вздумается. И никаких уходов в рендеры) Но меня этим не подкупить ? все равно они не годятся дальше MVP для презенташки

Vladislav
22.09.2017
20:26:43
Кому как

Некоторые заказчики довольны

Кита
22.09.2017
20:26:55
Но с переходами разных типов страниц не все так однозначно
есть такое. Команда замаринформс вообще в 2015-2016 году на самом деле в шоке была от того каким образом их фреймворк люди пытаются юзать. Ведь все баги они от того что они даже не предполагали такого использования фреймворка.

Некоторые заказчики довольны
все равно рано или поздно зададут вопрос - а почему аппа грузится >8 секунд? а можно это как-то исправить? И ты скажешь нет и будешь иметь бледный вид

Kirill
22.09.2017
20:29:28
Исправить можно, но скорости запуска нативного приложения достичь не получиться.

Google
Kirill
22.09.2017
20:29:41
AOT, всякие оптимизации в приложении..

Vladislav
22.09.2017
20:29:55
Аот вообще так себе работает

Кита
22.09.2017
20:30:14
Ну у меня по крайней мере так было. А ещё падения которые просто так не пофиксить. И на тебя смотрят как на говно какое-то. Хотя ты профессионал вроде бы и тебя нанимали как профессионала

Kirill
22.09.2017
20:30:47
Аот вообще так себе работает
ну веса приложению силно доббавляет. А скорость работы увеличивается

Кита
22.09.2017
20:31:32
Ну не скажи, в последних версиях они поработали над временем запуска
ну вот буквально сегодня я смотрел аппку которую разрабатывали не мы и нам её принесли как побитую птичку. Версия формс 2.3.4. Прикручен Prism все дела. Все вроде бы грамотно написано… но риски очень высокие брать её. Аппка не на 2-3 экрана, с полтинник где-то самых разных

Дольше трёх не было
на android? Кидай в студию ссыль. Проверю на своих древних самсунгах)

за ios я речи не веду. Там всегда все шикарно +-

Almaz
22.09.2017
20:33:56
Кита а что там про прикручивание тулбаров кастомных в формсах? Можно поподробнее?

Vladislav
22.09.2017
20:34:58
В личку чуть позже скину апк

А вообще да

С xf я себя постоянно дебилом чувствую

Max
22.09.2017
20:35:59
Vladislav
22.09.2017
20:36:50
Последний замеченный мною баг. Frame в footer listview вылазит за ширину экрана что не делай. Пришлось обворачивать в grid

DateTimer не работает с Hijri локализацией

В релизе

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