Обновления и Xamarin
От: TechL  
Дата: 05.04.18 07:39
Оценка:
Повело нашего брата в мобильную разработку. Прошел стандартный rsdn'овский путь WinApi -> MFC -> WinForms -> WPF ... Куда дальше? Ясное дело — Xamarin. И вот какая штука получается.
Я понимаю, что технология довольно молодая и ядро было написано энтузиастами, но чтобы завести эту махину — нужен не только бубен, а еще Mac, macOS послдней версии, PC с новым Intel процом с поддержкой виртуализации, SSD, Android и iOS девайсы, куча времени и терпения.
Вот такой кейс случился при создании пустого приложения, который я надеялся будет работать под Visual Studio Mac и PC одинаково:
— Собираю Андроид версию — что-то не так с Android SDK и Build Tools. Обновляю их.
— Собираю опять. Вроде собралось. Запускаю в эмуляторе — нужна поддержка виртуализации и что-то еще. Не запустился. Обновляю эмуляторы.
— Забил. Деплою на девайс. Там тоже какие-то проблемы с подписью apk. Что-то не так с JDK, версия нужна 1.8. Обновляю ее.
— Деплою опять. Ура! "Welcome to Xamarin Forms!" посреди экрана. При чем должен заметить, что каждый билд + деплой — в районе минуты на пустом приложении. Это при том, что проект закинут на SSD, проц i5 3.3ghz, 16gb ram.

Обрадовался, заливаю все добро на Мак через bitbucket.
— Собираю на Маке. Не поддерживается netstandard 2. Обновляю netstandard.

Чтобы не томить, вот последнее что пришлось сделать на Маке.
Ставлю все последние обновления Visual studio, Xamarin iOs/Android.
Не собирается! Нужно iOS SDK 11.3. Где его взять? Нужно обновить Xcode IDE (5GB, Карл). Нажимаю обновить — "обновление невозможно, нужно обновить macos с High Siera 10.13.3 на High Siera 10.13.4".
Обновляюсь часа полтора. Наконец клацаю обновить XCode через appstore — зависает. Отменяю после ожидания. Клацаю обновить опять — еще полтора часа в компании с macOS проходит незаметно.
Запускаю наконец свой многострадальный солюшн, таргетирую на netstandard 1.6, ибо только он в VS Mac работает с ксамариной, пишет, что ios симулятор невозможно теперь запустить.

Какое то шаманство с XCode, установка через него симулятора версии ios 9 — проги вылетают. Ставлю ios 9.3 — таки запустилось. Рисковать собирать это все обратно на винде — я уже не стал.

Я все понимаю, но такие цепные обновления длинной в день — это из ряда вон. Причем запустить какое-то по ошибке, или автоматически — очень просто. А затем все перечисленной надо ставить,
и дай Боже, чтобы потом ничего не сломалось в самом проекте.
Да и сам деплой длинной в минуту-две, после изменения Margin на 2 юнита — тоже убийство времени. Ксамарин отнял у меня семью...
Re: Обновления и Xamarin
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 05.04.18 09:17
Оценка: 1 (1)
Здравствуйте, TechL, Вы писали:
TL>Да и сам деплой длинной в минуту-две, после изменения Margin на 2 юнита — тоже убийство времени. Ксамарин отнял у меня семью...

А ты отлаживай на UWP. Он не зря туда добавлен. Кстати надо посмотреть как там Xaml Standard.
и солнце б утром не вставало, когда бы не было меня
Re: Обновления и Xamarin
От: Kolesiki  
Дата: 06.04.18 17:39
Оценка: +1
Здравствуйте, TechL, Вы писали:

TL>Повело нашего брата в мобильную разработку.


Рано. В таком поносе, какой там сейчас, там делать нечего.

TL> Прошел стандартный rsdn'овский путь...


ШТА??


TL> WinApi -> MFC -> WinForms -> WPF ... Куда дальше? Ясное дело — Xamarin.


Бха!!! Убил!! Вы где такую траву-то берёте?? Где логическая связь между WinForms и WPF, а главное — между WPF и Xamrin?!! Вам кто сказал, что "следущее" — это какой-то индусячий новодел?

Следующее после WPF — это... снова WinForms! Если ты действительно понимаешь всю тухлость и тупиковость WPF.


TL> Ксамарин отнял у меня семью...


Это логично. Ты слепо прыгаешь на очередной хайп, получаешь граблями в лоб -> ОПЫТ!
Странно то, что практически никто не слушает нас, старых зубров, когда мы говорим (неоднократно!) про убожество каких-то вещей.

Увы, сейчас мы попали в крайне дурное положение из-за индусов на воеводстве (я про M$). Всё то хорошее, что было сделано до них, сейчас скатывается в УГ. И поэтому именно сегодня крайне важно сохранять холодную голову и не прыгать на очередную раздутую белиберду подобно WPF, IoT, Xamarin и т.п.
Re[2]: Обновления и Xamarin
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 06.04.18 22:37
Оценка: 1 (1) +1
Здравствуйте, Kolesiki, Вы писали:

K>Увы, сейчас мы попали в крайне дурное положение из-за индусов на воеводстве (я про M$). Всё то хорошее, что было сделано до них, сейчас скатывается в УГ. И поэтому именно сегодня крайне важно сохранять холодную голову и не прыгать на очередную раздутую белиберду подобно WPF, IoT, Xamarin и т.п.


Ну вот у меня сейчас и ксамарин и WPF. Все прекрасно. Просто порог вхождения немного высоковат. Но это же не для индусятины, хотя к индусам хорошо отношусь, просто у них огромное количество в ИТ индустрии.
А ты вcе на винформсах? Вот мне приходится и с винформсами, только после ВПФ блевать хочется.
Пока ксамарину далеко до ВПФ. Но развивается XAML Standard
https://github.com/xamarin/Xamarin.Forms/wiki/Feature-Roadmap

Кстати про xamarin live player https://xamdev.ru/first-xamarin-live-player/
и солнце б утром не вставало, когда бы не было меня
Отредактировано 06.04.2018 22:39 Serginio1 . Предыдущая версия .
Re: Обновления и Xamarin
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 06.04.18 22:41
Оценка:
Здравствуйте, TechL, Вы писали:

TL>Да и сам деплой длинной в минуту-две, после изменения Margin на 2 юнита — тоже убийство времени. Ксамарин отнял у меня семью...

Пока сам не пробовал, но хвалят https://xamdev.ru/first-xamarin-live-player/
и солнце б утром не вставало, когда бы не было меня
Re: Обновления и Xamarin
От: Somescout  
Дата: 07.04.18 05:50
Оценка:
Здравствуйте, TechL, Вы писали:

TL>...


А разве то что вы описываете не стандартная ситуация вообще со всем?

Решил попробовать Angular 2.
Первый сюрприз — оказывается это уже Angular 5. Ну оооок.
Ставлю, пробегаюсь по quickstart — вроде всё запустилось, всё работает.

Но как же отладка?
Visual Studio — только IE 11. Где Angular 5 выдаёт ошибку, ибо Array.from не определён. Самое смешное что VS может отлаживать Edge, просто они не осилили автоматизацию. А каждый раз для отладки делать Attach к нужному процессу — лениво.

Полез на VSCode... вроде и плагинов много для отладки на любой вкус.
Edge — не работает. Совсем.
Firefox — запускает. Не отлаживает. Совсем.
Chrome — запускается. Отлаживает. В точки останова не попадает. Совсем...
Ну, я хоть хром и не люблю, но хоть как-то он работает. Лезу разбираться. Через некоторое время появляется теория, что WebPack 2 теперь пакует скрипты так, что отладчик не может понять что где находится.

Тут начинаются уже приключения с Angular, ибо разработчики позаботились о том чтобы просто поменять настройки было нельзя, есть только два пути: либо всё стандартное и самодвижущееся (angular-cli), либо всё кишками наружу с манульной терапией (запуск через webpack). Потрошу проект в Webpack, меняю методом научного тыка настройки (документация, как обычно для опенсорса, выглядит так словно описывалась ветка из предыдущей версии проекта, которая так и не попала в основную ветвь) — ура, получилось. И ушло на это всего полтора дня...

Я новичок в современном Web'e, но ожидал что всё будет... продуманнее что-ли.
ARI ARI ARI... Arrivederci!
Re: Обновления и Xamarin
От: SomeOne_TT  
Дата: 07.04.18 07:52
Оценка:
Здравствуйте, TechL, Вы писали:

TL>Повело нашего брата в мобильную разработку. Прошел стандартный rsdn'овский путь WinApi -> MFC -> WinForms -> WPF ... Куда дальше? Ясное дело — Xamarin. И вот какая штука получается.


Сугубо личное мнение, продиктованное неприязнью к мс:
не стоит связываться к ксамарином и мобильными поделками мс.
Поматросят и бросят.
Re[2]: Обновления и Xamarin
От: TechL  
Дата: 07.04.18 11:53
Оценка:
Здравствуйте, Kolesiki, Вы писали:

K>Здравствуйте, TechL, Вы писали:


TL>>Повело нашего брата в мобильную разработку.


K>Рано. В таком поносе, какой там сейчас, там делать нечего.


K>Бха!!! Убил!! Вы где такую траву-то берёте?? Где логическая связь между WinForms и WPF, а главное — между WPF и Xamrin?!! Вам кто сказал, что "следущее" — это какой-то индусячий новодел?


K>Следующее после WPF — это... снова WinForms! Если ты действительно понимаешь всю тухлость и тупиковость WPF.



TL>> Ксамарин отнял у меня семью...


K>Это логично. Ты слепо прыгаешь на очередной хайп, получаешь граблями в лоб -> ОПЫТ!

K>Странно то, что практически никто не слушает нас, старых зубров, когда мы говорим (неоднократно!) про убожество каких-то вещей.

K>Увы, сейчас мы попали в крайне дурное положение из-за индусов на воеводстве (я про M$). Всё то хорошее, что было сделано до них, сейчас скатывается в УГ. И поэтому именно сегодня крайне важно сохранять холодную голову и не прыгать на очередную раздутую белиберду подобно WPF, IoT, Xamarin и т.п.


Ну здрасьте пожалуйста. От вашего поста очень пахнет легаси на Винформах в прокуренной комнате на заводе.
Сейчас все что было на плюсах, винформах под винду — переделывается под WPF. Ибо убожество же. А если нужно кросс-платформ, а ты принципиальный шарпист — то извините, кроме Xamarin — ничего нет.
Re[3]: Обновления и Xamarin
От: TechL  
Дата: 07.04.18 11:59
Оценка: 1 (1)
Здравствуйте, Serginio1, Вы писали:

S>Здравствуйте, Kolesiki, Вы писали:


K>>Увы, сейчас мы попали в крайне дурное положение из-за индусов на воеводстве (я про M$). Всё то хорошее, что было сделано до них, сейчас скатывается в УГ. И поэтому именно сегодня крайне важно сохранять холодную голову и не прыгать на очередную раздутую белиберду подобно WPF, IoT, Xamarin и т.п.


S> Ну вот у меня сейчас и ксамарин и WPF. Все прекрасно. Просто порог вхождения немного высоковат. Но это же не для индусятины, хотя к индусам хорошо отношусь, просто у них огромное количество в ИТ индустрии.

S> А ты вcе на винформсах? Вот мне приходится и с винформсами, только после ВПФ блевать хочется.
S> Пока ксамарину далеко до ВПФ. Но развивается XAML Standard
S>https://github.com/xamarin/Xamarin.Forms/wiki/Feature-Roadmap

S>Кстати про xamarin live player https://xamdev.ru/first-xamarin-live-player/


Live player заводится довольно не просто. Надо ставить костыли, чтобы картинки с url'a грузились, и вообще все ресурсы он не видит, то бишь нужно лить их на бесплатный хостинг и оттуда вытягивать.
Xamarin Previewer — тоже вредная зараза, чуть что выкидывает exception. Поэтому работаю над одним экраном в отдельном солюшене, потом закидываю его в основной. Где нужен функционал — делаю стабы, моки. В целом много времени уходит на посторонние действия. Вроде деплоя, компиляции, выяснения почему превьюер не работает, или live player, или ios версия. Спасибо за наводку про UWP, буду пробовать. Только сижу на семерке, где то свободную 10-ку надо раздобыть.
Re[2]: Обновления и Xamarin
От: TechL  
Дата: 07.04.18 12:04
Оценка:
Здравствуйте, Serginio1, Вы писали:

S>Здравствуйте, TechL, Вы писали:


TL>>Да и сам деплой длинной в минуту-две, после изменения Margin на 2 юнита — тоже убийство времени. Ксамарин отнял у меня семью...

S> Пока сам не пробовал, но хвалят https://xamdev.ru/first-xamarin-live-player/

Ответил выше. Если embeded ресурсы не нужны — то можно использовать. В целом стратегия для ксамарина — делить и еще раз делить приложение на отдельные проекты, и работать с каждым отдельно. Вплоть до каждого скрина. Ибо компиляция+деплой — дооолго, то live player и previewer — это спасение. Но на мало мальски большом проекте — обязательно свалятся, и тот и другой. Поэтому приходится собирать/разбирать солюшн по кусочкам.
Re[2]: Обновления и Xamarin
От: TechL  
Дата: 07.04.18 12:10
Оценка:
Здравствуйте, Somescout, Вы писали:

S>Здравствуйте, TechL, Вы писали:


TL>>...


S>А разве то что вы описываете не стандартная ситуация вообще со всем?


S>Решил попробовать Angular 2.

S>Первый сюрприз — оказывается это уже Angular 5. Ну оооок.
S>Ставлю, пробегаюсь по quickstart — вроде всё запустилось, всё работает.

S>Я новичок в современном Web'e, но ожидал что всё будет... продуманнее что-ли.


Вот-вот. Вроде уже многое повидал, а эти фреймворки ведут себя не предсказуемо. Объяснения вижу только в том, что angular, что xamarin и подобное — начинались как поделка от энтузиастов. Под лозунгом — "а давайте втроем изменим мир ..разработки". Спустя годы какой-то контроль качества начинают налаживать, что google, что ms, но ядро то осталось с тех времен, а переписывать дорого. Так и живем.
Re[2]: Обновления и Xamarin
От: TechL  
Дата: 07.04.18 12:15
Оценка:
Здравствуйте, SomeOne_TT, Вы писали:

SO_>Здравствуйте, TechL, Вы писали:


TL>>Повело нашего брата в мобильную разработку. Прошел стандартный rsdn'овский путь WinApi -> MFC -> WinForms -> WPF ... Куда дальше? Ясное дело — Xamarin. И вот какая штука получается.


SO_>Сугубо личное мнение, продиктованное неприязнью к мс:

SO_>не стоит связываться к ксамарином и мобильными поделками мс.
SO_>Поматросят и бросят.

Не, мобайл давно зашел в мир разработки. Если МС там не будет — он просто загнется в плане дев тулзов.
Это всякие сильверлайты — загибаются, потому что другие браузеры их не хотят сапортить. Да и применение у него узкое было.

Достойных Альтернатив ксамарину к слову нет.
Re[3]: Обновления и Xamarin
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 07.04.18 19:01
Оценка:
Здравствуйте, TechL, Вы писали:

TL>Ответил выше. Если embeded ресурсы не нужны — то можно использовать. В целом стратегия для ксамарина — делить и еще раз делить приложение на отдельные проекты, и работать с каждым отдельно. Вплоть до каждого скрина. Ибо компиляция+деплой — дооолго, то live player и previewer — это спасение. Но на мало мальски большом проекте — обязательно свалятся, и тот и другой. Поэтому приходится собирать/разбирать солюшн по кусочкам.


Я сейчас работаю правда с анроид версией. Собирается долго только первый раз под определенный девайс. Затем достаточно быстро по F5 если с одним девайсом работаешь.
и солнце б утром не вставало, когда бы не было меня
Отредактировано 08.04.2018 9:12 Serginio1 . Предыдущая версия .
Re: Обновления и Xamarin
От: zverjuga Беларусь  
Дата: 07.04.18 20:09
Оценка:
выражу свое чистое имхо, но если ты хочешь работать с iOS, то работай только на макоси с нормальным xcode. в сторону хамарин и подобным приблум даже не смотри. не обязательно для этого покупать макбук, микмини будет более чем достаточно. в противном случае ты всегда будешь сталкиваться с разными нюансами, которые будут решаться через задницу.
проклятый антисутенерский закон
Re[3]: Обновления и Xamarin
От: wamaco  
Дата: 07.04.18 20:39
Оценка:
Здравствуйте, TechL, Вы писали:

TL>Достойных Альтернатив ксамарину к слову нет.


Вы чего? Как нет! Есть, еще даже лучше
https://www.embarcadero.com/ru/
Re[3]: Обновления и Xamarin
От: Sharov Россия  
Дата: 07.04.18 20:44
Оценка:
Здравствуйте, TechL, Вы писали:


TL>Вот-вот. Вроде уже многое повидал, а эти фреймворки ведут себя не предсказуемо. Объяснения вижу только в том, что angular, что xamarin и подобное — начинались как поделка от энтузиастов. Под лозунгом — "а давайте втроем изменим мир ..разработки". Спустя годы какой-то контроль качества начинают налаживать, что google, что ms, но ядро то осталось с тех времен, а переписывать дорого. Так и живем.


Angular 2.0 вроде с нуля написан...
Кодом людям нужно помогать!
Re[2]: Обновления и Xamarin
От: Ночной Смотрящий Россия  
Дата: 08.04.18 19:47
Оценка:
Здравствуйте, Somescout, Вы писали:

S>Я новичок в современном Web'e, но ожидал что всё будет... продуманнее что-ли.


Современность тут пофигу. С одной стороны у них каждый год меняется примерно все. А с другой — как был бардак 20 лет назад, так и остался. Только кода стало намного больше.
Re[3]: Обновления и Xamarin
От: Ночной Смотрящий Россия  
Дата: 08.04.18 19:47
Оценка:
Здравствуйте, TechL, Вы писали:

TL>Вот-вот. Вроде уже многое повидал, а эти фреймворки ведут себя не предсказуемо. Объяснения вижу только в том, что angular, что xamarin и подобное — начинались как поделка от энтузиастов.


Это неважно как они начинались. Важно то, что там каждый год начинается что то новое.
Re: "Обновления не нужны"
От: Sheridan Россия  
Дата: 08.04.18 23:42
Оценка:
кмк, это всё последствия подхода "обновления не нужны. работает — не трож!"
Matrix has you...
Re[3]: Обновления и Xamarin
От: Somescout  
Дата: 09.04.18 05:56
Оценка:
Здравствуйте, TechL, Вы писали:

TL>Вот-вот. Вроде уже многое повидал, а эти фреймворки ведут себя не предсказуемо. Объяснения вижу только в том, что angular, что xamarin и подобное — начинались как поделка от энтузиастов. Под лозунгом — "а давайте втроем изменим мир ..разработки". Спустя годы какой-то контроль качества начинают налаживать, что google, что ms, но ядро то осталось с тех времен, а переписывать дорого. Так и живем.


Тут скорее обратная ситуация: "О, мы придумали как ещё более извращённо запаковать JS (*), давайте это срочно в продакшн по дефолту". А то что при этом IDE не умеет работать с таким извратом — пофиг.

Понятно что IDE сторонняя, и разрабатывается вообще другими людьми, но сам подход "похрен на всех, у нас мысля" — восхищает.

(*) Теперь его пакуют через eval("<код js>"). Я вообще не понимаю почему, зачем, и как с этим даже в теории должен работать отладчик.
ARI ARI ARI... Arrivederci!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.