No debe confundirse el CLR con una máquina virtual que, una
vez compliado el código corre de forma nativa sin necesidad de ninguna capa de
abstracción sobre le hardaware. Es una implementación del estándar CLI (Common
Languages Insfraestructure).
Los desarrolladores que usan CLR escriben el código fuente
en un lenguaje compatible con .NET; C#, Visual basic… y en tiempo de
compilación un compilador .NET convierte el código.
CLR funciona solamente en máquinas Windows. La manera en que
la máquina virtual se relaciona con el CLR permite a los programadores ignorar
muchos detalles específicos del microprocesador que se estará ejecutando en el
programa, CLR también permite otros servicios importantes, como
·
Administración de la memorio
·
Administración de hilos (threads)
·
Manejo de excepciones
·
Recolección de basura
·
Seguridad
¿Qué tipo
de aplicaciones se pueden desarrollar con .NET
Microsoft lanzó la primera versión del framework .NET en
2002, en esa época las aplicaciones desarrolladas en .NET sólo podían
ejecutarse en máquinas Windows con NET Framework instalado. Esto ha cambiado
con NET core.
Las aplicaciones desarrolladas en .NET Framework siguen
pudiendo funcionar sólo en máquinas Windows, Mientras que NET Core se puede
usar tanto en Windows como en MAC o Linux.
La última aplicación .NET es NET Core que apareció por 2016,
se trata de una fuente de reimplementación abierta en el firmware al completo.
Está disponible para Windows Mac y Linux, se proporciona un subconjunto de las
bibliotecas de las clases .NET.
NET Core es compatible con el desarrollo de aplicaciones de
consola y aplicaciones web basadas en ASP NET Core compatible con todos los
sistemas operativos.
Diferencias
de .NET Framework con .NET Core
Las diferencias principales son las siguientes:
.NET
Framenwork
·
Ligado a Windows
·
Uso de CLR
·
Librería completa pero pesada
·
No es Open Source
.NET Core
·
Multiplataforma (Windows, Mac, Linux)
·
Open Source
·
Se puede implementar como parte de la propia aplicación
·
La herramienta de desarrollo no está fuertemente a VisualEstudio
·
Mejor rendimiento y tiempo de ejecución
·
Solo migradas aplicaciones Web y de consola(en la versión 3 se amplía con
Windows forms y WPF)
C# &
dotnet con Visual Studio
Una vez tenemos descargado e instalado VS code, necesitamos
una manera de poder crear proyectos de C#, para ello vamos a descargar un SDK o
un conjunto de programas que nos van a permitir crear proyectos, ejecutarlos,
testearlos, etc. Pero para poder hacer esto en dotnet por lo general vamos a
descargar el SDK para ello iremos a
https://dotnet.microsoft.com/en-us/download
Esta página es donde se encuentren la mayoría de proyectos que maneja Microsoft, aquí
encontraremos .NET Core y .NET Framework.
En nuestro caso descargaremos .NET Core para empezar a crear
proyectos, pero en este caso descargaremos solo el SDK
Haremos la instalación del SDK el típico siguiente, una vez
instalado para ver si todo se ha instalado correctamente, podemos abrir una
terminal de símbolo del sistema y ejecutar:
Lo que nos indica que ya tenemos el SDK correctamente
instalado y nos da la versión en este caso es la 7.0.201
Creando un
proyecto de consola
Vamos a ver los diferentes tipos de proyecto que podemos
crear con .NET y la manera de hacerlo. Para tener una primera fotografía de
todo lo que podemos hacer con dotnet podemos abrir una terminal y ejecutar el
comando dotnet new –help, lo cual nos mostrará información muy relevante:
Vamos a generar nuestro primer proyecto
Con la consola navegaremos a la ubicación deseada en este
caso vamos a ir al desktop y crearemos una carpeta con el comando mkdir que
podemos llamar proyecto_1.
Nos metemos en la carpeta con cd proyecto_1 y una vez dentro
podemos generar el primer proyecto que será un proyecto de consola con el
comando:
dotnet new console -o myfirstapp
donde -o es donde queremos la
salida de nuestro proyecto y le indicamos que lo cree en otra carpeta que
podemos llamar myfirstapp:
Si hacemos enter
Si vamos al escritorio veremos que se han creado las
carpetas de nuestro primer proyecto:
Podemos abrir este nuevo proyecto en nuestro VScode veremos
nuestro primer proyecto:
VScode detecta que es un proyecto C# y nos pedirá que
agregemos las extensiones correspondientes para tener soporte, le diremos que
si.
Si no apereciera podemos instalarla desde extensiones
buscando C#
Para ejecutar nuestro proyecto de consola hello world lo único que tenemos que hacer es abir una terminal en vscode y ejecutar el comando dotnet run
Con esto ya vemos nuestra salida del programa “Hello. World”
Creando un
proyecto Web
Del mismo modo que hemos creado un proyecto de consola
podemos crear proyectos web vamos a ver cómo.
Volvemos a abrir una consola en el pc y nos ubicamos en la carpeta proyecto_1
Y una vez dentro vamos a crear un nuevo proyecto esta vez
web con el comando
Si abrimos nuestro proyecto en VScode, en el archivo program.cs
veremos el siguiente código:
// Add services to the container.
builder.Services.AddControllersWithViews();
var app = builder.Build();
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
app.UseExceptionHandler("/Home/Error");
app.UseHsts();
app.UseHttpsRedirection();
app.UseRouting();
app.UseAuthorization();
app.MapControllerRoute(
app.Run();
si nos fijamos nuestra app está usando autorización
(remarcado en azul), cuando creamos una nueva App mvc esto es así por defecto.
Si queremos crear una App sin Auth en nuestro comando en la consola deberemos
añadir el siguiente flag:
Y listo ya hemos creado nuestro proyecto mvc c#
Para ejecutar nuestra app, como
ene l caso de la app de consola bastará con abrir la consola y hacer dotnet run
Se iniciará la compilación y nos
creará un servidor (en amarillo)´
Si vamos a esa dirección local
podremos ver nuestro proyecto web de inicio
No hay comentarios:
Publicar un comentario