Здравствуйте, Shmj, Вы писали:
S>Здравствуйте, Евгений Акиньшин, Вы писали:
ЕА>>Тупо ввод текста (с учетом многообразия языков, устройств ввода и accessibility) — это очень объемная задача.
S>Мы точно говорим о крупнейшей в мире корпорации? Думаете денег не хватит для этого?
Точно о ней. Эта крупнейшая корпорация уже несколько раз облажалась с созданием новой UI библиотеки и теперь кучу приложений пилит на Electron и React Native, вместо использования своего творчества.
Я вот вчера скачал последнюю дему WinUI (а там они всего-то пытаются чуть-чуть подправить уже готовую и отлаженную UWP) и там просто ужас сейчас.
(Если что, я практически фанат Сильверлайта и UWP, мне прям больно на это смотреть)
Опять же за Flutter стоит гугл, тем не менее веб версия в каком-то виде только в этом году появилась и там input-ы для обхода этой проблемы.
Здравствуйте, Shmj, Вы писали:
S>Здравствуйте, novitk, Вы писали:
N>>Тем что нет текста со всей вытекающими(копирование, поиск, индексирование поисковиками). Еше он не будет работать на куче устройств, a на другой куче будет глючить.
S>Это же для создания приложений, а не для создания статей для индексации. Где вы видели поиск по форме приложения? Если нужно — он встраивается в саму форму. Копирование таки можно добавить где это нужно.
Тупо ввод текста (с учетом многообразия языков, устройств ввода и accessibility) — это очень объемная задача.
Flutter для веба пытается все рисовать на канвасе, но для ввода текста динамически подкладывает input в нужное место. В тех демках, которые я видел, работало так себе.
Здравствуйте, bnk, Вы писали:
bnk>Здравствуйте, v.a.v, Вы писали:
bnk>>>Эту связку, в том виде, что компиляция C# в webassembly прибита гвоздями к UI в виде blazor (???), пытается пропихнуть microsoft.
VAV>>Не могли бы вы пояснить, что там к чему прибито?
bnk>Может быть я тупой или ленивый, но я сходу не понял как скомпилировать C# в webassembly без blazor (без UI). Типа как в DLL или SO
Сейчас еще нет официальной поддержки компиляции в webassembly. Пока сборки .net (самые обычные) загружаются в браузер, и интерпретируются на уровне байт-кода. Компилятор в разработке, возможно будет готов к следующему релизу.
Компилироваться в wasm будут любые сборки. Просто неприменимые методы будут выбрасывать исключения в рантайме (PlatformNotSupportedException).
Здравствуйте, Shmj, Вы писали:
S>Почему MS решили делать на HTML, а не XAML? Ведь XAML лучше и без легаси. В чем смысл? Ведь был же Silverlight и все чего не хватало — адаптировать его под работу на WebAssembly.
Какое отношение Blazor имеет к XAML? Blazor — это про web-приложения, которые могут быть для десктопа как PWA. XAML — как бы преимущественно язык разметки для десктопных WPF, Xamarin и иже с ним. Сравнивать Blazor и XAML то же самое, что сравнивать тёплое с мягким — они не пересекаются.
Здравствуйте, bnk, Вы писали:
bnk>IMHO в лес этот blazor, согласен с мнением, что оно #скоро или отдаст концы, немного подергавшись, или станет легаси энтерпрайзом прямо из коробки.
Оно на основе стандартной технологии WebAssembly, которую мы все так долго ждали. Так что не отдаст концы — поскольку будет поддержка WebAssembly.
Здравствуйте, Shmj, Вы писали:
S>Почему MS решили делать на HTML, а не XAML? Ведь XAML лучше и без легаси.
Чем лучше? css есть? нет! больше всего бесит в хамл это годогенерация. наэймспейсы путает с типами.
рослин не помогает. xaml слабоват против html5.
просто посмотрите что может html https://ru.svelte.dev/tutorial/basics
Здравствуйте, Shmj, Вы писали:
bnk>>IMHO в лес этот blazor, согласен с мнением, что оно #скоро или отдаст концы, немного подергавшись, или станет легаси энтерпрайзом прямо из коробки.
S>Оно на основе стандартной технологии WebAssembly, которую мы все так долго ждали. Так что не отдаст концы — поскольку будет поддержка WebAssembly.
WebAssembly да, а причем тут blazor? Сейчас они вроде как связаны только в мозгах маркетологов?
Здравствуйте, Shmj, Вы писали:
S>Здравствуйте, Valeriy_Gourov, Вы писали:
V_G>>Браузеры не умеют XAML превращать в HTML. Посему вопрос: зачем нужна дополнительная прослойка? Не, я бы тоже тихо радовался XAML, но для веб мы имеем то, что имеем. А Blazor — это таки веб.
S>А прямой рендер в canvas чем плох?
Тем что нет текста со всей вытекающими(копирование, поиск, индексирование поисковиками). Еше он не будет работать на куче устройств, a на другой куче будет глючить.
Здравствуйте, Shmj, Вы писали:
S>Здравствуйте, novitk, Вы писали:
N>>SO или КЫВТ приложения? Как насчет Амазона или Экспедии? Да даже в картах или убере нужно иногда скопировать инфу.
S>Там где нужно скопировать — добавляется кнопка "копировать". См. как сделаны моб. приложения для данных сервисов.
А там где нужно искать добавляется кнопка искать...a там где нужно индексировать добавляется мета-информация для гугла...А там где нужно где нужно сделать якоря их можно добавить в роутинг. Да еще попутно мы должны выкинуть и переписать все на священном XAML, так как с интеграцией полная задница.
Ты понимаешь, что гребешь обратно против течения с mark up на пиксельный рендеринг 90-х?
Здравствуйте, novitk, Вы писали:
N>Это проблема для Адроид/IOs приложений, просто форм фактор слишком радикальный, рынок огромный — параллельная разработка оправдана. При этом куча приложений на самом деле PWA. Kстати на тех же хромбуках их используют мало, хотя возможность есть — веб версии удобней.
PWA это и есть веб-версия. С Электроном не перепутал?
Здравствуйте, varenikAA, Вы писали:
AA>Имел ввиду роутинг на клиенте. если есть связь с сервером(не ПВА), то лучше мне кажется когда в обычную разор-страницу встраивается мини приложение хоть ДЖ хоть блэйзор. а роуты пусть контроллирует сервер.
Не совсем понимаю задачу. AA>Это кстати еще одна причина почему не ксамл. блэйзор сам по себе очень сложен, двойную сложность люди просто не осилят.
В чем заключается сложность blazor? Концептуально там все просто. Для совсем новичка в asp.net сложнее будет разобраться в общей инфраструктуре asp.net. AA>там ведь и работа с ресурсами иначе строится и обычный httpContext скрыт от программиста.
"... обычный httpContext скрыт от программиста." — не скрыт. httpContext доступен через внедряемую зависимость:
@inject IHttpContextAccessor HttpContextAccessor — в синтаксисе razor
[Inject]
protected IHttpContextAccessor HttpContextAccessor { get; set; } в синтаксисе c#
AA> вообщем и хочется и колется.
Это уже другое дело...
Почему MS решили делать на HTML, а не XAML? Ведь XAML лучше и без легаси. В чем смысл? Ведь был же Silverlight и все чего не хватало — адаптировать его под работу на WebAssembly.
Так же подскажите есть ли актуальный проект типа Blazor но с XAML (и если использовали — то какое впечатление)?
Здравствуйте, Valeriy_Gourov, Вы писали:
V_G>Какое отношение Blazor имеет к XAML? Blazor — это про web-приложения, которые могут быть для десктопа как PWA. XAML — как бы преимущественно язык разметки для десктопных WPF, Xamarin и иже с ним.
Silverlight был XAML для браузеров — т.е. Web. Чем Web такой особенный, что для него нельзя нормальный язык разметки?
Здравствуйте, Shmj, Вы писали:
S>Почему MS решили делать на HTML, а не XAML? Ведь XAML лучше и без легаси. В чем смысл? Ведь был же Silverlight и все чего не хватало — адаптировать его под работу на WebAssembly.
На фронте самое главное это огонь и движение
IMHO в лес этот blazor, согласен с мнением, что оно #скоро или отдаст концы, немного подергавшись, или станет легаси энтерпрайзом прямо из коробки.
Здравствуйте, Shmj, Вы писали:
S>Здравствуйте, Valeriy_Gourov, Вы писали:
V_G>>Какое отношение Blazor имеет к XAML? Blazor — это про web-приложения, которые могут быть для десктопа как PWA. XAML — как бы преимущественно язык разметки для десктопных WPF, Xamarin и иже с ним.
S>Silverlight был XAML для браузеров — т.е. Web. Чем Web такой особенный, что для него нельзя нормальный язык разметки?
Может быть потому, что HTML используется уже давно (дольше чем XAML), является мировым стандартом, используется не только Microsoft и т.п. Очевидно же, что свои решения, идущие вразрез общепринятым (типа того же Silverlight или WebForms) не настолько популярны, чтобы изобретать ещё один велосипед.
Здравствуйте, Valeriy_Gourov, Вы писали:
S>>Silverlight был XAML для браузеров — т.е. Web. Чем Web такой особенный, что для него нельзя нормальный язык разметки? V_G>Может быть потому, что HTML используется уже давно (дольше чем XAML), является мировым стандартом, используется не только Microsoft и т.п. Очевидно же, что свои решения, идущие вразрез общепринятым (типа того же Silverlight или WebForms) не настолько популярны, чтобы изобретать ещё один велосипед.
WebAssembly — это тоже общепринятое решение, новый шаг на пути к построению современного UI. Зачем туда тянуть технологии прошлого с их легаси, такие как HTML/CSS — совсем не ясно. QT и то юзают QML.
Здравствуйте, Shmj, Вы писали:
S>Здравствуйте, Valeriy_Gourov, Вы писали:
S>>>Silverlight был XAML для браузеров — т.е. Web. Чем Web такой особенный, что для него нельзя нормальный язык разметки? V_G>>Может быть потому, что HTML используется уже давно (дольше чем XAML), является мировым стандартом, используется не только Microsoft и т.п. Очевидно же, что свои решения, идущие вразрез общепринятым (типа того же Silverlight или WebForms) не настолько популярны, чтобы изобретать ещё один велосипед.
S>WebAssembly — это тоже общепринятое решение, новый шаг на пути к построению современного UI. Зачем туда тянуть технологии прошлого с их легаси, такие как HTML/CSS — совсем не ясно. QT и то юзают QML.
Так а причём тут WebAssembly? WebAssembly, насколько я себе понимаю, для выполнения кода. А HTML — для рендеринга страницы средствами браузера. Браузеры не умеют XAML превращать в HTML. Посему вопрос: зачем нужна дополнительная прослойка? Не, я бы тоже тихо радовался XAML, но для веб мы имеем то, что имеем. А Blazor — это таки веб.
Здравствуйте, Valeriy_Gourov, Вы писали:
V_G>Браузеры не умеют XAML превращать в HTML. Посему вопрос: зачем нужна дополнительная прослойка? Не, я бы тоже тихо радовался XAML, но для веб мы имеем то, что имеем. А Blazor — это таки веб.
Здравствуйте, Shmj, Вы писали:
S>Почему MS решили делать на HTML, а не XAML? Ведь XAML лучше и без легаси. В чем смысл? Ведь был же Silverlight и все чего не хватало — адаптировать его под работу на WebAssembly.
Там вся идея в управлении html и использовании всех веб наработок, без дополнительного слоя абстракции
S>Так же подскажите есть ли актуальный проект типа Blazor но с XAML (и если использовали — то какое впечатление)?
Здравствуйте, novitk, Вы писали:
N>Тем что нет текста со всей вытекающими(копирование, поиск, индексирование поисковиками). Еше он не будет работать на куче устройств, a на другой куче будет глючить.
Это же для создания приложений, а не для создания статей для индексации. Где вы видели поиск по форме приложения? Если нужно — он встраивается в саму форму. Копирование таки можно добавить где это нужно.
Здравствуйте, Евгений Акиньшин, Вы писали:
ЕА>Тупо ввод текста (с учетом многообразия языков, устройств ввода и accessibility) — это очень объемная задача.
Мы точно говорим о крупнейшей в мире корпорации? Думаете денег не хватит для этого?
Здравствуйте, Shmj, Вы писали:
S>Это же для создания приложений, а не для создания статей для индексации. Где вы видели поиск по форме приложения? Если нужно — он встраивается в саму форму. Копирование таки можно добавить где это нужно.
SO или КЫВТ приложения? Как насчет Амазона или Экспедии? Да даже в картах или убере нужно иногда скопировать инфу.
Единстевенное где это не нужно это апплеты/игрушки, но там и XAML нафиг не уперся.
Здравствуйте, Shmj, Вы писали:
S>Почему же? Их две версии. Выделенная — настоящий WebAssembly:
Потому как WebAssembly c UI вроде как, сейчас особо не связано.
Эту связку, в том виде, что компиляция C# в webassembly прибита гвоздями к UI в виде blazor (???), пытается пропихнуть microsoft.
Я думаю не взлетит, и #скоро линия партии сменится. Но посмотрим.
Здравствуйте, novitk, Вы писали:
N>А там где нужно искать добавляется кнопка искать...a там где нужно индексировать добавляется мета-информация для гугла...А там где нужно где нужно сделать якоря их можно добавить в роутинг. Да еще попутно мы должны выкинуть и переписать все на священном XAML, так как с интеграцией полная задница.
Почему это не проблема для Адроид/IOs приложений?
N>Ты понимаешь, что гребешь обратно против течения с mark up на пиксельный рендеринг 90-х?
Здравствуйте, Shmj, Вы писали:
S>Почему это не проблема для Адроид/IOs приложений?
Это проблема для Адроид/IOs приложений, просто форм фактор слишком радикальный, рынок огромный — параллельная разработка оправдана. При этом куча приложений на самом деле PWA. Kстати на тех же хромбуках их используют мало, хотя возможность есть — веб версии удобней.
Здравствуйте, bnk, Вы писали:
bnk>Эту связку, в том виде, что компиляция C# в webassembly прибита гвоздями к UI в виде blazor (???), пытается пропихнуть microsoft.
Не могли бы вы пояснить, что там к чему прибито?
Здравствуйте, v.a.v, Вы писали:
bnk>>Эту связку, в том виде, что компиляция C# в webassembly прибита гвоздями к UI в виде blazor (???), пытается пропихнуть microsoft.
VAV>Не могли бы вы пояснить, что там к чему прибито?
Может быть я тупой или ленивый, но я сходу не понял как скомпилировать C# в webassembly без blazor (без UI). Типа как в DLL или SO
Здравствуйте, v.a.v, Вы писали:
VAV>Сейчас еще нет официальной поддержки компиляции в webassembly.
Ну вот когда будет тогда и приходите (тм)
Нас на соломе blazor не проведешь
Поскольку вырос в деревне поясню откуда эта присказка — при отсутствии нормального сена коров можно кормить соломой.
Неопытные, молодые коровы ее жрут только так, а те что постарше, вредничают, и солому жрать отказываются.
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Вместо css есть стили.
В WPF есть всё, но пользоваться этим намного менее удобно, чем html.
xml не самый удобный язык программирования.
Взять хотя бы GTK3, уже давно и успешно пишут ui на javascript и css.
Сразу вспомнил еще один неприятный момент MVVM — xsml ничего не знает о модели.
особенно удивляет, что даже vs при редактировании html умеет бегать в подключенной скрипт
и обратно по ссылкам на функции.
Опять же отсутствие возможности воткнуть код обработчика в разметку
по типу http://www.ammyui.com/
Впрочем, чтобы в блазоре использовать xaml нужно ведь совсем немного — заменить движок рендеринга.
У разраба авалинии Никиты Цуканов экспериментировал с запуском на линуксовом фрэймбуфере, выглядело здорово.
скорее всего и в браузере пробовал. так что, поживем-увидим.
Здравствуйте, bnk, Вы писали:
bnk>Здравствуйте, v.a.v, Вы писали:
VAV>>Сейчас еще нет официальной поддержки компиляции в webassembly.
bnk>Ну вот когда будет тогда и приходите (тм)
И не будет, т.к. аод webassembly cобрана виртуальная машина mono
и любая нетстандарт сборка легко может быть загружена в браузер, там нужно лишь загрузочный js подключить к странице.
Основная цель блазора не компиляция в wasm, а использование кроссплатформенных библиотек C#.
Идея отличная — писать на одном языке весь стэк приложения, но реализация пока убогая.
А так да, вместо js-ного fetch полноценный HttpClient, вместо Date — DateTime и TimeSpan, вообще все что не зависит от платформы.
2D, 3D на сишарпе.
Здравствуйте, varenikAA, Вы писали:
AA>Впрочем, чтобы в блазоре использовать xaml нужно ведь совсем немного — заменить движок рендеринга.
Им главное сейчас запустить, что бы стабильно работало и еще компоненты нужны.
Больше и хороших. Кат ты правильно заметил https://www.blazorfluentui.net/
и солнце б утром не вставало, когда бы не было меня
AA>И не будет, т.к. аод webassembly cобрана виртуальная машина mono AA>и любая нетстандарт сборка легко может быть загружена в браузер, там нужно лишь загрузочный js подключить к странице. Ahead-of-Time компиляция и Blazor
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, varenikAA, Вы писали:
AA>В WPF есть всё, но пользоваться этим намного менее удобно, чем html. AA>xml не самый удобный язык программирования.
html удобнее? Впрочем, и с css тоже далеко не все хорошо, иначе не было бы LESS/SASS/Stylus.
AA>Впрочем, чтобы в блазоре использовать xaml нужно ведь совсем немного — заменить движок рендеринга.
Браузер это на 90% — движок рендеринга. Так что да, совсем немного, всего то написать свой браузер с нуля.
Здравствуйте, varenikAA, Вы писали:
AA>Впрочем, чтобы в блазоре использовать xaml нужно ведь совсем немного — заменить движок рендеринга.
"заменить движок рендеринга" — рендеринга из какой объектной модели документа? Если из W3C DOM то это нереально сделать в приемлемые сроки. Если что-то типа WPF и рисования на канве то тоже очень трудозатратно (Uno Platform как пример).
Для того чтобы использовать xaml достаточно реализовать некий "xaml-azor" вместо Razor, что вполне реально(но целесообразность этого для веб-приложений сомнительна).
AA>И не будет, т.к. аод webassembly cобрана виртуальная машина mono
Будет (уже есть, но очень сырое), выше привели ссылку. AA>и любая нетстандарт сборка легко может быть загружена в браузер, там нужно лишь загрузочный js подключить к странице. AA>Основная цель блазора не компиляция в wasm, а использование кроссплатформенных библиотек C#.
... и самого C# вместо js, и всех применимых классов фреймворка, и сторонних библиотек.
AA>Идея отличная — писать на одном языке весь стэк приложения, но реализация пока убогая.
Вопреки часто высказываемому вами мнению — реализация вполне нормальная. Из того чего раньше не хватало, часть добавили в asp.net 5, еще добавят в asp.net 6.
Здравствуйте, v.a.v, Вы писали:
VAV>"заменить движок рендеринга" — рендеринга из какой объектной модели документа?
я имел ввиду отрисовку окошек на canvas 2D, webgl или аналогичном, без привязки к ДОМ. http://testapp.keks-n.net/
VAV>Вопреки часто высказываемому вами мнению — реализация вполне нормальная. Из того чего раньше не хватало, часть добавили в asp.net 5, еще добавят в asp.net 6.
ну, если често я про сервер сайд, там с жизненным циклом беда.
а что с клиентом, слизали реактовую модель? свелте от нее отказался и все прекрасно работает. хм.
надо вернуться осенью к этой теме. не люблю веб приложения на одной странице, а вот если можно будет блазор юзать на отдельных страницах как свелте, тогда посмотрим.
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>И чо? Писать внутри одного рендерера другой — тупиковый путь.
flash был очень тупиковым, что 20 лет просуществовал. если будет нативная компиляция, то зачем нужен html?
к флэш была претензия что он тормозной.
java applet не взлетел только из-за необходимости установки джава. теперь есть вебасм и проблема с ВМ решена. установка не требуется.
грядет революция.
Здравствуйте, varenikAA, Вы писали:
AA>Здравствуйте, v.a.v, Вы писали:
VAV>>"заменить движок рендеринга" — рендеринга из какой объектной модели документа? AA>я имел ввиду отрисовку окошек на canvas 2D, webgl или аналогичном, без привязки к ДОМ. AA>http://testapp.keks-n.net/
Ну да, Uno Platform и другие рисовальщики на холсте(не важно в браузере или нет). Но реализация всего этого потребует много времени, и там возникнет много своих проблем. Да универсально, но плохо вяжется с вэбом.
VAV>>Вопреки часто высказываемому вами мнению — реализация вполне нормальная. Из того чего раньше не хватало, часть добавили в asp.net 5, еще добавят в asp.net 6.
AA>ну, если често я про сервер сайд, там с жизненным циклом беда.
С точки зрения программиста, как пользователя технологии Blazor, жизненный цикл компонента в serwerside и wasm одинаковый.
Я например реализовал нетривиальный компонент. Разрабатывал и отлаживал как serverside(здесь лучше с отладкой). Потом подключил библиотеку с компонентом в wasm проект и все заработало. Возникла пара ошибок в рантайме (всплыли зависимости от серверного контекста), устранил минут за 30, компонент стал полностью универсальным.
AA>а что с клиентом, слизали реактовую модель? свелте от нее отказался и все прекрасно работает. хм.
"реактовую модель" — это в смысле как в React? Может быть. Слышал что Blazor идеологически похож на React и Vue. Я в js фреймворках не разбираюсь. AA>надо вернуться осенью к этой теме. не люблю веб приложения на одной странице, а вот если можно будет блазор юзать на отдельных страницах как свелте, тогда посмотрим.
Не совсем понятно что имелось ввиду. На всякий сучай: serverside blazor, wasm blazor, razor pages, mvc, ts/js и статику можно смешивать в одном проекте (а некоторое из перечисленного и на одной странице).
Здравствуйте, Ночной Смотрящий, Вы писали:
N>>Это проблема для Адроид/IOs приложений, просто форм фактор слишком радикальный, рынок огромный — параллельная разработка оправдана. При этом куча приложений на самом деле PWA. Kстати на тех же хромбуках их используют мало, хотя возможность есть — веб версии удобней. НС>PWA это и есть веб-версия. С Электроном не перепутал?
Перепутал, сам далек он вебдева. Вроде есть какая-та аббревиатура для нативных приложений построенных на UI из вебстека. В основном конечно на электроне, но в более широком смысле для мобил или там sciter.
Здравствуйте, v.a.v, Вы писали:
VAV>Не совсем понятно что имелось ввиду. На всякий сучай: serverside blazor, wasm blazor, razor pages, mvc, ts/js и статику можно смешивать в одном проекте (а некоторое из перечисленного и на одной странице).
Имел ввиду роутинг на клиенте. если есть связь с сервером(не ПВА), то лучше мне кажется когда в обычную разор-страницу встраивается мини приложение хоть ДЖ хоть блэйзор. а роуты пусть контроллирует сервер.
Это кстати еще одна причина почему не ксамл. блэйзор сам по себе очень сложен, двойную сложность люди просто не осилят.
там ведь и работа с ресурсами иначе строится и обычный httpContext скрыт от программиста. вообщем и хочется и колется.
Здравствуйте, Shmj, Вы писали:
S>Почему MS решили делать на HTML, а не XAML? Ведь XAML лучше и без легаси. В чем смысл? Ведь был же Silverlight и все чего не хватало — адаптировать его под работу на WebAssembly.
S>Так же подскажите есть ли актуальный проект типа Blazor но с XAML (и если использовали — то какое впечатление)?
на самом деле blazor это клей между HTML и wasm на C#, т.е. слой разметки в блэйзоре остается примерно в той же реализации что и Razor Pages. Ну и как правильно было замечено, это сделано по двум причинам:
1. слишком много нужно реализовать. как мы уже убедились слой представления один из самых сложных и трудоемких.
2. интеграция в существующий веб. иначе эта штука будет коммерчески не востребована, также как силверлайт и джава апплеты.
Здравствуйте, v.a.v, Вы писали:
AA>> вообщем и хочется и колется. VAV>Это уже другое дело...
Ради интереса создал через dotnet new pwa
запустил под iisexpress
если просто обновлять shift+f5 нормально прогружается в Firefox
если же открыт монитор сети, то загрузка колом встает и больше приложение не грузится.
причем стабильно. (в egde нормально)
а так да, размер нормальный уже, всего 3МБ если по dll, еще есть gz и br.
пока все равно страшно юзать. надо подучиться.