От: | Serginio1 | https://habrahabr.ru/users/serginio1/topics/ | |
Дата: | 09.09.19 14:39 | ||
Оценка: | 2 (1) |
Не будет ли размер загрузки приложения огромным, если он также включает среду выполнения .NET?
Не обязательно. .NET среды выполнения бывают разных форм в размерах. В ранних прототипах Blazor использовалась компактная среда выполнения .NET (включая сборку, сборку мусора, многопоточность), которая компилировалась всего в 60 КБ WebAssembly. Blazor теперь работает на Mono, который в настоящее время значительно больше, но возможностей для оптимизации размера предостаточно, включая слияние и обрезку исполняемых файлов и двоичных файлов приложений. Другие потенциальные меры по уменьшению размера загрузки включают кэширование и использование CDN.
Когда клиентское приложение Blazor создается и запускается в браузере:
Файлы кода C# и файлы Razor компилируются в сборки .NET.
Сборки и среда выполнения .NET загружаются в браузер.
Blazor на стороне клиента осуществляет начальную загрузку среды выполнения .NET и настраивает ее для загрузки сборок для приложения. Среда выполнения Blazor на стороне клиента использует взаимодействие с JavaScript для обработки операций с моделью DOM и вызовов API браузера.
Размер опубликованного приложения, известный как размер полезных данных, является критически важным фактором производительности для удобства работы с приложением. Крупное приложение скачивается в браузере довольно долго, что ухудшает взаимодействие с пользователем. Blazor на стороне клиента оптимизирует размер полезных данных, чтобы сократить время скачивания:
При публикации неиспользуемый код исключается из приложения компоновщиком промежуточного языка.
HTTP-ответы сжимаются;
среда выполнения и сборки .NET кэшируются в браузере.