@xamarin_russia

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

Iskander
24.08.2017
09:17:22
хм, учитывая название чата.....какие минусы?)одни плюсы:) а если серьезно. все зависит от целей и от того, какое приложение вы делаете. Если госструктуры, то полагаю что-то очень типовое, и тот же xamaring.forms будет только плюсом, позволяющим в итоге сэкономить на разработке
Геймдева и работы с физикой/3d точно не будет, но часто используем а) real time interaction (чаты, сбор и рассылка данных в реальном времени) б) насколько удобно в плане разработки кастомного дизайна сразу на 2 платформы?

Google
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
сэкономить - это иллюзия. Все жду когда же это поймут если не все то многие
Если дизайн в виде лейбл да 2 кнопки, то всё хорошо и получится экономия, вот на сложном дизайне, да без большого опыта действительно может уйти куда больше времени

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

Kirill
24.08.2017
09:22:34
Значит ли это, что у Xamarin есть пробелы со стабильностью?
Везде есть, но больше конечно у Xamarin.Forms. У Xamarin.Native с этим лучше.

ну надеюсь что госзаказ не на 2 кнопки и лэйбл
ну для внутреннего использования проект может быть таким

Кита
24.08.2017
09:23:40
ну для внутреннего использования проект может быть таким
я ж говорю. всегда нужно плясать от требований и задач, от перспектив дальнейшего масштабирования итд.

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

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

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

Iskander
24.08.2017
09:35:25
ну надеюсь что госзаказ не на 2 кнопки и лэйбл
Если есть свободное время, то можете скачать и потыкать следующие приложения: myHalyk, practo, chocolife.me - по сложности у нас примерно такие выходят проекты

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
этот ключ же можно обнаружить, т.к. приложение андроид легко разделяется на исходники?

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

Сергей
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
В где
IOS & Android

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).

Kirill
25.08.2017
13:20:42
.resx если формсы
так же делаем. Стандартный подход для Forms из коробки

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

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
да это я вкурсе, мне интересно как шарят одни ресурсы на две сборки
ну в forms - ссылка ваше, без forms - скорее всего или так же или нативные подходы для платформ, что наверняка

Кита
25.08.2017
13:49:08
.resx если формсы
.resx можно юзать в любых проектах

Vladislav
25.08.2017
14:09:15
кстати

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

Kirill
25.08.2017
14:13:43
господа, подскажите идею, заказчик хочет смену языка без перезапуска приложения. Используется resx, написано расширение для xaml, вот теперь сижу и думаю, как лучше сделать то обновление всех ресурсов на открытых страницах
без перезапуска сложно, так то при создании страниц ресурсы будут подгружаться корректно, но вот не все. Где-то с год назад интересовались этим вопросом - часть текстов все равно оставалась на старом языке. Перезапустить и норм... Чего все заказчики так боятся этого перезапуска не понятно..

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

Yury
25.08.2017
14:17:29
господа, подскажите идею, заказчик хочет смену языка без перезапуска приложения. Используется resx, написано расширение для xaml, вот теперь сижу и думаю, как лучше сделать то обновление всех ресурсов на открытых страницах
Заказчик хотел тоже самое, пришлось вертеться. В итоге сделали такую схему: 1) Для каждого текста сделали поле во вьюмодельке 2) Все открытые страницы подписываются через MessagingCenter на обновление, при получении сигнала они вызывают OnPropertyChanged для всех полей, текст которых должен поменяться 3) При смене языка просто кидаем Message

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

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
просто у нас их было в целом не так уж и много

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