@xamarin_russia

Страница 569 из 619
Boris
18.09.2018
10:08:13
Ну вот регулярная ситуация: хочется потащить какую-нибудь панель по pan

Kirill
18.09.2018
10:08:21
Менять можно. Если это дает хоть какие-то преимущества и остальные потом подтянутся
Окей. какие альтернативы? Ну и Формс - опенсорс - реализуйте своё виденье,, создавайте Pull request

Ну вот регулярная ситуация: хочется потащить какую-нибудь панель по pan
ситуация - навесить тап на элемент и вызвать при тапе метод во VM куда чаще, чем необходимость таскать панель)

Boris
18.09.2018
10:09:09
Окей. какие альтернативы? Ну и Формс - опенсорс - реализуйте своё виденье,, создавайте Pull request
И поддерживать свой форк, который будет менее популярен потому что все доки не про него ?

Google
Kirill
18.09.2018
10:09:40
Boris
18.09.2018
10:09:45
Кита
18.09.2018
10:10:19
А если тебе не надо трогать vm, то ты просто на месте создаешь команду, в которую пихаешь лямбду...
Эм. Обработка тапа на вью куда более распространённый кейс. Бывает что нужно и свайп и тап навесить. Как раз через коллекцию gesture recognizeров это и делается, а ещё бывают между ними конфликты которые нужно устранять

Boris
18.09.2018
10:10:22
как бы я сказал не про форк, а про PR в сам формс
Отличный план. Давай трезво подумаем какой шанс что его примут?

Kirill
18.09.2018
10:11:01
Отличный план. Давай трезво подумаем какой шанс что его примут?
Если хорошо аргументируешь - шанс есть. Пока кроме вкусовщины аргументов не вижу

Boris
18.09.2018
10:12:18
Если хорошо аргументируешь - шанс есть. Пока кроме вкусовщины аргументов не вижу
Аргумент: это отклонение того что уже было принято в XAML, которое не дает ни одного осмысленного плюса

Кстати, XAML-фреймворки сами по себе не требуют MVVM. Так что аргументы, что проще туда передать команду не имеют смысла для части комьюнити

Kirill
18.09.2018
10:14:00
Boris
18.09.2018
10:14:12
Я могу смело сделать реально мелкое приложение целиком в коде бехайнде вьюхи

Могу начать делать в MVP/MVC стиле

Или вообще начать прикручивать какой-нибудь модный VIPER и фреймворк не должен мне мешать

Kirill
18.09.2018
10:14:56
Можешь. Я на xamarin приложение пишу вообще без использования xaml

Boris
18.09.2018
10:15:30
Google
Boris
18.09.2018
10:16:33
В целом это ничего не меняет. Всё равно было бы проще иметь события и возможно просто команды свойствами

Kirill
18.09.2018
10:21:27
Boris
18.09.2018
10:23:32
Строки биндингов бы на что-то типизированное заменить...

Kirill
18.09.2018
10:25:08
Ну предпочитаю разметку делать не из кода)

Boris
18.09.2018
10:25:33
Например?
set.Bind(this) .For(v => v.ModeList) .To(vm => (vm.Device).ModeList) .TwoWay();

(это MvvmCross)

Kirill
18.09.2018
10:26:15
А особенно классно когда в разметке можно и биндинги делать. Это допустим в нативках есть у AppKit, но почему-то нет в UIKit.

Kirill
18.09.2018
10:26:57
AppKit ?
macOS приложения)

Boris
18.09.2018
10:27:14
set.Bind(this) .For(v => v.ModeList) .To(vm => (vm.Device).ModeList) .TwoWay();
Какой-то уродливый я пример скопипастил... Но суть понятна

Kirill
18.09.2018
10:29:26
set.Bind(this) .For(v => v.ModeList) .To(vm => (vm.Device).ModeList) .TwoWay();
Прямая связь с VM не есть хорошо. Но можно и методом. Это моя реализация, что бы верстка в коде чище была

Кита
18.09.2018
10:29:29
macOS приложения)
Ну вот меня и смутило. На мобилках долго в UIkit не будет ещё привязок. Потому как вроде только только согласились делать xml-подобную верстку как в Android чтобы можно было без дизайнера в Xcode править сразу

Kirill
18.09.2018
10:36:37
Ну все равно, лучше уж совсем независимо

Google
vladimir
18.09.2018
10:37:29
это как так?

Boris
18.09.2018
10:37:33
Лучше не знать к чему ты привязываешься? Спорное утверждение

vladimir
18.09.2018
10:37:43
тогда их нельзя будет связать

Кита
18.09.2018
10:37:47
Почему не есть? View знает о VM, а VM о M и это норма
а вот тут уже не соглашусь) VM о M ничего не должна знать. По сути должен быть 1 интерфейс получения различных данных описанный в domain слое который уже выдает некие Entity. А data слой единственное о чем знает - какой интерфейс ему надо реализовать и какие entity выдать наружу. Таким образом VM не знает вообще ничего кроме как о Entity и сервисах доменного слоя. V о VM и об этих Entity тоже вполне себе может знать.

vladimir
18.09.2018
10:37:48
кто-то о ком-то должен же знать

Кита
18.09.2018
10:42:56
я не тащу DTO с их возможными зависимостями от чего угодно хоть от json, хоть от grpc хоть от realm. Я использую промежуточные Entity domain слоя у которых есть не только поля но и методы бизнес-логики.

vladimir
18.09.2018
10:43:10
Допустим, у тебя приложение в стиле интернет магазина и есть товар и соответственно страница просмотра товара. ItemData - дтоха, которая приходит с сервера, ItemDataViewModel - VM, ItemDataView - View. ItemDataViewModel знает какие поля есть в ItemData?
в его случае ItemData будет иметь аналогичный возможно даже с теми же полями объект типа ItemDataEntity, который пригоден для работы с VM облепиха абстракций

хорошо это или плохо - не могу сказать спорно

Кита
18.09.2018
10:43:56
в его случае ItemData будет иметь аналогичный возможно даже с теми же полями объект типа ItemDataEntity, который пригоден для работы с VM облепиха абстракций
угу, примерно так. В итоге остаешься независим от смены реализации дата слоя. Меняешь маппинг и все. + есть внутренняя логика кэширования и сохранения всякой прочей дребедени и она остается в data независимо от реализации провайдера данных и того какой контракт с сервером.

vladimir
18.09.2018
10:45:03
самое страшное, когда ItemData видна в ItemDataView

вот от такого уж точно надо избавляться

Boris
18.09.2018
10:45:46
вот от такого уж точно надо избавляться
В зависимости от приложения

vladimir
18.09.2018
10:46:07
В зависимости от приложения
пример, где такое допустимо, пожалуйста

Кита
18.09.2018
10:46:18
самое страшное, когда ItemData видна в ItemDataView
ну бывает что не хватает примитивов и конвертеров чтобы как-то сконвертить типы domain уровня в типы с которыми может работать view. Очень редко такое бывает, но действительно доставляет хлопот(

vladimir
18.09.2018
10:47:04
ну максимум, что я себе позволял, это какой-нибудь enum из API видный во View

Boris
18.09.2018
10:47:37
пример, где такое допустимо, пожалуйста
Когда у тебя много разных сабтайпов у ItemData, а команды и прочее наполнение VM одинаковое

vladimir
18.09.2018
10:48:08
то есть когда очень много разных моделей в моделях?

Кита
18.09.2018
10:48:25
Например из последнего: на вьюхе с камерой нужно рисовать некие квадратные объекты разных цветов по координатам: а информация об этих шэйпах идет из data слоя

vladimir
18.09.2018
10:49:26
Например из последнего: на вьюхе с камерой нужно рисовать некие квадратные объекты разных цветов по координатам: а информация об этих шэйпах идет из data слоя
так разве это не ваш подход, чтобы преобразовать эти данные в ещё одну обёртку уровня VM и потом уж ей пользоваться?

Google
Boris
18.09.2018
10:49:54
то есть когда очень много разных моделей в моделях?
Не совсем. Допустим, у тебя есть отдельные классы для разных типов айтемов. Но действия из UI с ними одинаковые, поэтому ты в целом можешь реюзать VM

Кита
18.09.2018
10:50:59
так разве это не ваш подход, чтобы преобразовать эти данные в ещё одну обёртку уровня VM и потом уж ей пользоваться?
ну так. из дата слоя приходит уже некий смапленный тип объединяющий в себе допустим и Rectangle и Color из System.Drawing и Text. И онже едет до вьюхи которая ждет что ей скормят именно этот тип, потому как нельзя взять и сделать на View отдельные проперти типа System.Drawing, ибо шэйпов там этих может быть целая коллекция например. В итоге вьюха оказывается завязана на тип domain слоя. Увы. Выход написать примерно тоже самое на уровне View и смаппить/сконвертировать. Но бывает часто лень уже)

Constantine
18.09.2018
10:57:01
Всем привет! Очень нужна помощь. Пытаюсь собрать приложение для запуска на iOS 12. При дебаге на устройстве и эмуляторе все отлично. Но как только собираю in-house версию и пытаюсь ее установить на 12 iOS, приложение начинает вылетать сразу после сплэш скрина. Xamarin.Forms, VS for Mac последняя для Xcode 10.

Venofied
18.09.2018
11:20:44
Народ, как сделать простую видеогалерею

Загрузка из интернета

Ios

vladimir
18.09.2018
11:25:08
какого вида галерею?

Venofied
18.09.2018
11:28:48
Контроллер на контроллере, видео с описание списком, нажимает на видео открывается видеопроигрыватель и запускает видос

Из ютуба можно сделать как то?

vladimir
18.09.2018
11:31:20
вы не описали вид галереи, а описываете какую-то свою реализацию, которая у вас в голове

Admin
ERROR: S client not available

vladimir
18.09.2018
11:31:22
телепатов нет

Sora
18.09.2018
14:07:38


(Кнопка Next не активна)

Max
18.09.2018
14:08:20
Com ТОЧКА имя

Попробуй

Sora
18.09.2018
14:08:30
Важно отметить - Rider отказывается видить Mono, который я уже поставил дважды - версию для Visual Studio и для него

Com ТОЧКА имя
он его серым чуть ниже и так пишет



Google
vladimir
18.09.2018
14:09:34
а вы руками все компоненты ставили или с установщиком от VS?

Max
18.09.2018
14:09:53
Ок

Sora
18.09.2018
14:10:58
vladimir
18.09.2018
14:11:05
в VS -> Preferences -> .NET Runtimes выбран ваш Mono framework?

Sora
18.09.2018
14:11:17
Ему надо руками указать, если не видит
И руками непонятно какой адрес указывать - я нигде её найти не могу



vladimir
18.09.2018
14:12:03
всё также

только версия чуть повыше

Sora
18.09.2018
14:12:51


Kirill
18.09.2018
14:13:33
Target Platforms видимо необходимо выбрать

Sora
18.09.2018
14:13:43
Они серые

Я не могу их выбрать

vladimir
18.09.2018
14:18:58
а SDK для iOS и Android установлены и пути к ним стоят?

Kirill
18.09.2018
14:19:20
Я не могу их выбрать
поэтому и не можешь создать проект.

Sora
18.09.2018
14:19:39
а SDK для iOS и Android установлены и пути к ним стоят?
Ну, Android Studio у меня стоит, поэтому SDK точно где-то есть

vladimir
18.09.2018
14:21:33
для iOS нужно xcode качать и т.п., в доках всё это есть

Dmitry
18.09.2018
14:26:32
Всем привет, может кто-нибудь подсказать, как как в Xamarin Android можно из service обратиться к уже запущенной Activity?

Julius
18.09.2018
14:30:42
Ребят, кто-то работал с Places SDK, конкрент current Place интересует, где там в PlaceLikelihoodBufferResponse должны находиться места ?

Larymar
18.09.2018
14:33:04
Sora
18.09.2018
14:34:13
для iOS нужно xcode качать и т.п., в доках всё это есть
Мне хоть iOS и не нужна, но XCode и все библиотеки для неё у меня тоже есть

Я проверил - Visual Studio видит и SDK, и NDK, и 27 API.



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