
Max
23.08.2017
18:58:20

Iskander
24.08.2017
08:51:21
Господа, доброго времени суток! Меня зовут Искандер, я старший разработчик .Net в компании IEIT. Почти все наши решения ориентированы на государственные структуры, используем исключительно .Net стэк, лишь для мобильных версии в штате есть несколько Android / IOS разработчиков. На данный момент руководство поставило задачу - изучить и доложить, можно ли перейти на Xamarin. Есть ли среди вас те, кто мог бы поделиться /рассказать / предупредить про подводные камни, про плюсы и минусы такого варианта?


Nik
24.08.2017
09:08:19
Господа, доброго времени суток! Меня зовут Искандер, я старший разработчик .Net в компании IEIT. Почти все наши решения ориентированы на государственные структуры, используем исключительно .Net стэк, лишь для мобильных версии в штате есть несколько Android / IOS разработчиков. На данный момент руководство поставило задачу - изучить и доложить, можно ли перейти на Xamarin. Есть ли среди вас те, кто мог бы поделиться /рассказать / предупредить про подводные камни, про плюсы и минусы такого варианта?
хм, учитывая название чата.....какие минусы?)одни плюсы:)
а если серьезно. все зависит от целей и от того, какое приложение вы делаете. Если госструктуры, то полагаю что-то очень типовое, и тот же xamaring.forms будет только плюсом, позволяющим в итоге сэкономить на разработке

Iskander
24.08.2017
09:17:22

Google

Кита
24.08.2017
09:19:04


Kirill
24.08.2017
09:20:59
Господа, доброго времени суток! Меня зовут Искандер, я старший разработчик .Net в компании IEIT. Почти все наши решения ориентированы на государственные структуры, используем исключительно .Net стэк, лишь для мобильных версии в штате есть несколько Android / IOS разработчиков. На данный момент руководство поставило задачу - изучить и доложить, можно ли перейти на Xamarin. Есть ли среди вас те, кто мог бы поделиться /рассказать / предупредить про подводные камни, про плюсы и минусы такого варианта?
Ник в принципе верно ответил. Если дизайн не сложный и не критичен моментальный отклик интерфейса (forms добавляет минимальную задержку, но с каждой версией ситуаия улучшается), то Xamarin.Forms подойдет отлично. Если же эти пункты важны, то xamarin.native (интерфейс под каждую платформу отдельно, логика общая).
Дизайн кастомный - ну смотря на сколько кастомный, сложность дизайна на XF растет в геометрической прогрессии, при выходе из стандартных контролов.
real time interaction - такое реально.


Iskander
24.08.2017
09:21:18

Кита
24.08.2017
09:21:33
были, есть и будут

Kirill
24.08.2017
09:21:45

Кита
24.08.2017
09:22:25

Almaz
24.08.2017
09:22:28
Дешевле обойдется, потому что хамарин разработчики дешевле нативных в среднем

Kirill
24.08.2017
09:22:34

Кита
24.08.2017
09:23:40

Almaz
24.08.2017
09:23:51
За 3 года формсы так и не стабилизировались...

Google

Kirill
24.08.2017
09:23:54

Кита
24.08.2017
09:24:11
если нужен прототип быстро, который будет переписан в дальнейшем - то это xamarin.forms. В принципе за 60 часов в 4 руки воплне реально простенький рабочий прототип набросать на 2 платформы.

Kirill
24.08.2017
09:24:49

Iskander
24.08.2017
09:26:44
Мне вот интересно, как Xamarin работает с пакетами NuGet? Т.е. могу ли я просто взять и подключить любой пакет в проект? Я полагаю, что код на шарпе или эфшарпе переводится на jvm/ IOS byte codе ?

Kirill
24.08.2017
09:27:34
из коробки работает и почти все плагины как раз таки через nuget распространяются

Iskander
24.08.2017
09:35:25

Pavel
24.08.2017
09:38:54

Alex
24.08.2017
09:44:43
У меня только первый проект на этом чуде, но магии в Xamarin нет. Любые взаимодействия с функциями целевой ОС реализуются в проектак для этой ос, а еще танцы с бубном это сделать адаптивный интерфейс под ios и андроид. Пока еще мало бесплатных и универсальных компонентов. Как и всегда "Пиши код!"?

Сергей
24.08.2017
09:49:57
как безопасно хранить токен авторизации приложения, и другие конфеденциальные данные приложения? так чтобы другие установленные приложения на этом устройстве, этот токен не смогли получить
например для андроид, насколько я знаю все приложения можно просмотреть, и можно этот секретный токен легко найти и обнаружить
в iOS если я не ошибаюсь, видимость приложения только внутри личных файлов самого приложения - и там возможно такой проблемы не будет

Almaz
24.08.2017
09:51:08
Можно шифровать токен ключом вшитым в приложение, если хотите

Сергей
24.08.2017
09:51:52
этот ключ же можно обнаружить, т.к. приложение андроид легко разделяется на исходники?

Kirill
24.08.2017
09:52:01

Сергей
24.08.2017
09:53:53
то есть можно просто шифровать любым ключем, который только придет в голову, и хранить в папке данных приложения? и для iOS и для андроид?

Almaz
24.08.2017
09:53:57
В теории ничего безопасного нет)

Сергей
24.08.2017
09:55:26
ок, спасибо

Ivan
24.08.2017
10:22:20
https://medium.com/@ericfu/securely-storing-secrets-in-an-android-application-501f030ae5a3

Google

Ivan
24.08.2017
10:22:31
очевидная тема для гуглинга

Ssjuk
24.08.2017
11:02:49
всем привет, никто не сталкивался с RTL на Xamarin Forms? нужно зеркально отобразить все элементы, неужели прийдется переписывать все страницы для RTL или есть варианты проще??

Vladislav
24.08.2017
11:23:34
сталкивался
как раз заказчик араб
"обрадовал" меня этой фигней
https://android-developers.googleblog.com/2013/03/native-rtl-support-in-android-42.html вот это на XF не работает нормально. grid и stacklayout не разворачивает
придется все делать вручную

Ssjuk
24.08.2017
11:26:52

Vladislav
24.08.2017
11:29:55
пришлось писать RtlGrid и RtlStackLayout. который меняет column всем итемам а в стеке меняет местами элементы...

Евгений
24.08.2017
11:45:03
а разные холдеры нельзя было использовать?
изи решение

O'Miay
25.08.2017
12:09:15
Всем привет! Что используете для локализации?

Vladislav
25.08.2017
12:43:07
В где

O'Miay
25.08.2017
12:58:43

Kirill
25.08.2017
13:01:18

Almaz
25.08.2017
13:11:48
.resx если формсы

Paul
25.08.2017
13:15:54
Хороший вопрос, вот бы побольше народу отписалось, потому что какого-то мастхев инструмента я так и нагуглил, даже для нексамарин связки iOS + Android. Я написал приблуду для себя, которая из локализованных xml делает *.lproj и обвязку для получения локализованных строк в Core проекте.

Ильнур
25.08.2017
13:19:06
Народ, всем известно, что при потере keystore для android приложения, его уже не опубликовать через маркет с тем же id.
Есть ли такие же ограничения для ios ? Там ведь кажется можно сделать новый запрос на сертификат (request a certificate from a certificate authority).

Slava
25.08.2017
13:20:35

Kirill
25.08.2017
13:20:42

Google

Kirill
25.08.2017
13:21:17

Paul
25.08.2017
13:21:22
ну просто пишут же нативные приложения Android и iOS. Наверное им тоже надо языковые ресурсы шарить

Ильнур
25.08.2017
13:21:45

Kirill
25.08.2017
13:22:22

Paul
25.08.2017
13:23:21
ну какие например?

Kirill
25.08.2017
13:23:23
https://developer.xamarin.com/guides/xamarin-forms/advanced/localization/
ну какие например?
на Android в папках strings-LANG строки на соответствующих языках, в iOS в LANG.lproj папках языки

Paul
25.08.2017
13:25:26
да это я вкурсе, мне интересно как шарят одни ресурсы на две сборки

Kirill
25.08.2017
13:26:22

Кита
25.08.2017
13:49:08

Vladislav
25.08.2017
14:09:15
кстати
господа, подскажите идею, заказчик хочет смену языка без перезапуска приложения.
Используется resx, написано расширение для xaml, вот теперь сижу и думаю, как лучше сделать то обновление всех ресурсов на открытых страницах

Kirill
25.08.2017
14:13:43

Vladislav
25.08.2017
14:14:15
не нравится вот им...

Yury
25.08.2017
14:17:29
Прекрасно понимаю, что лишние бинднинги точно не будут полезны, но другого решения не нашли

Vladislav
25.08.2017
14:18:54
но когда уже прога на 10+ страниц написана...

Yury
25.08.2017
14:19:12
Или, как костыль, не все приложение перезапускать, а пересоздавать только открытие страницы

Vladislav
25.08.2017
14:19:33
тоже не вариант, терять активное состояние

Google

Иван
25.08.2017
14:23:39

Ivan
25.08.2017
18:43:52
Насчет перезапуска... у меня в винфоне удавалось все тексты менять без перезапуска
писал давно, емнип смена локали текущего потока плюс биндинг всех строк через AppResource класс

Vladislav
25.08.2017
20:03:05
Биндинг всех строк это конечно да
Жёсткий способ

Yury
25.08.2017
20:24:10
просто у нас их было в целом не так уж и много