Кто щупал Blazor?
От: Shmj Ниоткуда  
Дата: 07.08.19 01:35
Оценка:
Наученный горьким опытом Silverlight, уже не очень спешу смотреть новые технологии — боюсь потратить время на пустоту.

Пишут там про Blazor. Что оно такое, кто смотрел? Расскажите суть.

Как я понял, писать можно на C#, это плюс. Далее что? Твой код на C# компилируется в WebAssembly и уже эта WebAssembly генерит HTML, который видит пользователь? Все так?

Можно ли без HTML вообще, т.е. как-то рендерить напрямую растр. картинку или под.?

Какие браузеры поддерживают?
blazor
Re: Кто щупал Blazor?
От: Евгений Акиньшин grapholite.com
Дата: 07.08.19 05:32
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Наученный горьким опытом Silverlight, уже не очень спешу смотреть новые технологии — боюсь потратить время на пустоту.


S>Пишут там про Blazor. Что оно такое, кто смотрел? Расскажите суть.


S>Как я понял, писать можно на C#, это плюс. Далее что? Твой код на C# компилируется в WebAssembly и уже эта WebAssembly генерит HTML, который видит пользователь? Все так?


S>Можно ли без HTML вообще, т.е. как-то рендерить напрямую растр. картинку или под.?


S>Какие браузеры поддерживают?


Долго рассказывать — лучше послушай чего авторы говорят:

https://www.youtube.com/watch?v=uW-Kk7Qpv5U

Проблема в том, что к релизу готов только так называемый Server-Side рендеринг — это когда весь си-шарповский код работает на серваке а на клиент только изменения html пересылаются.

В варианте с WebAssembly сейчас используется экспериментальный интерпретатор, который примерно в 100 тормозней, чем нормальный код. Обещают допилить нормальную AOT компиляцию( даже рабочие демки есть), но когда это доведут до релиза, насколько стабильно и быстро будет работать, какой будет получаться размер wasm файла, какие будут ограничения — все это непонятно.

В общем я очень надеюсь что все будет хорошо, но где-то использовать пока не рискну.
Не шалю, никого не трогаю, починяю примус Diagrams Designer for iPad and Windows 10
Re[2]: Кто щупал Blazor?
От: #John Европа https://github.com/ichensky
Дата: 07.08.19 07:08
Оценка: 13 (2)
Здравствуйте, Евгений Акиньшин, Вы писали:

ЕА>Проблема в том, что к релизу готов только так называемый Server-Side рендеринг — это когда весь си-шарповский код работает на серваке а на клиент только изменения html пересылаются.


Что для client-side что для server-side приложений api которым может пользоваться пользователь(напр. вызов события для кнопки из C# делается через `<button @onclick="`) — одинаково. Оно все еще активно меняется, но не так сильно что бы сложно было его поменять в приложении при обновлении до каждого нового blazor preview.

Если делать client-side приложение, то да, здесь могут не работать некоторые либы написанные на C# — те которые завязаны на вызовах Win32 API функций(включая открытие/закрытие файлов). Но в целом обычное веб приложение(в котором 99% функционала — это редактирование/показ данных) с текущим функционалом blazor — можно сделать, другое дело, что нет готовых стандартных норм. контролов(таблицы, paging и т.д.) — их надо делать самому, а выполнение больших либ (напр. сериализация/десериализация с помощью либы Newtonsoft.Json будет происходить заметно долго(в blazor для сер/дес используется либа simplejson)).
И так как выполнение C# кода в webassembly происходит не сильно быстро надо больше внимания уделять коду: лишний раз не пересоздавать .net объекты, лишний раз не рендерить компоненты и т.д.
+ нужно быть готовым к тому что .net либы могут загружаться довольно долго — обычное client-side приложение демо весит ~10mb github.
Підтримати Україну у боротьбі з країною-терористом.

https://prytulafoundation.org/
https://u24.gov.ua/

Слава Збройним Силам України!!! Героям слава!!!
Отредактировано 19.08.2019 12:17 #John . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.