Информация об изменениях

Сообщение Re[2]: Кто щупал Blazor? от 07.08.2019 7:08

Изменено 19.08.2019 12:17 #John

Re[2]: Кто щупал Blazor?
Здравствуйте, Евгений Акиньшин, Вы писали:

ЕА>Проблема в том, что к релизу готов только так называемый 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.
Re[2]: Кто щупал Blazor?
Здравствуйте, Евгений Акиньшин, Вы писали:

ЕА>Проблема в том, что к релизу готов только так называемый 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.