@xamarin_russia

Страница 9 из 619
Kirill
14.12.2016
16:04:04
ну и что что кастомизировано. Дизайнер работает и с кастомизациями. Поверьте - я тоже делаю RIA и пишу в xaml. И узкое горлышко производительности не в xaml как таковом
ну хз, у нас не запустился. Может недавно что и поправили, не смотрели особо, и без него живём. Быстродействие важнее.

Damir
14.12.2016
16:04:13
у меня валится эксепшен при вызов postasync

Google
Damir
14.12.2016
16:04:28
system.net.webexception

Kirill
14.12.2016
16:04:43
можно и не оборачивать. Повторюсь - сложные вьюхи легко пишутся с абсолютами.
ну опять же, мы в таких случаях вообще свои лейауты пишем (наследуясь от Layout<View>)

Кита
14.12.2016
16:05:37
у меня валится эксепшен при вызов postasync
ну так ловите все эксепшны и читайте что написано в мессаджах

Damir
14.12.2016
16:06:46
Unknown Secure Transport error `RecordOverflow'.

о чем вам говорит этот эксепшен?

я вот с тем что мне VS выплевывает в эксепшене пока не могу понять

что не так

я подозреваю тока что проблема из адреса апи

Kirill
14.12.2016
16:07:38
Damir
14.12.2016
16:07:45
ios emulator

Kirill
14.12.2016
16:07:54
http/https?

Google
Кита
14.12.2016
16:08:10
ну опять же, мы в таких случаях вообще свои лейауты пишем (наследуясь от Layout<View>)
короче понятно - насоздавали сами себе проблем и героически их решаете, не пытаясь даже разобраться внятно где проседания по перфомансу проходят

Damir
14.12.2016
16:08:13
метод c атрибутом ReqiredHttps

апи адрес http

Kirill
14.12.2016
16:08:38
начиная с ios 9 нельзя обращаться к http без прямого указания этого в info.plist

Кита
14.12.2016
16:09:27
апи адрес http
читайте что такое NSAppTransportSecurity

Kirill
14.12.2016
16:10:11
короче понятно - насоздавали сами себе проблем и героически их решаете, не пытаясь даже разобраться внятно где проседания по перфомансу проходят
Вообще то разбирались. Это одни из шагов оптимизации производительности. Ну какие еще есть места, которые влияют на производительность?

Кита
14.12.2016
16:27:53
Вообще то разбирались. Это одни из шагов оптимизации производительности. Ну какие еще есть места, которые влияют на производительность?
если помониторить аппу профайлером то очевидно что проседания по перфомансу происходят именно в момент лэйатунга а не во время создания вью, какой бы сложности они ни была. Безусловно вложенность контейнеров будет влиять на скорость рендеринга и поэтому достаточно задать правило - попытаться описать все на absolute layout(при этом подходе анимации пишутся очень просто и удобно), если не получается то тогда на Grid - у нас вложенность дальше 3х парентов никогда не создается. Но это не все. Лэйаутинг по сути это расчет размеров и его не обязательно делать в UI треде. Если копнуть в эту сторону то можно создать такой абсолют лэйаут который будет создавать внутренние контролы в параллельном потоке, исключая только те что могут создаваться только в UI. Не поверите - вы удивитесь дикому приросту производительности. При том все будет потокобезопасно. Следующий шаг это профилировать перерисовку - большая часть подводных камней кроется во вью-моделях. Проперти не должны вызывать свое изменение по каждому чиху, если меняется нексколько пропертей сразу то нужно использовать что-то типа транзакций на изменения. Т.е сначала изменяется список пропертей и только потом скопом делается BatchCommit - и вместо n перерисовок вы получаете 1

Kirill
14.12.2016
16:32:47
Про расчет размеров в другом потоке интересная идея, до такого не додумался. Про ViewModel и BatchCommit - да, это понятно, тоже используем.

Kirill
14.12.2016
16:34:32
Ну да, всё таки обращение к UI элементоd не из главного потока не особо предусмотрено системой.

Кита
14.12.2016
16:36:34
Ну да, всё таки обращение к UI элементоd не из главного потока не особо предусмотрено системой.
впринципе мы с опаской подходили к этому решению, но в конечном итоге выловили все возможные негативные моменты и уже имплементацию не на одном проекте применяем. Пока все довольны

Kirill
14.12.2016
16:36:57
А где-нибудь пример можно посмотреть?

Кита
14.12.2016
16:37:43
неа( надо собраться и выложить на nuget

опять же мы ещё немного скованы NDA, надо разрешения просить по-хорошему

Kirill
14.12.2016
16:39:04
Было бы хорошо. Тоже есть часть наработок, которые надо бы допилить и выложить, но пока руки не дойдут ни как

NDA та еще боль для разработчиков, которые хотят делиться знаниями) Хотя многие компании выкладывают свои наработки в виде библиотек, дабы спокойно использовать во всех проектах без юридических проблем из-за копирования кода с одного проекта в другой

Akhmed
14.12.2016
16:43:37
Я вот тоже в домашних проектах делал подобные наработки. Но делал идеологию похожую на React JS нежели к тому что мы привыкли (MVVM).

Покрыл только базовые контролы - а так можно покрыть большую часть и попробовать опубликовать. В любом случае довести до уровня XF в одиночку я не потяну.

Damir
14.12.2016
17:00:26
теперь такой эксепшен валится System.IO.IOException: Remote prematurely closed connection.

Google
Damir
14.12.2016
17:00:27
начиная с ios 9 нельзя обращаться к http без прямого указания этого в info.plist

читайте что такое NSAppTransportSecurity

<key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <false/> <key>NSExceptionDomains</key> <dict> <key>http://IP Address/Oep.Web.Api</key> <dict> <key>NSIncludesSubdomains</key> <true/> <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key> <true/> <key>NSTemporaryExceptionMinimumTLSVersion</key> <string>TLSv1.1</string> </dict> </dict> </dict>

щас вот так

в Info.list

plist*

------- var client = new HttpClient(); client.Timeout = TimeSpan.FromSeconds(30); client.MaxResponseContentBufferSize = 256000; var json = JsonConvert.SerializeObject(request); var content = new StringContent(json, Encoding.UTF8, "application/json"); var response = await client.PostAsync(uri, content);

что еще упустил?

Igor
14.12.2016
17:48:36
Кстати тут про Xamarin идет Live Event на channel9 https://channel9.msdn.com

Akhmed
14.12.2016
17:59:32
Спасибо за ссылку

Kirill
14.12.2016
18:07:32
Кстати на счет своей перепилки контролов Xamarin Forms, вот 2 скрина с иерархией вьюх на Android при реализации в Xamarin Forms и в моей.

На 1 моя реализация. [] - ViewGroup

А вот апк с как бы бенчмарком. Моя реализация из кода, forms из кода и xaml. (Не помню точно, включена ли xamlc, но вроде да). В тоасте время открытия экрана

Структура одинаковая абсолютно.

Правда с моей реализацией пока ничего сложнее не сделать, чем в этом приложении, но это все реализуется со временем. Скинул в основном ради демонстрации Xaml vs. Code

https://github.com/BOOMik/Xamarin.Ui проект тут, проверил xamlc отключена. Сделаю вариант с ней. Ну и вдруг кто захочет присоединиться:)

Damir
14.12.2016
22:15:54
Hard-coded IP address wont work in iOS9. I also faced the same issue. Tried all permutations & combinations of available solutions. Finally, had to use a proper domain name. So, NO.In iOS9 you just can't get away with hard-coded IP addresses.

__ а это всем также как и я столкнется с этой бедой

пруф с эппла

Google
Igor
14.12.2016
22:30:58
Сэкономил 200руб на домене? ?

Vadim
15.12.2016
07:11:48
Всем привет! Ребят, общий вопрос для всех, как часто на практике вы проверяете свои алгоритмы на сложность, другими словами проводите асимптотический анализ алгоритмов?

Виктор
15.12.2016
07:15:07
Контур? ))

Vadim
15.12.2016
07:15:37
Прям в точку

)

И всё-таки

Виктор
15.12.2016
07:15:51
))

Vadim
15.12.2016
07:17:34
https://tproger.ru/experts/7/ уж извините за желтизну ресурса, но мне пару дней назад приглянулся ответ на эту тему от Паши Егорова, который разрабатывал базовый курс по программированию "Основы программирования" для первокурсников УрФУ и других ВУЗов

Vadim
15.12.2016
07:36:34
Привет Вадим, блин, как же Мир тесен)

Vadim
15.12.2016
13:24:38
Немного юмора...

Kirill
15.12.2016
14:15:52
?

Denis
16.12.2016
08:09:06
За день до хакатона для всех желающих Microsoft организовал курс погружения в Azure и Xamarin.Forms. Курс длился 3 часа. В ходе курса было создано приложение для публикации аудио отзывов, которое конвертирует звук в текст и использует iBeaons для привязки к месту отзыва. Приложение использует следующие технологии: MS Cognitive Services, Azure App Service, Xamarin.Forms, Bluetooth Low Energy. Если кому-нибудь интересно поизучать пример, то исходные коды доступны по адресу https://github.com/kretovd/hackathon2016Demo Документация к API https://xamarin2016.azurewebsites.net/swagger Если будут вопросы по демке, задавайте.

Slava
16.12.2016
08:09:50
спасибо!

Denis
16.12.2016
10:22:25
Возвращаясь к Moblie Center и билду проектов под iOS в облаке. Можно уже пробовать по ссылке https://mobile.azure.com/ Правда пока можно подключить только GitHub репозитарий.

Akhmed
16.12.2016
10:31:37
А это разве было секретом? Я тоже видел в инете эту ссылку

Denis
16.12.2016
10:31:56
Мне пришло приглашение на почту. Я отправил запрос на регистрацию.

Akhmed
16.12.2016
10:32:41
Кстати да.

+ эту ссылку транслировали на весь мир вот в этом видео

Google
Akhmed
16.12.2016
10:34:00
https://channel9.msdn.com/Events/Xamarin/Xamarin-Dev-Days-Live/Connect-2016-for-Mobile-Developers

так что ссылка давно не секрет

Schvepsss
16.12.2016
10:34:34
Раньше было по инвайтам просто

Kirill
16.12.2016
11:30:06
Мы в качестве CI используем bitrise.io и для Android и для iOS проектов. И довольны

Кита
16.12.2016
12:45:49
мы используем jenkins с интеграцией уведомлений в slack. +любой пуш в дев собирает Adhoc, любой пуш в мастер собирает appstore/release версию. удобно. любая инфа о неудачах приходит в мессенджер

Akhmed
16.12.2016
12:46:21
настраивать все это хозяйство не удобно - а так да - если все настроено то удобно

Slava
16.12.2016
12:46:43
у нас любой пуш прилетает в телеграмм

Akhmed
16.12.2016
12:47:34
bitrise, VSTS - там почти все основное настроено.

bitrise еще проще чем VSTS - но там нет винды

Igor
16.12.2016
12:49:26
А что вы делаете если нужно несколько сборок с разным ресурами (картинки, названия, тексты и тд)?

Igor
16.12.2016
12:50:20
Собираем брендированные приложения на общей кодовой базе.

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