[Part 1][1] Hola bienvenidos a Pragim Technologies yo soy Cristina Carrasco, en esta ocacion hablaremos sobre el .NET Framework

[Part 1][2] Segun microsoft el .Net Framework es una tecnologia que admite la creacion y ejecucion de servicios web y aplicaciones Windows.

Esto qu significa ques es un conjunto de herramientas los cuales nos sirven para crear y ejecutar software ya sea web o de windows.

Algo imporante que hay que remarcar aqui es que el .NET Framework es exclusivamente para Windows no existe en mac ni en linux, ni otro sistema operativo que se les pueda ocurrir. Esta es una tecnologia de Microsoft hecha para los mismos productos de Microsoft (windows en todas sus versiones, windows home, profesional, server, etc.)

Consta de dos componente principales: Common Language Runtime (CLR) y la biblioteca de clases de .NET Framework.

[Part 1][3] Hablando del Common Language Runtime y sin aondar mucho en la definicion, si quisieran ver una deficion pueden chechar el link de la pagina oficial de microsfot, pero para mi el CLR es lo que nos permite crear aplicaciones en diferentes lenguajes y aun asi poder ejecutarlas y comunicarse entre ellas, por ejemplo podemos tener una libreria en Visual Basic .NET dentro de un proyecto hecho en C# y podran ejecutarse y comunicarse entre ellas aun siendo diferentes lenguajes de programacion; todo esto gracias al CLR, esta seria solo una de las cosas que el CLR hace por nosotros, otra cosa que hace tambien es administrar memoria y procesos.

Si vemos el diagrama de como funciona el CLR, tenemos que el codigo fuente o Source Code sera compilado a Bytecode a un lenguaje en commun llamado (Common Intermediate Languaje - SIL), despues el CLR toma el lenguaje SIL y lo convierte en codigo Nativo.

[Part 1][4] Aqui vemos otro diagrama del CLR

[Part 1][5] Ya vimos que es el CLR ahora la otra parte que microsoft menciona como parte del .NET Framework es La Biblioteca de Clases de .NET Framework

La biblioteca de clases de .NET Framework es diferente segun la version del .NET Framework porque con las diferentes versiones se fueron creando nuevos tipos de proyectos y nuevas tecnologias, por ejempo Linq o el Entity Framework, tambien los diferentes tipos de proyectos como MVC, o Web API... Entonces segun la version del .NET Framework sera la organizacion o las librerias que el framework incluye dentro de este. No voy a entrar en detalle sobre todos los modulos y clases que existen dentro de la Biblioteca de clases, eso facilmente se puede analizar en la pagina de Microsoft segun la version del Framework, pero hay que tomar en cuenta que segun el software que estemos desarrollando y las cosas que queramos que el software haga... seguramente ya existe una clase dentro del Framework que nos va ayudar con esa tarea en especifico, por ejemplo quiero conectarme a una base de datos... facil ya hay conectores para las bases de datos dentro del .net framework puede ser ADO.NET o EF. Y asi con una gran cantidad de cosas que se pueden hacer al momento de desarrollar software, entonces .NET framework viene a ser un grupo de herramientas que ayudan a los desarrolladores a crear sistemas de una manera mas simple; facilitando unas librerias que ya vienen a solucionar muchos de los problemas que tenemos los desarrolladores en el dia a dia.

[Part 1][6] Pero ya dejando de hablar tanto de los conceptos he informcion que pueden encontrar facilmente en la web, les dire desde el punto de vista del usuario o de una manera simplificada lo que es el .net Framework

.net framework es un paquete que instalas en windows y te permite correr todas las aplicaciones que fueron creadas con los lenguajes que vienen incluidos alli.

Osea el .net framework es algo que instalas en windows y te permite ejecutar aplicaciones.

Si no lo tienes instalado y quieres ejecutar una aplicacion hecha en .net, el programa te va avisar que no tienes el paquete instalado y te va pedir que instales la version necesaria o con la que fue creado el programa.

A quien no le ha pasado que bajamos un programa lo queremos instalar y vmeos un mensaje como este:

Alli mismo nos da un link y nos manda a la pagina de microsoft, bajamos el "Runtime" del .Net Framework para la version necesaria obviamente y despue de instalarlo ya podemos ejecutar el programa sin ningun problema.

Hay que recordar que segun la version de windows y el service pack, Windows ya viene con ciertas versiones del .net framework las cuales se pueden habilitar modificando las caracteristicas de windows

[Part 1][7] .Net Framework SDK y .Net Framework Runtime Por un lado tenemos el SDK por sus siglas en ingles Software Development Kit que es el Kit de desarrollo de software el cual se utiliza para programar o desarrollar las aplicaciones de .net framework, normalmente se utiliza con Visual studio, Visual Studio es un IDE Integrated Development Enviroment o entorno de desarrollo integrado el cual se utiliza para desarrollar aplicaciones de .NET, cuando instalamos visual studio el SDK del Framework ya viene incuido con este, asi podemos empezar a crear aplicaciones.

El Runtime por otra parte es todo lo que se necesita para ejectuar o correr la aplicacion, asi de simple, entonces si tenemos un instalable o un .exe de una aplicacion de .NEt Framework y queremos correr esta aplicacion en otra computadora, diferente a donde se creo la aplicacion, tendremos que instalar el .NEt Framework en esa computadora, pero no el SDK si no solamente el Runtime del Framework.

Entonces si volvemos al diagrama que teniamos al inicio: El ejecutable o los archivos de la aplicacion una vez que ya generamos un entregable estos ya no son codigo C# or visual basic .net, sino que ahora seran librerias o ejecutables los cuales ya contendran codigo CIL, Entendiendo esto podemos ver que parte de las aplicaciones de .NET dependen del SDK y que parte depende solo del Runtime, una vez generado el coidgo CIL el runtome es quien se hara cargo de convertir ese codigo a codigo nativo o codigo maquina y asi poder correr la aplicacion en otros equipos diferentes de donde se creo la aplicacion.

[Part 1][8] Hable del IDE en la diapositiva anterior, asi que les voy a dar una breve expicacion de que es y que ides para .NET son los mas conocidos o utilizados. El IDE Integrated Development Enviroment o entorno de desarrollo integrado es un programa que instalamos en la computadora el cual ya contiene la estructura base para empezar a crear software o aplicaciones de diferentes tipos: escritorio, web, mobile, etc.
El IDE incluye todo lo que un desarrollador necesita para empezar a crear programas. Basicamente un IDE es un programa para hacer programas, y para dotnet el mas famoso es Visual Studio si quieren empezar a programar en .net hay que descargarlo de https://visualstudio.microsoft.com/ y pueden utilizar la version Community la cual es gratis.

Visual Studi es el IDE mas famoso para .NET originalmente solo era para Windows, pero en versiones resientes existe la version para MAC. Existen tres versiones de VS: 1 - Community: Gratuito para desarrolladores particulares, usos académicos y código abierto 2 - Profesional: tiene un costo y algunas mejoras. Esta enfocado en uso particular osea para empresas chicas o medianas. 3 - Enterprise: la cual es mas costosa, pero esta incluye opciones para visualizar diagramas de arquitectura, dependencias, testing mas robusto asi como el code coverage. Esta version va enfoca para organizaciones, para empresas grandes.

[Part 1][9]

Eso esto todo por hoy, Para recursos adicionales por favor visiten la pagina pragim tech.com

Muchas gracias por estar aqui y que tenga un excelente dia.