Anexsoft | Blog y dictado de cursos de Tecnología

En este encontrarás tutoriales de tecnología como PHP, ASP.NET MVC, Front-End, entre otros y cursos exigentes de modalidad online que te ayudarán a crecer profesionalmente.

Novedades de ASP.NET 5 (ASP.NET Core) y ASP.NET MVC 6
Actualizado el 04 Abril, 2016 y leído 6,388 veces
Calificación: 9.33 / 10

Novedades de ASP.NET 5 (ASP.NET Core) y ASP.NET MVC 6

Anexsoft

¿Qué es ASP.NET 5 ASP.NET Core?

ASP.NET Core (anteriormente ASP.NET 5) es el nuevo framework de Microsoft para desarrollar aplicaciones web multiplataforma, es decir que podemos desarrollar desde Linux, OS X y Windows usando la tecnología .NET. Adicionalmente, hoy en día se ha vuelto open source y podemos encontrar su repositorio en GitHub. Por fín, despues de tanto tiempo ahora si podremos desarrollar tecnología .NET en otros SO que no sea Windows, igual yo me quedo con Windows.

No confundan ASP.NET 5 con ASP.NET MVC 5, no es lo mismo. Yo antes por ignorancia confudia estos conceptos, ASP.NET es el framework para desarrollo de aplicaciones Web dentro del mundo .NET, y ASP.NET MVC permite desarrollar aplicaciones web basado en ASP.NET MVC usando la arquitectura de software MVC.

 

Novedades en ASP.NET Core

La arquitectura ha cambiado bastante, ya no hace más uso de System.Web.dll haciendola más modular. Veamos una lista de cambios que trae (ingles)

  • New light-weight and modular HTTP request pipeline
  • Ability to host on IIS or self-host in your own process
  • Built on .NET Core, which supports true side-by-side app versioning
  • Ships entirely as NuGet packages
  • Integrated support for creating and using NuGet packages
  • Single aligned web stack for Web UI and Web APIs
  • Cloud-ready environment-based configuration
  • Built-in support for dependency injection
  • New tooling that simplifies modern web development
  • Build and run cross-platform ASP.NET apps on Windows, Mac and Linux
  • Open source and community focused

Fuente: https://docs.asp.net/en/latest/conceptual-overview/aspnet.html

 

ASP.NET MVC 6

Esta ha cambiado bastante con respecto a su versión anterior, toda la arquitectura es diferenta ya que, que inorpora al ASP.NET Core. Veamos algunos features:

  • Tags Helpers: aunque a un podamos usar los Html Helpers, estos nunca fueron de mi agrado porque me gustaba manipular bastante  el HTML en si y si me hacía más flexible maquetar los controles de un formulario sin usar los Helpers. Hoy en día, se ven algo como esto
    <form asp-controller="Student" asp-action="Create" method="post">
        <div>
            <label asp-for="Name">Name:</label>
            <input asp-for="Name" />
        </div>
        
        <div>
            <label asp-for="CourseId">Course:</label>
            <select class="form-control" asp-for="Genre">
                <option value="1">Male</option>
                <option value="0">Female</option>
            </select>
        </div>
     
        <input type="submit" value="Save" />
    </form>
  • Inyección de dependencia: por defecto ASP.NET Core incorpora un contenedor IoC para agregar nuestras dependencias. Por lo tanto no sería raro ver en vez de un ActionResult un IActIonResult. Esto es una caracteristica que me ha gustado bastante ya que, con esto puedo declarar mis dependencias y reutilizar dentro de toda mi solución de visual studio. Les comparto un fragmento de código para que comprendan mejor:

    namespace BusinessLogic
    {
        public interface IExampleDataLogic {
            List<ExampleData> GetAll();
            ExampleData Get(int id);
            ResponseModelView Save(ExampleData edvm);
        }
    
        public class ExampleDataLogic : IExampleDataLogic
        {
            private ResponseModelView rmv = new ResponseModelView();
            private readonly IRepository<ExampleData> repoExampleData;
            private readonly ILogger<ExampleDataLogic> logger;
    
            public ExampleDataLogic(ILogger<ExampleDataLogic> _logger, IRepository<ExampleData> _repoExampleData) {
                logger = _logger;
                repoExampleData = _repoExampleData;
            }
    
            public List<ExampleData> GetAll()
            {
                using (var ctx = new DbContextScope())
                {
                    return repoExampleData.GetAll().ToList();
                    //return repoExampleData.SelectQuery("SELECT * FROM ExampleData").ToList();
                }
            }
    
            public ExampleData Get(int id)
            {
                using (var ctx = new DbContextScope())
                {
                    return repoExampleData.Get(x => x.id == id);
                }
            }
        }
        
    }
  • StartUp: es el equivalente a lo que era el Global.asax.

  • Bower, Gulp: integrado en el VS y a nuestro proyecto ASP.NET MVC 6 junto a Node. ¿Cómo que se quiere poner a la vanguardia no?, eso es muy bueno.

  • Web Api Controllers: podemos usar ahora controlladores de Web Api en nuestro proyecto MVC.

  • Logging: por defecto contamos con un sistema para hacer trace a nuestro código. Me gustaría investigar más del tema para ver si puedo apuntar el log generado a la base de datos en vez de un archivo de texto plano.

  • project.json: desde este puedo agregar dependencias a mi proyecto con la ayuda del autocompletado, es un archivo json y la base de nuestro proyecto.

  • Inyección de dependencia: por defecto todo nuestra aplicación ahora trabaja bajo inyección de dependencia, esto hace que podamos escalar más facilmente nuestro proyecto y es una práctica usada en la mayoría de los frameworks hoy en día. ASP.NET incopora un repositorio IoC para guardar nuestras dependencias y poder usarlas desde los constructores de nuestras clases.

Estos son algunos feautures que he visto rapidamente, no he tocado mucho mano aún pero si les aseguro que ha cambiado bastante pero no tanto como para aprender todo de nuevo como lo que pasa con Angular Js 1 y su versión 2.

 

Cosas que no me gustan

  • Anteriormente cuando yo generaba una acción y le daba click derecho podía generar la vista automaticamente. Espero lo vuelvan a agregar.
  • Tampoco puede dar click derecho a la acción y decirle go to view..

Solo son 2 cosas que he encontrado, pero me incomoda bastante.

 

Más adelante sacaré un ejemplo de ASP.NET MVC implementando un Crud junto a Entity Framework 7 e iré actualizando esta publicación.

¡Adquiera ya!

  • Software de Venta e Inventario hecho en PHP y Codeigniter

    Software de Venta e Inventario hecho en PHP y Codeigniter
  • Software de Portafolio Profesional hecho en ASP.NET MVC 5 C#

    Software de Portafolio Profesional hecho en ASP.NET MVC 5 C#
  • Código de fuente de Red Social desarrollada en ASP.NET MVC

    Código de fuente de Red Social desarrollada en ASP.NET MVC

Últimas publicaciones

Encuesta

¿Sobre qué te gustaría que se hable más?

Síguenos

Estudia con nosotros y crece profesionalmente

Nuestros cursos han sido hecho en base a lo que demanda el mercado hoy en día.
La experiencia obtenida es la de un ambiente laboral.

Anexsoft
© 2017 Anexsoft, blog y cursos online de TI.