jahbenjah / little-aspnetcore-book

El pequeño libro de ASP.NET Core, una introducción amigable a la programación web con ASP.NET Core 3.1
https://aspnetcoremaster.com/little-aspnetcore-book/
Creative Commons Attribution 4.0 International
21 stars 8 forks source link
asp-net-core csharp

El pequeño libro de ASP.NET Core

Por Nate Barbettini y Benjamín Camacho

Copyright © 2020. Todos los derechos reservados.

ISBN:

Liberado bajo la licencia Creative Commons Attribution 4.0. Eres libre de compartir, copiar y redistribuir este libro en cualquier formato o mezclarlo y transformarlo para cualquier propósito (incluso comercialmente). Debes de dar el crédito apropiado y proveer la liga a la licencia.

Visita https://creativecommons.org/licenses/by/4.0/deed.es para obtener más información.

Introducción

¡Gracias por elegir ASP.NET Core: manual de practicas! Escribí este corto libro basado en el trabajo de Nate Barbetini y con el proposito de ayudar a las personas de habla hispana que interesadas en aprender programación web a aprender como desarrollar aplicaciones web ASP.NET Core

, un marco de trabajo para desarrollar aplicaciones web y APIs.

ASP.NET Core: manual de practicas está estructurado como un tutorial. Construirás una aplicación de principio a fin y con ello aprenderás:

No te preocupes, para iniciar no necesitas ser un experto en desarrollo web pero si es necesario tener conocimientos básicos en C#, HTML CSS, Javascript y SQL.

Antes de empezar

El código de la versión final de la aplicación que construirás está disponible en Github:

https://github.com/jahbenjah/little-aspnetcore-todo

Siéntete libre de descargarlo si quieres ver el producto final, o compararlo mientras escribes tú propio código.

El libro mismo es actualizado frecuentemente con corrección de errores y adición de nuevo contenido. Si estas leyendo un archivo PDF, libro electrónico o versión impresa verifica el sitio web oficial (http://aspnetcoremaster.com/) para ver si hay disponible una versión actualizada. La última página del libro contiene información sobre la versión y el registro de cambios.

¿A quién está dirigido este libro?

Si eres nuevo en la programación web, esté libro te introducirá los patrones y conceptos utilizados para desarrollar aplicaciones web modernas. Aprenderás como construir una aplicación web (y cómo se ensamblan todas las piezas) ¡construyendo algo desde el inicio! A pesar de que este pequeño libro no es capaz de cubrir absolutamente todo lo que necesitas conocer acerca de la programación te dará un punto de inicio de tal forma que puedas aprender tópicos más avanzados.

Si ya haz programado con un lenguaje de lado del servidor como Javascript con Node,Python, Ruby, Go o Java encontrarás muchas ideas familiares como MVC, plantillas de vistas e inyección de dependencias. El código estará en el lenguaje de programación C#, pero no lucirá tan diferente de lo que ya conoces. Si eres un desarollador ASP.NET MVC, ¡te sentirás como en casa! ASP.NET Core añade algunas nuevas herramientas y reutiliza (y simplifica) las cosas que ya conoces. Apuntaré sobre algunas diferencias a continuación.

No importa tú experiencia previa con la programación web, este libro te enseñará todo lo necesario para crear una aplicación web ASP.NET Core simple y útil. Aprenderás como desarrollar las funcionalidades usando el código del lado del servidor y del cliente. Cómo interactuar con una base de datos y cómo desplegar la aplicación en un servidor real.

¿Qué es ASP.NET Core?

ASP.NET Core es un marco de trabajo web creado por Microsoft para desarrollar aplicaciones web, APIs y microservicios. Usa patrones de diseño bien conocidos como MVC (Modelo-Vista-Controlador), la inyección de dependencias y una canalización de solicitudes formada por Middleware. Es de código abierto bajo la licencia Apache 2.0, lo que significa que está disponible de forma gratuita y la comunidad es animada para contribuir con corrección de errores y adición nuevas características.

ASP.NET Core se ejecuta sobre el entorno de ejecución .NET de Microsoft. En teoría puedes escribir aplicaciones ASP.NET Core en varios de lenguajes de programación (entre ellos C#, Visual Basic y F#) pero en la realidad C# es la elección más popular y el que cuenta con un conjunto de plantillas más completo por tal motivo C# es el lenguaje que que usaremos en este libro. Puedes desarrollar y ejecutar aplicaciones ASP.NET Core en los sistemas operativos Windows, Mac y Linux.

¿Porqué necesitamos otro marco de trabajo para el desarollo web?

Al día de hoy, existen gran cantidad de marcos de trabajo web para elegir : Express, Spring, Ruby on Rails, Django, Laravel y muchos más. ¿Cuáles son las ventajas que ASP.NET Core tiene?

.NET Core y Estandar .NET

A lo largo de este libro, estarás aprendiendo acerca de ASP.NET Core (el marco de trabajo web). Ocasionalmente mencionare el entorno de ejecución .NET, la librería de soporte que ejecuta el código .NET. Si esto actualmente suena como Griego para ti, ¡solo pasa al siguiente capítulo!.

Es posible que también hayas escuchado acerca del .NET Core y Estándar .NET. Estas son términos que se confunden así aquí esta una simple explicación:

Estándar .NET es una interfaz independiente de plataformas que define las características y APIs. Es importante recalcar que el estándar .NET no representa ninguna código o funcionalidad, solo refleja cuántas APIs están disponibles (o que tan amplia es la superficie de la API). Por ejemplo, el estándar .NET 2.0 tiene más APIs disponibles que el estándar .NET 1.5, el cuál tiene más APIs que el estándar .NET.

.NET Core es el motor de tiempo de ejecución de .NET que puede ser instalado en Windows, Mac o Linux. Este implementa las APIs definidas en el estándar .NET con el código especifico para cada sistema operativo. Esto es lo que instalas en tu propia máquina para programar y ejecutar aplicaciones ASP.NET Core.

Y solo como una buena medida, .NET Framework es una implementación diferente del estándar .NET que es específica para Windows. Este era el único entorno de ejecución .NET hasta que .NET Core llego y proporciono .NET para Mac y Linux. Hasta la versión 2.x de ASP.NET Core podia correr sobre el .NET Framework que es especifico para Windows, pero no tratare sobre esto demasiado.

Si estas confundido con todos estos nombres, ¡no te preocupes! Estaremos escribiendo algo de código real muy pronto.

Nota para los desarrolladores de ASP.NET 4

Si no has utilizado las versiones previas de ASP.NET, puedes pasar directo al siguiente capítulo.

ASP.NET Core es una re-escritura completa desde los fundamentos de ASP.NET con el objetivo de modernizar el marco de trabajo y finalmente desacoplarlo de System.Web, ISS y Windows. Si recuerdas todo las cosas sobre OWIN/Katana de ASP.NET 4, estas casi la mitad ahí: el proyecto Katana se convirtió en ASP.NET 5 el cual finalmente fue renombrado como ASP.NET Core.

Debido al legado de Katana, la clase Startup es el frente y centro, y no hay más Application_Start o Global.asax. La canalización entera esta manejada por middleware, y no hay una separación entre MVC y Web API: los controladores pueden simplemente retornar vistas, códigos de estado o datos. La inyección de dependencias viene integrada, así que no tienes que instalar y configurar un contenedor como StructureMap o Ninject si no deseas hacerlo. Y el marco de trabajo .NET ha sido optimizado para la velocidad y eficiencia del motor de tiempo de ejecución.

Bien, es suficiente de introducción. ¡Profundicemos en ASP.NET Core..