TGViewer
.NET Разработчик .NET Разработчик @netdeveloperdiary · 6.76K subscribers
Post #1522 1.32K
День 1229. #ЗаметкиНаПолях
Blazor: Вопросы и Ответы. Окончание
Рокфорд Лотка, главный архитектор ПО в Marimer, а также известный автор книг и контрибутор открытого кода ответил на несколько вопросов по технологии Blazor.

Начало

4. Сначала Blazor WebAssembly был направлен на приложения SPA, затем стал доступен в мобильной и даже настольной разработке. Какие дальнейшие планы?
Сама по себе WebAssembly, вероятно, станет революционной технологией для многих типов приложений, поскольку она работает во всех современных браузерах, а также во всё большем количестве сценариев на стороне сервера и IoT, включая, например, Kubernetes. Возможность писать код на выбранном вами языке, таком как C#, Go, Rust или многих других, и компилировать этот код в WebAssembly, чтобы он мог работать во многих средах, — это чрезвычайно удобно.

Сам Blazor WebAssembly — это инфраструктура UI, ориентированная на использование HTML и CSS, а также вашего кода C# (вместо TypeScript или JavaScript) для создания браузерных приложений. Как и в случае с другими технологиями SPA, Blazor значительно выигрывает от расширения гибридных сценариев на основе браузера для размещения в мобильных и настольных приложениях, а также непосредственно в браузере.

При этом «песочница» браузера остается на месте. Это хорошо, потому что означает, что приложения Blazor WebAssembly можно запускать в вашем браузере или как мобильное или настольное приложение с тем же уровнем безопасности.

С другой стороны, часто наиболее рентабельно создавать мобильные приложения, используя больше собственных технологий, чем технологии на основе браузера. Если вы создаёте ориентированное на потребителя мобильное или настольное приложение, которое является основной точкой соприкосновения с вашим брендом, очевидно, крайне важно, чтобы ваши пользователи получали наилучший возможный опыт, что побуждает большинство организаций создавать нативные приложения для iOS и Android или, возможно, использовать кроссплатформенный инструмент, такой как Xamarin/MAUI или Flutter.

5. Как насчёт производительности? Чем Blazor отличается от альтернативных фреймворков, таких как React и другие?
Говоря о производительности Blazor, необходимо отделить Blazor на стороне сервера от Blazor WebAssembly. Blazor на стороне сервера чрезвычайно эффективен, причем производительность в значительной степени зависит от того, достаточно ли вашего веб-сервера для рабочей нагрузки. Архитектура ПО Blazor на стороне сервера очень похожа на проверенные временем модели, но с современными скоростями интернета и серверным оборудованием.

Blazor WebAssembly или любой UI на основе WebAssembly может быть медленнее, чем UI-фреймворки JavaScript, такие как React. Это связано с тем, что WebAssembly пока не позволяет нативному коду напрямую взаимодействовать с HTML DOM, поэтому взаимодействие с элементами UI должно проходить через оболочку JavaScript. Чистый вычислительный код обычно работает быстрее в WebAssembly, чем в JavaScript, но взаимодействие с UI происходит медленнее.

Это компенсируется тем, что при правильном использовании все эти UI-платформы SPA, включая Blazor WebAssembly, могут создавать первоклассные UI, которые очень удобны в использовании.

6. Какие инновации вы ожидаете в Blazor и поддерживающей его клиентской технологии WebAssembly?
Я с нетерпением жду WebAssembly, поддерживающую многопоточность и позволяющую нативному коду wasm напрямую взаимодействовать с HTML DOM. Я также рад тому, как WebAssembly распространяется за пределы браузера и может стать общим ассемблерным языком для клиентов, серверов, устройств IoT и многого другого.

Blazor готов поддерживать многопоточность, а благодаря тесной интеграции с инфраструктурой MAUI Blazor, вероятно, станет основной технологией для создания приложений, работающих в браузерах, на мобильных устройствах и на настольных компьютерах, основанных в значительной степени на одной и той же кодовой базе C#, HTML и CSS.

Источник: https://visualstudiomagazine.com/articles/2022/05/09/qa-blazor-deep-dive.aspx?m=1
  • 👍 5
More from @netdeveloperdiary
  1. Oct 14, 2026Post #3373
  2. Oct 13, 2026День 2813. #ЗаметкиНаПолях #Async Ещё Раз Про Async/Await в C#. Часть 1 Почему существует…
  3. Oct 12, 2026День 2812. #Карьера #AI Как Разработчикам Оставаться Полезными, Когда Код Пишет ИИ? По мер…
  4. Oct 11, 2026День 2811. #ВопросыНаСобеседовании Марк Прайс предложил свой набор из 60 вопросов (как тех…
  5. Oct 10, 2026День 2810. #ЧтоНовенького #VSCode Более Быстрый и Лёгкий C# Dev Kit Мы, разработчики, люби…
  6. Oct 9, 2026День 2809. #Карьера 5 Навыков, Которые Помогут Быстрее Стать Сеньором. Окончание Начало 3.…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →