Blazor
# Blazor

Blazor es un framework de código abierto que incluye herramientas para crear aplicaciones web usando C#, HTML y CSS. Esta es una alternativa a otras soluciones como Angular, React o Vue.js, entre otras. Una de sus principales características es la utilización del lenguaje C#, dejando en segundo nivel a JavaScript, tanto para el código del lado del cliente como para el código del lado del servidor. Blazor forma parte del proyecto ASP.NET, el cual provee herramientas para desarrollar sitios y aplicaciones web (además de que también fue creado por Microsoft).

A pesar de la confusión que podrían generar las descripciones de ASP.NET y Blazor, este último se enfoca en la creación de aplicaciones web con el objetivo de usar el lenguaje de programación C# en vez del lenguaje JavaScript, comúnmente usado en este tipo de aplicaciones.

Blazor, al igual que ASP.NET y ASP.NET Core, es uno de los frameworks web más usados.

## Características

A continuación se exponen las características principales de Blazor:

* Funciona en WebAssembly y en el servidor. Como Blazor usa WebAssembly, puede correr código C# en el lado del cliente y reusar porciones de código definidas en el lado del servidor. También, puede correr todo el código solo en el lado del servidor.
* Funciona en todos los navegadores modernos. Blazor corre en todos los navegadores modernos, incluyendo las aplicaciones de los navegadores en el teléfono.
* Permite a los desarrolladores compartir el código fácilmente. Como Blazor está dentro de ASP.NET y funciona gracias a .NET, es posible incluir cualquier librería de terceros en una aplicación construida con Blazor.
* Interacciona con JavaScript. Es posible llamar librerías y API escritas en JavaScript desde código escrito en C#.
* Algunos programas incluyen herramientas de ayuda para crear aplicaciones con Blazor. Programas como Visual Studio y Visual Studio Code soportan e incluyen herramientas especiales para ayudar al desarrollador a crear una aplicación usando Blazor.
* Existen colecciones de componentes. Hay muchos componentes ya creados que se pueden incluir directamente en una aplicación web que usa Blazor. Muchas compañías e individuos particulares se dedican a crear este tipo de componentes, todos ellos enfocados en solucionar problemas específicos o simplemente reinventar un estilo.
* Es gratis y de código abierto. .NET y ASP.NET son gratis y de código abierto, al igual que Blazor.

## Ejemplo

El siguiente es un ejemplo básico que permite ver la integración de código escrito en C# junto con código escrito en HTML:

Este código renderiza un número llamado «contador» dentro de una etiqueta «p». La variable contador está inicializada en la porción de código (que es la que comienza por la palabra code y está encerrada entre llaves). Dentro de esta, la función IncrementarContador —que a su vez está referenciada en la etiqueta «button», elemento que la llama cuando es cliqueado— incrementa la variable. Se puede notar el uso del símbolo «@», el cual indica que lo que se encuentre justo después debe ser interpretado como código C#. Todo esto funciona en directo, por lo que no es necesario recargar la página para ver los cambios.

