b3t6 - .NET Flashcards
Cuál es la versión del último framework de .net que publicó Microsoft y en qué año?
4.8 en 2019
Qué es el CLR de .NET?
Common Language Runtime → Es equivalente al JRE de java, o a la máquina virtual
Qué tiene el CLR?
<ul><li>Librerías de clases base</li><li>Soporte de hilos</li><li>Garbage collector</li><li>JIT Compiler (Just In Time Compiler) → Compilación en tiempo de ejecución. Optimiza porque traduce el código bytecode al código máquina nativo</li><li>Exception Manager</li><li>…</li></ul>
Qué es el bytecode
<span>El </span><strong>bytecode</strong><span> es un </span><a>código intermedio</a><span> más abstracto que el </span><a>código máquina</a><span>. Habitualmente, es tratado como un archivo </span><a>binario</a><span> que contiene un programa </span><a>ejecutable</a><span> similar a un módulo objeto, que es un archivo binario producido por el </span><a>compilador</a><span> cuyo contenido es el </span><a>código objeto</a><span> o código máquina .</span>
Qué es el JIT que hay en algunas máquinas virtuales
Just In Time Compiler: Es la herramienta que compila en tiempo de ejecución el código bytecode intermedio al código máquina nativo de la máquina virtual antes de interpretarlo, de forma que se optimizan tiempos
Qué tiene el .NET Framework, por ejemplo a partir de la versión 2.0 de 2005?
CLR (Common Language Runtime)
Framework Class Library: Clases principales como String, las de Utils, etc…
WinForms → Clases interfaces de usuarios basadas en ventanas (botones, …)
ASP.NET → Entorno para hacer aplicaciones web
ADO.NET → Para conectividad con BBDD
Qué paquetes de clases se añadieron en .NET Framework 3.0 y que prácticamente no se usan?
<ul><li>WPF → Windows Presentation Fundation</li><li>WCF → Windows communication fundation → Poder crear servicios web. Integración</li><li>WWF → Windows Workflow fundation → Para crear flujos, con una herramienta visual</li></ul>
Qué leguajes soporta .NET Framwork
c#f#vb.net
Qué dos importantes funcionalidades se incluyen en .NET Framework 3.5 relacionadas con la bbdd?
LINQ (Language Integrated Query) → Te abstrae del tipo de BBDD
EntityFramework → Herramienta ORM como NHibernate de .NET también o las JPA de java (Hibernate, TopLink, OpenJPA)
Qué es el paquete de clases WPF de .NET Fw incluido en el 3.0?
<ul><li>WPF → Windows Presentation Fundation</li></ul>
Qué es el paquete de clases WCFde .NET Fw incluido en el 3.0?
<ul><li>WCF → Windows communication fundation → Poder crear servicios web. Integración</li></ul>
Qué tres tipos de lenguajes se usan desde que se desarrolla el un programa hasta que se ejecuta?
<ol><li>Código <strong>fuente</strong>.</li><li>Un compilador lo compila a <strong>bytecode</strong></li><li>El JIT compiler del CLR lo traduce a código <strong>máquina nativo</strong></li></ol>
Qué es el CIL de .NET Framework
Common Intermediate Language. El nombre que le puso Microsoft al código “bytecode”
Cómo se llamaba el CIL antes de llamarse así?
<ul><li>MSIL → Microsoft Intermediate Language</li></ul>
Cómo se llama el proceso de empaquetado<strong> ficheros de código CIL </strong>en formato de .dll y .exe que se despliega en la máquina virtual en .NET Framework? sería similar al JAR de java
Assembly
Qué sería el equivalente .NET Framework de un JAR? y qué contiene
Son los ensamblados .dll y .exe, que contiene archivos CIL
Qué concepto .NET sería el equivalente al ClassPath de Java?
GAC: Global Assembly Cache → Ruta global con ensamblados registrados
Tres implementaciones de frameworks de .NET hay en Linux?
MONO → Es opensource
.NET Core
DotGNU Portable.NET
Cómo se llama la implementación de Microsoft de un framework de .NET?
.NET Framework
Las versiones del CLR se corresponden con las del Framework?
No siempre. Por ejemplo la v3.0 del framework tiene versión 2 de CLR
Qué dos reglas debe cumplir cualquier lenguaje que quiera ser compatible con lenguaje .net (CIL), definidas en la ECMA 335?
CLS (Common Language System)CTS (Common Type System)
Dónde estaba y dónde está ahora situado el GAC en Windows?
Antes → c:\windows\assemblyAhora → c:\windows\Microsoft.Net\assembly
Qué código ECMA es la especificación de la plataforma .NET?
ECMA 335
Qué es el estándar ECMA 334?
Es la especificación que estandariza el lenguaje C#
Qué es el ECMA 335 (llamado Common Language Infrastrcture - CLI)
Es la estandarización de toda la plataforma .NET (CIL,
Qué es el CLI?
Common Language Infrastructure → Especificación ECMA 335 que estandariza toda la plataforma .NET
Qué es .NET Core y en qué año surge?
Framework multiplataforma y opensource bajo licencia <strong>MIT </strong>que lanza Microsoft, que liberaliza parte del producto propietario y no multiplataforma .NET Framework.Lo lanza en 2016
Qué es el producto .NET, a secas? Qué año surge y con qué versión inicia? Por qué versión va?
A nivel de producto se funde la línea .NET Framework (propietario Microsoft) y .NET Core (opensource)Empieza por .NET 5 en 2020En 2022 va por la .NET 7En 2023 está proyectada la versión .NET 8
Qué versión de .NET está proyectada para 2023?
.NET 8
Qué diferencia hay entre los siguientes frameworks?.NET FrameworkMONO.NET Core.NET.NET STANDARD 2.0
.NET Framework → Propietario de Microsoft, con el que se inicia la plataformaMONO → Versión opensource para Linux.NET Core → Versión opensource lanzada por el mismo Microsoft.NET → Unificación de .NET Framework y .NET Core.NET STANDARD 2.0 → Estandarización de las clases base entre los distintos frameworks
Qué es el framework Xamarin?
Framework .NET basado en MONO, que sirve para móviles
Qué es .NET STANDARD 2.0?
Estandarización de las clases base entre los distintos frameworks de .NET
Qué es la herramienta dotnet?
Herramienta de línea de comandos, incluida en .NET Core que sirve para desarrollar, equivalente a un IDE de desarrollo
Qué dos herramientas están incluidas en dotnet para la construcción de proyecto y gestión de dependencias?
msbuild: Automatizar la construcción del proyecto.
nuget: Gestión de dependencias.Estas dos cosas combinadas sería similar a maven en java o npm en js
nuget y msbuild se pueden usar fuera de dotnet?
Sí
Qué hace la herramienta new de dotnet?
Crear un proyecto dotnet