Ir al contenido principal

Destacado

Java 8 Programmer I u Oracle Certified Associate

En el Oracle Code One me enteré que se había generado un Fest de certificación. En que consistía?. En que podías dar la certificación que quisieras por ser asistente al evento a CERO dólares.

Me inscribí y obtuve la certificación. Menos mal. Con eso ya tengo la 8 y que dure hasta que salga la 11 y tenga que actualizarme.



Es una gran experiencia. El tiempo de 150 minutos pasa rapido y eso que son solo 70 preguntas.
Igual en mi campus.joedayz.pe tengo ya el curso preparado y me sirvió totalmente. Les animo a estudiar y certificarse. Esta certificación es valida en todos los países. 
Gracias Oracle, ya puedo poner en mi CV:


Joe

PD. Si quieren unirse al campus, toda la información está en http://joedayz.pe/campus.   Esta 100 soles anuales. Pero, si ves nuestro blog, diles que quieres el descuento de BLOG JOEDAYZ y solo adquiera a 80 soles hasta el 31 de Diciembre 2018. 


Mi primera aplicación con ASP.NET Core

Hola amigos, en esta oportunidad vamos a crear nuestra primera aplicación ASP.NET Core siguiendo esta agenda:

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. 







Comentarios