Как Blazor собирается изменить веб-разработку

Пару недель назад я написал статья о создании и развертывании приложения Blazor, не касаясь компьютера с Windows, и понял, что, возможно, мне следует сделать шаг назад и объяснить, что такое Blazor и почему кто-то будет его использовать. Это все еще довольно плохо знакомо большинству разработчиков, но это потрясающе, и вы должны это проверить.

Так что же это такое?

Blazor — это платформа от Microsoft, которую вы можете использовать для разработки интерактивных клиентских веб-интерфейсов на C #.

Своими словами:

Blazor позволяет создавать интерактивные веб-интерфейсы с использованием C # вместо JavaScript. Приложения Blazor состоят из повторно используемых компонентов веб-интерфейса, реализованных с использованием C #, HTML и CSS. Код клиента и сервера написан на C #, что позволяет вам делиться кодом и библиотеками.

По старому

Помните старый способ разработки веб-приложений?

Долгое время мы создавали приложения, которые запускались исключительно на сервере, с использованием таких вещей, как ASP.NET, PHP и т. Д., И они генерировали HTML-файл для отправки в браузер.

У нас всегда была некоторая интерактивность с JavaScript и AJAX, но в течение многих лет большая часть бизнес-логики обрабатывается на самом сервере, выплевывая HTML-страницы для взаимодействия. Много лет браузер был просто прославленным средством просмотра документов. Это сработало, но мы знали, что можем добиться большего.

У этого паттерна есть некоторые недостатки:

  • Сервер должен быть настроен с программным обеспечением для запуска веб-приложения. ASP.NET, PHP и т. Д. Серверные процессоры или среды выполнения должны существовать на сервере.

  • Большая часть вычислительной мощности находится на сервере.
  • Загрузка страниц раздражает и медленно.

Таким образом, мы нашли новый ответ на это.

Как мы делаем это сейчас

С появлением одностраничных приложений у нас появился новый шаблон с такими фреймворками, как Angular, React и Vue:

Сейчас мы создаем полноценные приложения на JavaScript, которые работают в браузере. Это разделяет бизнес-логику, поэтому некоторые из них запускаются в браузере, а другие — на сервере. Приложения JavaScript работают на стороне клиента и используют обмен сообщениями для связи с «сервером». Вы можете легко заменить «сервер» на службу или приложение в облаке, но модель все та же.

Это отличное улучшение того, что у нас было раньше, по сути манипулируя HTML и подбрасывая его туда-сюда. Теперь у нас есть реальные приложения, работающие в браузере, и загрузка страниц в основном осталась в прошлом.

Но Blazor улучшает эту модель дальше. Есть два основных способа развития с ним.

Вариант 1: метод веб-сборки

Когда вы выбираете создание приложения Blazor Web Assembly, оно выглядит следующим образом:

Блазор использует Веб-сборка который поставляется во всех основных браузерах сейчас. Веб-сборка — это двоичный формат команд, который запускает виртуальную среду в браузере.

Так что это на самом деле означает?

Теперь браузер выступает в качестве хоста для вашего приложения. Файлы, встроенные в приложение Blazor Web Assembly, компилируются и отправляются в браузер. Затем браузер запускает ваши JavaScript, HTML и C # в изолированной программной среде на браузере. Он даже запускает версию .NET Runtime. Это означает, что вы можете выполнять вызовы .NET из браузера, и это полноценное приложение в браузере. Он даже может быть запущен в автономном режиме.

Почему это круто

  • Вы можете запустить его на любом статическом файловом сервере (Nginx, ISS, Apache, S3, Heroku и т. Д.)
  • Он запускает JS как байт-код и запускает C # на почти родной скорости.
  • Вы можете использовать C # для разработки богатых интерфейсных приложений.
  • Веб-сборка поставляется со всеми основными браузерами
  • Повторное использование компонентов .NET
  • Используйте инструменты Microsoft и отладку

Это отлично подходит для приложений с низкой задержкой, таких как игры. Нет необходимости общаться с сервером, если вам это не нужно. Вы можете скачать приложение и запустить его в автономном режиме в браузере. Это отлично подходит для игр и других вещей, которые вам нужны для быстрой работы в браузере.

Некоторые недостатки:

  • .NET Framework и другие файлы времени выполнения необходимо загрузить (один раз)
  • Вы ограничены возможностями браузера
  • Все секреты (учетные данные, ключи API и т. Д.), Загруженные локально
  • Не все компоненты .NET Framework совместимы

Так что это не может быть идеальным для всех приложений. Хорошая новость в том, что мы можем использовать еще один паттерн Blazor.

Вариант 2: Blazor Server

Если вы решили создать приложение Blazor Server, оно выглядит следующим образом:

Это ближе к модели, которую мы используем сегодня. Вы создаете приложение и имеете сервер, работающий на .NET Core, и отправляете HTML и JavaScript в браузер для работы в качестве клиента. Это отличный способ сделать кричащих быстрых тонких клиентов.

Почему это круто

  • Вы получаете всю мощь .NET Framework
  • Все упирается в сервер, небольшие загрузки
  • Веб-сборка не требуется
  • Ваши секреты в безопасности

Некоторые недостатки:

  • Нет оффлайн приложений
  • Требуется сервер под управлением .NET Core или служба
  • Может быть высокая задержка с большим количеством сетевого трафика
  • Так как же выбрать, какой использовать?

Если вам нужны мощные клиентские приложения, которые могут работать в автономном режиме и обслуживаться со статического сервера, выберите Blazor Web Assembly. Если вы хотите использовать все возможности .NET и запустить модель с тонкими клиентами, выберите Blazor Server.

Почему это так важно?

Модели Blazor открывают большие возможности для развития. Хотите ли вы создать мощный сервис с несколькими тонкими клиентами или какую-нибудь классную интерактивную игру, которая запускается в браузере, Blazor предоставляет богатый интерактивный потенциал приложений.

Веб-сборка — это путь будущего. Он обеспечивает почти постоянную скорость в браузере и использует общий интерфейс. Вы найдете Web Assembly на ПК, телефонах и планшетах. Если в вашей команде есть группа разработчиков на C #, которые не занимаются программированием на переднем крае, они теперь могут делать это на языке, который им нравится.

Это довольно круто, и я рад видеть, как Блейзор прогрессирует.

Где я могу это узнать?

Если вы хотите углубиться и изучить Blazor, у Pluralsight есть несколько современных курсов, которые помогут вам быстро освоиться:

Так что попробуйте! Дай мне знать что вы думаете о Blazor и делитесь своим опытом в комментариях!





Источник: Как Blazor собирается изменить веб-разработку


Похожие материалы по теме: Как Blazor собирается изменить веб-разработку

Leave a comment