1. Generate - Crear la aplicación base desde un template para iniciar.
2. Restore – Restaura todos los paquetes y dependencias en el proyecto usando NuGet.
3. Build – Compila la aplicación y genera todos los activos necesarios.
4. Run – Ejecuta la aplicación compilada.
Mis recursos
Quiero aclarar que hare este aplicación bajo estas condiciones:
1. MacBook PRO con estas características.
2. Si bien tengo VS Code, instale tambien Visual Studio para MAC ya que es gratuito.
Empezando con un template
Vamos a seguir el wizard despues de dar Next a la pantalla anterior.
Como es la primera vez espera unos minutos que descargue lo necesario.
Al finalizar de descargar las dependencias con Nuget, tenemos lo siguiente:
Si hubiese querido usar el NET CLI sería de esta manera dotnet new mvc -o WebApplication2:
Compilando la aplicación
Cuando use el BUILD ALL obtuve este error:
Así que si obtienes ese error aplica:
Y se supera el problema.
Desde linea de comandos sería así dotnet build:
Ejecutando la aplicación
Presionar F5.
o desde la linea de comandos con dotnet run:
La estructura del proyecto
La estructura creada ya sea por el IDE o linea de comandos es la siguiente.
El archivo .csproj revela información del proyecto. Que tipo de proyecto es app web, app de consola o librería. Para que plataforma destino el proyecto será aplicado: NET Core, NET Framework 4.5, Mono. De que paguetes Nuget el proyecto depende.
Si vemos el archivo nos muestra lo descrito.
El program.cs
Es la clase con la que iniciamos la aplicación. En ASP.NET Core es usada para construir y ejecutar una instancia IWebHost. El IWebHost es el core de tu aplicación ASP.NET Core, contiene la configuración de la aplicación y el servidor Kestrel que escucha requests y envía responses.
Pero, se necesita otra clase, Startup.cs, donde configuraras tus servicios, defines el pipeline de tu middleware, componentes y características que tu aplicación usará.
En resumen, una vez que toda la configuración de el WebHostBuilder es completo, la llamada a Build produce la instancia IWebHost, pero, la aplicación aún no esta manejando requests HTTP. Es la llamada a Run la que inicia que el servidor HTTP escuche. Ya en este punto la aplicación es funcional y puede responder al primer request.
La clase Startup
Aquí configuraremos:
1. Registro de servicios
2. Middleware y MVC
El Middleware MVC y el Home Controller
El Middleware resuelve que Controller y action manejará el request.
- Los controllers MVC pueden heredar de una clase base helper si lo desean
- La action retorna un ViewResult despues de llamar al método View()
- Si no se específica el nombre de la vista, este se tmoa del nombre del metodo action.
- La data puede ser pasada a la vista usando el diccionario ViewData.
- La data puede tambien ser pasada a una vista usando el view model.
Esto es muy similar a Spring MVC u otros frameworks. Ahora leyendo en la documentación si usas async o await puedes hacer programación asincrona, en ese caso el tipo de retorno será Task.
Generando HTML con Razor
Cuando se retorna ViewResult, el MVC middleware busca un template Razor para generar la vista apropiada. La resolución de nombre se puede dar por convención de nombres.
Veamos el contenido de About.cshtml
Y gracias a Razor tenemos un template para About que originará el html.
Y eso es todo por ahora, como desarrollador Java veo una gran similitud a framework como Spring MVC, así que no será para nada dificil que lo aprendas si has visto algo parecido antes.
Enjoy! y hasta la próxima.
0 comentarios:
Publicar un comentario