@xamarin_russia

Страница 320 из 619
?‍?
13.03.2018
20:50:00
Отсюда и разница типов как несовместимых при разных версиях сборок, если guid не явно указан

Но я это только на VC++ практиковал

Paul
13.03.2018
20:51:25
Действительно, есть такое поле у Type. Но как тут это может помочь?

?‍?
13.03.2018
20:53:09
Сделать свой класс-подмену с теми же guid, или расширить, например методом расширения, который вы в статике будете вызывать.

Google
Paul
13.03.2018
20:54:52
это дичайшее хакерство какое-то

?‍?
13.03.2018
20:55:37
Думаю лучше дождаться тех, кто лучше разбирается в линкерах, чем рубить топором (ну или харекством обзывать), кажется MS сам такое практикует

Paul
13.03.2018
20:58:03
Ага, апологетов Linker'а, кторые всегда говорят при случае, что если его врубить, то сборка раздувается всего чуть-чуть по сравнению с native'ом :)

Max
13.03.2018
21:09:13
Кто-нибудь баловался с OpenCV и XF?

Slava
14.03.2018
04:57:02
Кто-нибудь баловался с OpenCV и XF?
Да, делали это в 2014 году. Хотя XF тут не при чем, все надо на уровне iOS/Android делать. Байндить либы OpenCV напрямую был большой геморрой, взяли EmguCV за деньги. iOS был вменяемый, а вот Android работал очень медленно, поэтому заменили его на Wikitude

Maksim
14.03.2018
05:41:46
Как сберечь вложенный приватный класс от линкера?
Можно в XML для линкера указать полное название типа

?‍?
14.03.2018
05:57:50
Можно в XML для линкера указать полное название типа
Точно, под UWP вырезал метаданные из сборок целыми пространствами с помощью *.rd.xml, запамятовал, что можно в том же файле защищать типы от удаления. https://docs.microsoft.com/ru-ru/dotnet/framework/net-native/runtime-directives-rd-xml-configuration-file-reference @Paul_N

Alexander
14.03.2018
06:32:47
ребята работающие с AdSense, вы платите налоги?)

?‍?
14.03.2018
06:50:47
ребята работающие с AdSense, вы платите налоги?)
Такое, пожалуйста, в ЛС обсуждайте

Sergey
14.03.2018
08:39:15
Кто что думает про Flutter? Выглядит перспективно. Кто-нибудь пробовал уже?

Алексеев
14.03.2018
10:12:38
Кто что думает про Flutter? Выглядит перспективно. Кто-нибудь пробовал уже?
Думаю что нужно узнавать в чатике специализирующемся по Flutter

Sergey
14.03.2018
10:20:42
Думаю что нужно узнавать в чатике специализирующемся по Flutter
Уточню тогда. В сравнении с Xamarin. Я сейчас для нового проекта выбираю на чем его делать - на Xamarin или на Flutter.

Vladimir
14.03.2018
10:25:35
Ребята! Кто-то сталкивался с невозможностью дебажить (а иногда и запуститть) watchOS приложения в симуляторе? Пилю небольшое приложение под watchOS. С Android Wear никаких проблем, а тут даже симулятор нормально не может открыть приложение. Либо виснет, либо открывает через раз. Простейшее приложение. С одной кнопкой. WatchOs 4.2

Google
Slava
14.03.2018
10:26:37
Уточню тогда. В сравнении с Xamarin. Я сейчас для нового проекта выбираю на чем его делать - на Xamarin или на Flutter.
Использовать бету в продакшене - так себе затея... Не говоря уже об остальном... Поищи через поле поиска, было тут мини-обсуждение...

Sergey
14.03.2018
10:29:36
Использовать бету в продакшене - так себе затея... Не говоря уже об остальном... Поищи через поле поиска, было тут мини-обсуждение...
Я это первым делом сделал, но маловато информации. Как я читал, есть уже опубликованные и вполне успешные приложения на Flutter и концепция интересная. Да и у гугла свое понимание беты, если вспомнить тот же gmail. Я мобильную разработку только начинаю изучать, поэтому хотелось бы услышать мнение более опытных людей.

Кита
14.03.2018
10:47:30
Уточню тогда. В сравнении с Xamarin. Я сейчас для нового проекта выбираю на чем его делать - на Xamarin или на Flutter.
Тут уже кидали апк сделанную на флаттере этом. Было обсуждение. Воспользуйтесь поиском

Egor
14.03.2018
10:49:57
любой кроссплатформ фраемворк (погуглите, их уже были сотни на самом деле) вызывает восторг от концепций, но потом и пользователи и создатели понимают что его надо еще лет 5 шлефовать)

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

за 20% усилий создали 80% фраемворка и чтобы допилить оставшиеся 20% надо 80 % усилий)

Sergey
14.03.2018
10:58:18
любой кроссплатформ фраемворк (погуглите, их уже были сотни на самом деле) вызывает восторг от концепций, но потом и пользователи и создатели понимают что его надо еще лет 5 шлефовать)
Я в курсе. Из тех за кем стоит кто-то из больших компаний только три - Xamarin, React Native и Flutter. React не рассматриваю по причине аллергии на JS (также как всякие Cordova и PhoneGap). :) Очень велик соблазн поставить на темную лошадку. Вдруг выстрелит и получится стать востребованным специалистом который с самой беты ей пользуется. На тот же C# я c C++ пересел во времена .net 1.1, когда там даже generics не было.

Egor
14.03.2018
10:59:08
так дарт - тот же жс, не?

Sergey
14.03.2018
11:01:29
так дарт - тот же жс, не?
Он как минимум strong typed и компилируемый и без кучи шлака тянущегося еще со времен Netscape.

Egor
14.03.2018
11:02:10
ну попробуй, можешь как на волне подняться, так и выбросить весь свой опыт в трубу

кто знает, дарт вообще давно вроде существует - никому не интересен

за пределами гугла

Sergey
14.03.2018
11:04:04
Но внутри гугла его вроде активно используют. Хотя согласен что язык малопопулярный. С другой стороны, тот же swift который только появился тоже все бросились изучать не смотря на привязку только к iOS (пока).

vladimir
14.03.2018
11:05:45
прямо-таки все бросились изучать?

Egor
14.03.2018
11:05:52
Но внутри гугла его вроде активно используют. Хотя согласен что язык малопопулярный. С другой стороны, тот же swift который только появился тоже все бросились изучать не смотря на привязку только к iOS (пока).
айос держит больше половины денег мобильного рынка, Свифт учили, потому что Обж Си ужасен, на контрасте. Ну и потому что эпл может позволить себе делать что угодно - люди буду подстраиваться ?

ломать обратную совместимость, усложнять жизнь - сжимаешь зубы и продолжаешь ? все деньги там

Александр
14.03.2018
12:19:21
Люди как сделать dialog fragment в фрагменте?

Rustam
14.03.2018
13:05:24
оффтоп если кому интересно, то в либу Lottie.Xamarin добавилась поддержка кликов и PlaySegment (пока сделал только для XF) https://github.com/martijn00/LottieXamarin

Rustam
14.03.2018
13:10:40
нугет уже обновлен овнером. Если кто пользуется либой - помогайте контрибьютить :)

Google
Orhan
14.03.2018
13:41:47
Сегодня столкнулся с такой же проблемой.Проблема возникла после очередного обновления windows

Andy
14.03.2018
13:43:13
вроде уже все работает смущает что все как то шатко

Dmitriy
14.03.2018
14:16:48
Привет, ребят, нужна подсказка. Дело вот в чем. По кнопкам открываются страницы, открываются долго (некоторые по 7 секунд), т.к. там модель заполняется большими данными. Вся разметка оформлена на шарпе. При ожидании сменяется навигейшнбар, а на фоне висит предыдущая страница. Как в такой ситуации впаять активитиИндикатор? Сутки роюсь, опыта мало. Получилось его вставить на новую страницу, но он отображается уже после того, как вся страница построилась и во время загрузки по-прежнему видна предыдущая страница.

Dmitriy
14.03.2018
14:20:31
а частями данные грузить никак нельзя?
Не знаю, взял алгоритм построения дерева, как в проводнике, с плюсиками, с гитхаба.

Читал про стейтконтейнер. Надеялся, что хватит простого активити-индикатора. Нужно просто его отобразить в момент загрузки

Кита
14.03.2018
14:47:48
Ну вообще есть правило - сначала навигация, показ UI итд. А потом уже загрузка данных

Dmitriy
14.03.2018
14:48:58
Пытаюсь объявить поток, студия не понимает. Нужно ли еще что-то подключать кроме System.Threading?

Ivan
14.03.2018
14:49:15
Task.Run

Dmitriy
14.03.2018
14:49:44
Понял. Спасибо. Теперь сделаю

Кита
14.03.2018
14:50:49
Зачем потоки? Что? Вы определитесь сначала где конкретно у вас тормоза

Сначала происходит навигация, создается страница и пустой к ней контекст. Страница контексту сообщает что вью создана и показана. Контекст грузит данные, когда загрузил - показывает их (нотифицирует UI об изменении пропертей с данными).

Например данных много - 10000 айтемов. Контрол должен уметь в виртуализацию чтобы показывать только видимую область чтобы не создавать 10000 вьюшек а ровно столько сколько влезет на экран + 2. Например так работает из коробки recycle view на андроиде

Все. При таком подходе никаких тормозов. Никаких Task.Run итд. все решается обычными async await

Ivan
14.03.2018
14:56:40
только там не +2 и данные грузить и обрабатывать лучше все равно в фоне

Кита
14.03.2018
14:57:29
конечно в фоне

async await c этим прекрасно справляется

Google
Ivan
14.03.2018
15:04:50
async await c этим прекрасно справляется
У тебя все методы ui - void...

Кита
14.03.2018
15:06:42
У тебя все методы ui - void...
public void OnAppearing(){ LoadData(); }

private async void LoadData() { IsLoading = true; var data = await Repository.Load(); IsLoading = false; }

Ivan
14.03.2018
15:09:57
Да уж)

Почитай по async void

Кита
14.03.2018
15:10:48
замени на async Task

Kirill
14.03.2018
15:11:19
Почитай по async void
Ни кто не запрещает async void методы делать. Рекомендованно возвращать Task, но не обязательно. Просто экспешшены могут в таком случае проглатываться.

И то их тоже можно ловить

Ivan
14.03.2018
15:11:32
Ага и на Task.Run(LoadData)

Кита
14.03.2018
15:13:32
внутри try{} catch() что запрещает написать? тем более в catch происходит обработка ошибок типа 404 или любых других

Ivan
14.03.2018
15:18:10
Дак я не спорю, оно будет и так работать. Но что мешает применять TAP правильно?

Кита
14.03.2018
15:19:11
что значит “правильно”

Ivan
14.03.2018
15:21:09
что значит “правильно”
Когда нибудь поймёшь)

Кита
14.03.2018
15:21:13
Ключевой вопрос - приложение должно падать когда возникает неожидаемый эксепшн ?

Когда нибудь поймёшь)
По существу есть что сказать?

Суть в том что приложение ДОЛЖНО падать когда возникает эксепшн которого мы не ожидаем. Его подхватит любой трэкинговый SDK, а в дебаге ты увидишь причину падения. Если используется Task то обязательно надо прокидывать эксепшн наверх по стэку вызовов. в async void страшного нет если он используется наверху стэка вызовов. Внутри конечно должны вызываться Таски.

Ivan
14.03.2018
15:32:55
При чем тут это? Есть конкретные рекомендации как правильно писать асинхронный код. Конечно твое дело следовать им или нет)

Кита
14.03.2018
15:32:56
в моем примере Repository.Load() это Task и не может быть иначе. Внутри этого метода тоже кэтчатся все исключения и пробрасываются наверх через throw. Внутри async void через try catch ловятся и обрабатываются с показом алертов на UI. Все. Незамысловатые такие правила.

рекомендации кого?

Google
Кита
14.03.2018
15:33:28
Документации?

Ivan
14.03.2018
15:33:31
Microsoft?

Кита
14.03.2018
15:34:05
Конкретнее

ссылка. абзац. пример

Ivan
14.03.2018
15:35:33
Тебя в гугле забанили? Tap c# и в путь

Кита
14.03.2018
15:36:07
Тебя в гугле забанили? Tap c# и в путь
понятно. пруфов не будет

Уверен что ты прочитал что-то типа не пытайтесь делать try catch вызова асинхронного void метода итд

Конечно. это логично

Ivan
14.03.2018
15:38:55
Уверен что ты прочитал что-то типа не пытайтесь делать try catch вызова асинхронного void метода итд
По крайней мере отсутствие знаний компенсируется развитой интуиций ?

Кита
14.03.2018
15:41:15
Maksim
14.03.2018
17:00:37
Всегда, где это возможно нужно возвращать Task/Task<T>, если операция асинхронная, кроме обработчиков событий. Это бэст практис

Сирожа
14.03.2018
17:02:23
Доброго времени суток, коллеги. Родился такой вопрос - при добавлении большого числа дочерних элементов допустим к StackLayout приложение фризится на какое-то время, потом всё норм

Сирожа
14.03.2018
17:03:53
Это layout отрабатывает
Это я понял, да

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