
Кита
14.12.2016
16:02:58

Kirill
14.12.2016
16:04:04

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

Google

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

Кита
14.12.2016
16:04:40

Kirill
14.12.2016
16:04:43

Кита
14.12.2016
16:05:37

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

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

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 - да, это понятно, тоже используем.

Кита
14.12.2016
16:33:52

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

Кита
14.12.2016
16:36:34

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 в одиночку я не потяну.

Kirill
14.12.2016
16:54:27

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
Привет Вадим, блин, как же Мир тесен)

Denis
15.12.2016
07:47:22

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 репозитарий.

Schvepsss
16.12.2016
10:30:30

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
у нас любой пуш прилетает в телеграмм

Кита
16.12.2016
12:47:06

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

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

Кита
16.12.2016
12:49:53

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