Blazor от Microsoft: основные возможности для интерактивной веб-разработки в .NET

Blazor от Microsoft: основные возможности для интерактивной веб-разработки в .NET

Microsoft предоставляет инструмент для разработки собственных приложений для Android и iOS на таких языках программирования, как .NET или C #.

Microsoft Technology Associate стремится помочь разработчикам точечных сетей использовать потенциал новейшего набора инструментов Blazor для создания веб-приложений или собственных приложений для iOS / Android. Microsoft анонсировала экспериментальное «здание Blazor» для Blazor, которое является функцией платформы ASP.NET, которая позволяет разработчикам создавать интерактивные веб-приложения и пользовательский интерфейс с помощью C #, а не JavaScript. Эта привязка компонентов позволяет им создавать собственные мобильные приложения с использованием .NET или C # для Android или iOS с помощью знакомого веб-программирования.

В 2019 году Microsoft продемонстрировала решение, использующее ту же технологию, в которой разработала настольное приложение Flutter, предназначенное для мобильных устройств и написанное на дротиках, но вместо этого с помощью Blazor и .NET. Microsoft Blazor - это экспериментальная среда пользовательского веб-интерфейса от ASP.NET, которая нацелена на перенос приложений во все браузеры через WebAssembly. Это позволяет разработчикам создавать настоящие полнофункциональные приложения и обмениваться кодом между клиентами и серверами без каких-либо плагинов или транспиляции. Microsoft экспериментирует с платформой, чтобы удовлетворить требования разработчиков, знакомых с основами веб-программирования и шаблонами для создания собственных приложений. В этой статье мы рассмотрим, как Microsoft Blazor революционизирует услуги по разработке веб-сайтов в .NET.

Почему Blazor - новая шумиха?

Blazor от Microsoft - это новейшая платформа пользовательского интерфейса на стороне клиента, созданная сообществом ASP.NET. Самым популярным аспектом этой платформы является ее способность разрабатывать богатый интерфейс веб-интерфейса с помощью CSS, HTML или C #, а не JavaScript. В нем есть все, о чем многие разработчики так давно мечтали. Как разработчик веб-сайтов Microsoft или сотрудник, если вы следите за новыми разработками в области ASP.NET в течение последних нескольких лет, то вы определенно слышали о Blazor. Фреймворк JavaScript был де-факто мерой с момента его создания для интерфейсной веб-разработки, и разработчики никогда не были довольны этим. За последние пару лет появилось много транспайлов и суперсетов, таких как Dart, CoffeeScript, Elm, Scala и т. Д., Чтобы улучшить платформу JavaScript и сделать ее более удобной в обслуживании. Тем не менее, Blazor уже начал этот процесс, поскольку он потенциально может стать эффективной и высокопроизводительной платформой для программирования, отличной от ее первоначального дизайна, и оказывается прямым современником сред разработки одностраничных приложений JavaScript. Основными целями данной структуры являются:

  • Создание многофункциональных и интерактивных веб-приложений / пользовательского интерфейса с помощью C # вместо JavaScript

  • Совместное использование или сбор логики серверного или клиентского приложения, разработанной в .NET framework

  • Отображение CSS и HTML пользовательского интерфейса для поддержки браузеров, включая мобильные браузеры.

  • Интеграция новейших хостинговых платформ, таких как Docker и многих других.

Платформа Blazor - это решение для разработки одностраничных приложений, которое позволяет пользователям создавать интерактивный пользовательский веб-интерфейс с помощью C # вместо JavaScript. Вдохновленный фреймворками JavaScript, такими как Angular, Vue или React, он использует аналогичные концепции для разработки интерактивных решений. Любое приложение Blazor разрабатывается на основе повторно используемых компонентов Razor, то есть синтаксиса разметки для C # и HTML. С Blazor Microsoft делится различными экспериментами и анализирует их с помощью лучших настольных приложений с помощью Web Window. Но в последних разработках собственных мобильных приложений программирование на Blazor сочетается с элементами управления Xamarin.

Прочтите блог - Microsoft продолжает свою работу по разработке мобильных приложений с помощью Blazor

Что делает Blazor гибкой платформой для лучшей компании по веб-разработке?

Blazor - это архитектура, поскольку в ней есть разделение между тем, как отображаются изменения, и тем, как она вычисляет модели компонентов пользовательского интерфейса или изменения приложений. Эта функция отличает эту платформу от ее современников, то есть других сред разработки пользовательских интерфейсов, таких как ReactJS, Angular или React Native, которые могут разрабатывать веб-технологии только на основе пользовательских интерфейсов. Используя несколько рендеров для разработки решений, Blazor не только может разрабатывать веб-компоненты, но также может разрабатывать собственные мобильные пользовательские интерфейсы. Кроме того, не требуется разрабатывать компоненты по-разному, поэтому компоненты, разработанные для веб-рендереров, нельзя использовать вместе с другими родными мобильными рендерами. Но модель программирования остается той же, а это означает, что как только разработчики ознакомятся с этой моделью, они смогут легко создавать пользовательские интерфейсы с помощью любого средства визуализации. Компоненты его модели приложения:

  • Средство визуализации WebAssembly

  • Удаленный рендеринг

  • Электронный рендерер

  • Модуль рендеринга привязки Mobile Blazor

Модель хостинга - модель AP Blazor по своей сути отвечает за расчет и поддержку изменений пользовательского интерфейса в службах разработки ASP.NET. Однако разработчики также могут использовать другие средства визуализации для управления отображением и обновлениями. Эти модели рендеринга приложений в основном называются моделями хостинга, и на момент разработки в Blazor обычно имеется четыре модели. Они есть-

  • Blazor Server

  • BlazorWebAssembly

  • Blazor Electron

  • Наручники Blazor

Из этих моделей Blazor Server - единственная модель, которая классифицируется как производственная, поддерживаемая на момент написания, тогда как Blazor Bindings и Electron помечены как экспериментально поддерживаемые модели.

Партнер по технологиям Microsoft: особенности Blazor

Уже было объявлено, что 2020 год определенно станет вершиной для Blazor от Microsoft, и вскоре он станет мейнстримом. Платформа действительно проста и удобна в использовании, поскольку она сочетает в себе удобство Razor (браузер + Razor) с концепциями ASP.NET. Blazor также оптимизировал невероятные шаблоны в популярных фреймворках JavaScript, таких как React или Angular, наряду с использованием шаблонов, предлагаемых соглашениями Dotnet или Razor. Blazor - невероятная платформа, которая упрощает создание интерактивных клиентских веб-интерфейсов пользователя с помощью платформы ASP.NET. С помощью платформы Blazor разработчики могут повторно использовать библиотеки и коды из любого сегмента серверных приложений. Поскольку он также использует платформу ASP.NET для разработки интерактивных клиентских приложений, он основан на и без того мощном наборе платформ и библиотек. Некоторые из полезных функций этой платформы, которые выделяют ее:

  • Он имеет множество готовых компонентов пользовательского интерфейса, так что разработчики могут легко приступить к созданию потрясающих приложений. Эта функция очень ценится каждой компанией или организацией, занимающейся веб-разработкой.

  • Этот пакет не требует технологии или функций JavaScript. Вместо этого задачи можно легко выполнять с помощью C #. Это сделано для повышения общей производительности разработчиков или организаций.

  • он имеет встроенную поддержку для аутентификации компонентов разработки приложений для платформы .NET.

  • Разработчики могут вызывать функции JavaScript из методологии ASP.NET с помощью функции, называемой «взаимодействие JavaScript».

Каждый разработчик веб-сайтов Microsoft находит Blazor привлекательным, потому что он разработан сообществом ASP.NET в качестве основы для создания клиентских приложений, работающих под управлением WebAssembly. Он предлагает преимущества современной и многофункциональной платформы одностраничных приложений, использующей сквозную технологию ASP.NET. Кроме того, идея этой структуры может потенциально объединить эффективность C #, а Razor - это клиентский веб-проект, который может полностью выполняться в браузере. Он имеет все функции, необходимые для создания современного веб-фреймворка, некоторые из которых перечислены ниже:

  • Модель для разработки составного пользовательского интерфейса

  • Живая загрузка браузера на этапе разработки приложения

  • Использование новейших функций веб-разработки

  • Внедрение зависимости

  • Возможность работы в старых браузерах

  • Полная отладка ASP.NET

  • Разработанные сегменты открытой платформы веб-разработки без использования плагинов

  • Богатый интеллект и инструменты для разработки пользовательского интерфейса

  • Серверный рендеринг

Прочтите блог. В чем разница между C #, .NET, ASP.NET, Microsoft.NET и Visual Studio?

Сравнение Microsoft Blazor и интерактивной веб-разработки на ASP.NET

Любой обычный ASP.NET отображает пользовательский интерфейс как блок строк. Blazor, с другой стороны, разработал или визуализировал дерево, но не строку. Эта структура является представлением объектной модели документа, что означает, что она хранит компоненты в памяти, а Blazor сохраняет представление. Любые изменения или модификации, внесенные в эти компоненты, могут вызвать обновление пользовательского интерфейса для тех же элементов объектной модели документа. Между обоими этими процессами рендеринга строк существует огромная разница. В частности, лучшая компания по веб-разработке использует коды Blazor и не может напрямую обращаться к кодам объектной модели документа. Это ограничение работает по-разному для ядра ASP.NET и Razor, поскольку они зависят от платформы JavaScript, чтобы получить полный доступ к элементам пользовательского интерфейса интерактивных приложений.

Курорт Blazor визуализирует деревья, чтобы вернуться к более раннему представлению объектной модели документа (DOM) и найти определенные части той же модели. Позже эта структура обновляет, редактирует или удаляет их соответственно. Платформа оптимизирует изменения, которые вносятся в модель документа, или манипулирует деревом визуализации для выполнения изменений. Этот механизм позволяет языку C # работать над рендерингом интерактивных приложений на стороне клиента. Плюсы клиентского Blazor:

  • Что касается услуг по разработке веб-сайтов , Blazor позволяет разработчикам напрямую запускать код ASP.NET в браузере. Этот фреймворк также нарушает монополию фреймворка JavaScript на платформу с полным стеком, поскольку благодаря его помощи профессионалам .NET не нужно становиться программистами-полиглотами. Они также могут разрабатывать целые решения без написания кода на JavaScript.

  • Коды пользовательского интерфейса Blazor компилируются в ASP.NET в качестве промежуточного языка, а это означает, что фреймворк имеет тот же потенциал, что и код JavaScript. Его модель компиляции также может иметь огромное значение для веб-решений браузеров, ориентированных на производительность.

  • Разработчики могут легко проверять код между серверными или клиентскими приложениями. Например, предположим, что платформа служб разработки ASP.NET имеет логику проверки, которая может применяться как к бэкэнду, так и к браузеру. Blazor позволил им создать библиотеку классов в стандарте ASP.NET и совместно использовать ее в серверных или клиентских приложениях. Кроме того, любые изменения в логике проверки будут автоматически применяться к каждой из этих платформ.

Blazor Server

Эта модель является одной из официально поддерживаемых в настоящее время моделей, и с ее помощью приложения могут легко запускаться на сервере, но не в браузере. Blazor Server использует соединение SignalR для передачи обновлений пользовательского интерфейса с сервера в браузер. Эта модель размещения серверов в настоящее время находится в стадии производственной государственной поддержки для базовой разработки Microsoft. В рамках этой модели платформенно-ориентированные приложения выполняются на сервере и поверх среды выполнения ASP.NET. Когда разработчики или пользователи загружают это приложение, сначала загружается небольшой файл JavaScript, который устанавливает двустороннее соединение в реальном времени с сервером (соединение SignalR). Любое взаимодействие между пользователем и приложением мгновенно передается обратно на соответствующий сервер с подключением для обработки сервера. После завершения обработки сервером обновления пользовательского интерфейса и изменения передаются обратно тому же клиенту и применяются к объектной модели документа. Microsoft разработала высокопроизводительный алгоритм для вычисления различий и передачи их в компактном двоичном формате. В отличие от большинства других интерактивных веб-приложений, которые обычно используют подход без сохранения состояния, модели серверных приложений Blazor сохраняют одно и то же состояние на сервере.

Сообщество разработчиков в некоторых случаях требует переосмысления подхода, но в целом они могут использовать те же концепции, что и в основных приложениях ASP.NET. Самым большим преимуществом этой модели является то, что вам не нужно разрабатывать другой интерфейс прикладного программирования для связи между сервером и клиентом. Это связано с тем, что каждый аспект выполняется на сервере, поэтому пользовательская компания по веб-разработке или разработчик может напрямую вызывать эти функции в соответствии с их логикой. Благодаря вычислительным процессам на сервере интерактивные веб-решения Blazor Server идеально подходят для устройств начального уровня или тонких клиентов.

BlazorWebAssembly

Для моделей хостинга это большая проблема, но на то есть веские причины. Эта модель обеспечивает прямую конкуренцию разработке интерактивных приложений на JavaScript, таких как React, VueJS или Angular. Используя WebAssembly, разработчики могут легко писать логику и коды пользовательского интерфейса с помощью C # вместо JavaScript. Когда Microsoft изначально анонсировала Blazor, она полностью касалась моделей WebAssembly. Эта модель позволяла приложению сначала загружаться в формате времени выполнения, а затем загружать всю сборку приложения вместе с ее зависимостями. Зависимости BlazorWebAssembly включают фреймворк, System.dll и т. Д., Но среда выполнения находится в двоичном формате, а другие сборки находятся в том же формате, чтобы разработчики могли использовать ее при разработке обычных приложений ASP.NET.

Blazor WebAssembly использует код интерпретатора для запуска или загрузки приложения, и в этом режиме интерпретатор может выполнять пользовательский интерфейс интерактивного приложения. Единственная часть этого процесса, объединенная в режиме WebAssembly, - это его монофоническая среда выполнения. Его основным преимуществом является производительность и компромисс с большими или объемными файлами. Некоторые из преимуществ WebAssembly в Blazor:

  • он компилирует статические файлы, что означает, что разработчикам не требуется учитывать время выполнения ASP.NET на сервере.

  • Большинство задач в Blazor выгружаются с сервера на его клиентов.

  • Приложения также можно запускать в автономном режиме или в состоянии

  • Это облегчает совместное использование кода, при котором компоненты C # могут эффективно совместно использоваться сервером и клиентами.

Как правило, в приложениях ASP.NET используется своевременный компилятор, но в последнее время он не поддерживается WebAssembly. Однако он может быть добавлен в будущую версию стандарта, но на данный момент для выполнения кода ASP.NET используется еще один. Партнерская платформа Microsoft работает над планами и предварительной компиляцией (AOT) для компиляции приложений или сборок фреймворка непосредственно в WebAssembly. Результатом такой компиляции является эффективное время разработки интерактивных приложений и, как оказалось, она ориентирована на производительность с точки зрения времени выполнения.

Суть

В то время, когда уже есть много внимания и дискуссий по поводу включения Blazor в разработку .NET, разработчикам остается много выбора. В этой статье мы рассмотрели введение и основные концепции Microsoft Blazor, Sever, WebAssembly и т. Д. Мы также обсудили, как эта структура развертывается в настоящее время для разработки интерактивных веб-приложений на платформе ASP.NET. Blazor - захватывающая платформа, и у нее есть больше возможностей для улучшения, особенно с точки зрения разработки и инструментов.

Кроме того, WebAssembly - это основная технология, которую большинство компаний, занимающихся разработкой приложений, или интерфейсных разработчиков не могут просто игнорировать. Это отличная платформа для профессионалов ASP.NET, которая позволяет им использовать ее, чтобы стать полнофункциональными разработчиками без необходимости изучения дополнительных языков программирования. Эта платформа обеспечивает ясность, когда дело доходит до разработки пользовательского интерфейса для единой модели программирования, и ее можно легко изучить, применив компоненты фреймворка в любом месте.