Вы находитесь на странице: 1из 31

UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin

Asignatura: Tecnologas de desarrollo de software IDE


Contenidos Programa Analtico Plan 2008 (ver. 2010)

Unidad 1:
Plataforma y Entorno de
Desarrollo
Captulo 1:
Plataforma de Desarrollo

Contenidos
TecnologasdeDesarrollo
deSoftwareIDE

Unidad: 1
Plataforma y Entorno de Desarrollo

Captulo: 1
Plataforma de Desarrollo

(ltimaActualizacin:1Abril2015)

Autor: Porta Ezequiel

Versin: Abril 2015

Pg.: 1 / 31

UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin

Asignatura: Tecnologas de desarrollo de software IDE


Contenidos Programa Analtico Plan 2008 (ver. 2010)

Unidad 1:
Plataforma y Entorno de
Desarrollo
Captulo 1:
Plataforma de Desarrollo

ndice
Unidad1:PlataformayEntornodeDesarrollo
Captulo1:PlataformadeDesarrollo
Introduccin
PlataformadeDesarrollo.Net
Entornodetrabajo.NetFramework
Evolucindeversionesde.NetFramework
ComponentesPrincipales
CommonLanguageRuntime(CLR)
Procesodecompilacinyejecucindecdigoadministrado
CdigoenLenguajeIntermedio(CILoMSIL)
Ensamblados,ManifiestosyMetadatos
DesensambladordeMSIL
ComponentesdelCLR
InfraestructuraComndeLenguajes(CLI)
SistemadeTiposComunes(CTS:CommonTypeSystem)
ClasificacindeTipos
EspecificacinComndeLenguajes(CLS)
BaseClassLibrary(BCL)
OrganizacindelaBCL
EspaciodeNombres(Namespaces)
SoporteamltiplesLenguajesdeProgramacin
ResumendelaUnidad/Captulo
Autoevaluacin
Bibliografa

Nota
: los contenidos fueron generados a partir de diversas fuente de informacin, entre las
que se destacan la oficial presentada en el sitio MSDN, la publicada por la editorial oficial y
ladeotraseditorialesyautoresdereconocidomritoacadmicoy/oprofesional.

Autor: Porta Ezequiel

Versin: Abril 2015

Pg.: 2 / 31

UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin

Asignatura: Tecnologas de desarrollo de software IDE


Contenidos Programa Analtico Plan 2008 (ver. 2010)

Unidad 1:
Plataforma y Entorno de
Desarrollo
Captulo 1:
Plataforma de Desarrollo

Unidad1:PlataformayEntornodeDesarrollo
Captulo1:PlataformadeDesarrollo

IMPORTANTE:
los
contenidos
aqu desarrollados
no sonnecesariamente completos en
su total profundidad, por lo que
se sugiere consultar otras fuentes
, tales como la
Bibliografa
sugeridaporlactedraenelProgramaAnalticoydocentes.

Objetivo(s)
Conocerlosaspectosbsicosdelaplataformadedesarrolloysufuncionamiento.

Temas
1. Laplataformadedesarrollo.Netysufuncionamiento.
a. Problemasqueresuelve.
b. Beneficiosqueofrece.
2. Elentornodetrabajo.NetFrameworkysufuncionamiento.
a. Componentes.
b. Evolucindeversionesliberadas.
3. ElmotordeejecucinCLR(CommonLanguageRuntime)ysufuncionamiento.
a. Componentesyserviciosofrecidosentiempodeejecucin.
i. Recoleccindebasura(garbagecollector)
ii. Restodeservicios...
4. ArquitecturadecompilacinyEjecucin.ElprocesodecompilacinJIT(JustInTime)
5. ElSistemadeTiposComunesCTS(CommonTypeSystem).
a. Categoras.
i. TiposporValoryporReferencia
6. LaLibrera(oBiblioteca)deClasesBaseBCL(BaseClassLibrary).
7. EspaciodeNombres(namespaces)
8. CdigoadministradooInterpretado.CdigoenLenguajeIntermedioCILoMSIL
(MicrosoftIntermediateLanguage)
9. Ensamblados(assemblies),ManifiestosyMetadatos.
10. EspecificacinComndeLenguajesCLS(CommonLanguageSpecification)
11. LaInfraestructuraComndelLenguajeCLI(CommonLanguageInfrastructure).
Estandarizacinylicenciamiento(NormaECMA335ISO/IEC23271).
12. Soporteamltipleslenguajes.

Autor: Porta Ezequiel

Versin: Abril 2015

Pg.: 3 / 31

UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin

Asignatura: Tecnologas de desarrollo de software IDE


Contenidos Programa Analtico Plan 2008 (ver. 2010)

Unidad 1:
Plataforma y Entorno de
Desarrollo
Captulo 1:
Plataforma de Desarrollo

Autor: Porta Ezequiel

Versin: Abril 2015

Pg.: 4 / 31

UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin

Asignatura: Tecnologas de desarrollo de software IDE


Contenidos Programa Analtico Plan 2008 (ver. 2010)

Unidad 1:
Plataforma y Entorno de
Desarrollo
Captulo 1:
Plataforma de Desarrollo

Introduccin
La
plataforma .Net con los componentes principales de su
Framework
,
LibreradeClases
(BCL) y
Motor de Ejecucin (CLR), permiten entender cmo funciona esta plataforma y el
entorno de desarrollo sobre el cual generar y ejecutar cdigo escrito en alguno lenguaje de
programacinsoportadopor.Net.

La
plataforma .NET es un conjunto de tecnologas diseado por Microsoftquepermiten el
desarrollo y ejecucin de software, de forma independiente del lenguaje de programacin,
modelo de objetos, sistema operativo, infraestructura de hardware y dispositivos donde se
ejecuta.

Esta combinacin tecnolgica la componen un entorno de trabajo, denominado


.NET
Framework y un conjunto de
lenguajes .Net y
herramientas de programacin que
posibilitan el desarrollo de aplicaciones robustas, seguras y de alto rendimiento para
diferentesambientes.

Esta plataforma sumada a las utilidades y herramientas que dispone el


Entorno de
Desarrollo Integrado (IDE)
Visual Studio .Net
permite que tanto programadores como
otros actores que intervienen en el ciclo de vida de desarrollo del software, puedan realizar
de modo integradounrpidodesarrollodeaplicacionesencualquieralenguajesoportadopor
.Net.

PlataformadeDesarrollo.Net
La plataforma .NET est construido sobre una arquitectura abierta (estndar ECMA335,
ISO/IEC 23271), que permite generaryejecutartantoaplicacionesdeescritorio,aplicaciones
web,servicioswebcomoaplicacionesmviles.

Uno de los objetivos de esta plataforma es simplificar el desarrollo al independizarse de la


plataforma de hardware, del lenguaje de programacin utilizado y delos dispositivos donde
sernejecutados.

Laplataforma.NETproporcionaentreotrosaspectos:
Un modelo de programacin coherente e independiente del lenguaje para todas las
capasonivelesdeunaaplicacin.
Unainteroperabilidadtransparenteentretecnologas.
Unafcilmigracindesdetecnologasexistentes.
Un completo soporte de tecnologas de Internet independientes de la plataforma y

Autor: Porta Ezequiel

Versin: Abril 2015

Pg.: 5 / 31

UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin

Asignatura: Tecnologas de desarrollo de software IDE


Contenidos Programa Analtico Plan 2008 (ver. 2010)

Unidad 1:
Plataforma y Entorno de
Desarrollo
Captulo 1:
Plataforma de Desarrollo

basadaenestndares,incluyendoHTTP,XMLySOAP.

Estaconformadaporlassiguientesreastecnolgicas:
Unentornodetrabajodenominado
.NetFramework
.
Unconjuntode
Lenguajes.NetyHerramientasdedesarrollo
.

Entornodetrabajo.NetFramework
En el mbito del
desarrollo de software
, un
framework1 o
infraestructura digital
, es una
estructura conceptual y tecnolgica de soporte definido, normalmente con artefactos o
mdulos de software concretos, con base a la cual otro proyectode
softwarepuedeserms
fcilmente organizado y desarrollado. Tpicamente, puede incluir soporte de
programas
,
bibliotecas
, y un
lenguaje interpretado
,entreotrasherramientas,paraasayudaradiferentes
actores que intervienenen el ciclo de vida del software yunirlosdiferentescomponentesde
unproyecto.

Representa una
arquitectura de software que modela las relaciones generales de las
entidades del dominio,yproveeunaestructurayunaespecialmetodologadetrabajo,lacual
extiendeoutilizalasaplicacionesdeldominio.

El
.NET Framework 2 es la infraestructura ofrecida por Microsoft donde aplicaciones y
servicios son construidosyejecutados,queporsunaturalezaunificadapermitequecualquier
tipo de aplicacinsea desarrollada mediante herramientascomunes haciendo la integracin
muchomssimple.

Evolucindeversionesde.NetFramework
El .Net framework se encuentra en constante evolucin y crecimiento por lo que la empresa
va liberando con el tiempo nuevas versiones que incorporan tanto mejoras de la
funcionalidadexistentecomonuevosdesarrollosytecnologas.

Se muestra un diagrama con las diferentes versiones que fueron surgiendo en un correlato
1

Entrminosgeneralessegnelconceptode
FrameworkenWikipedia
,esunconjuntoestandarizadode
conceptos,prcticasycriteriosparaenfocaruntipodeproblemtica particular,quesirvecomo referencia
paraenfrentaryresolverproblemasdendolesimilar.
2
El .NET Framework se incluye en versiones del sistema operativo WindowsServer 2008 y Windows
Vista en adelante. De igual manera puede ser instalada en Windows XP, y en la familia de sistemas
operativos Windows Server 2003. Una versin "reducida" de .NET Framework est disponible para la
plataforma Windows Mobile y Phone, en telfonos inteligentes. Existen implementaciones en otros
sistemasoperativoscomoporejemploelimplementadoporel
ProyectoMono
paraLinux.

Autor: Porta Ezequiel

Versin: Abril 2015

Pg.: 6 / 31

UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin

Asignatura: Tecnologas de desarrollo de software IDE


Contenidos Programa Analtico Plan 2008 (ver. 2010)

Unidad 1:
Plataforma y Entorno de
Desarrollo
Captulo 1:
Plataforma de Desarrollo

cronolgicoeneltiempo.

Figura
:Evolucin
deversionesdel.NetFramework(hasta2014,vertablarelacionadasiguiente)

La tabla siguiente relaciona .NET Framework, CLR y las versiones de Visual Studio y
proporciona un breve revisin de cada versin. Tenga en cuenta que Visual Studio proporciona
compatibilidad con mltiples versiones (multi-targeting), por lo que no est limitado a la
versin de .NET Framework que se muestra.

.Net

Incorporado

Descripcin

Framework

al IDE

4.6

N/D

En proceso (a Marzo 2015)

4.5.2

Visual Studio

Incluye modificaciones menores sobre comportamiento de

2013

ciertos controles Windows Form, APIs para ASP.Net entre


otros.

4.5.1

Visual Studio

Incluye mejoras de rendimiento y depuracin, compatibilidad

2013

para el redireccionamiento de enlaces automtico y


compatibilidad extendida para las aplicaciones de la Tienda
Windows.

4.5

Visual Studio

Inclua una versin actualizada de CLR 4, compatibilidad para

2012

compilar aplicaciones Tienda Windows y las actualizaciones


para WPF, WCF, WF y ASP.NET.

Visual Studio

Presenta una nueva versin de CLR, bibliotecas de clases

Autor: Porta Ezequiel

Versin: Abril 2015

Pg.: 7 / 31

UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin

Asignatura: Tecnologas de desarrollo de software IDE


Contenidos Programa Analtico Plan 2008 (ver. 2010)

Unidad 1:
Plataforma y Entorno de
Desarrollo
Captulo 1:
Plataforma de Desarrollo

2010

base expandidas y nuevas caractersticas, como Managed


Extensibility Framework (MEF), Dynamic Language Runtime
(DLR) y contratos de cdigo.

3.5

Visual Studio

Se agregaron nuevas caractersticas, como los sitios web

2008

habilitados para AJAX y LINQ. La actualizacin SP1


incorporaba datos dinmicos y un pequeo conjunto de
mejoras adicionales.

3.0

Visual Studio

Esta versin es esencialmente .NET Framework 2.0 con la

2005

incorporacin de Windows Presentation Foundation (WPF),


Windows Communications Foundation (WCF), Windows
Workflow Foundation (WF) y CardSpace. Se actualiz con SP1
y SP2.

2.0

Visual Studio

Se incorpor una nueva versin de CLR con ampliaciones de

2005

las bibliotecas de clases base, que incluyen genricos,


colecciones de genricos y ampliaciones significativas de
ASP.NET. Esta versin se actualiz con el SP1 y el SP2.

1.1

Visual Studio

Inclua actualizaciones de ASP.NET y ADO.NET. Esta versin

.NET 2003

se actualiz dos veces posteriormente, con Service Pack 1 y


(SP1) SP2. Esta versin incorporaba tambin la ejecucin en
paralelo, lo que permite que las aplicaciones de un solo
equipo ejecuten varias versiones de CLR.

1.0

Visual Studio

Contena la primera versin de CLR y la primera versin de

.NET

las bibliotecas de clases base.

Nota
: ver massobre laevolucindelasversionesde.NetFrameworken elsitioMSDN
.NET
FrameworkVersionsandDependencies
(MSDN)oen
.NETFrameworkversionhistory

ComponentesPrincipales
Esteentornodetrabajoestaformadopordoscomponentesprincipales:
Un
motordeejecucin
llamado
CommonLanguageRuntime
(CLR)

Autor: Porta Ezequiel

Versin: Abril 2015

Pg.: 8 / 31

UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin

Asignatura: Tecnologas de desarrollo de software IDE


Contenidos Programa Analtico Plan 2008 (ver. 2010)

Unidad 1:
Plataforma y Entorno de
Desarrollo
Captulo 1:
Plataforma de Desarrollo

Una
libreradeclases
llamada
BaseClassLibrary
(BCL)

Nota
: ms adelante en la seccin referida alaBCL,semuestragrficamentelaevolucinde
lalibreradeclasesbaserespectoalframework.

CommonLanguageRuntime(CLR)
El
Common Language Runtime3 (
CLR
) maneja el cdigo en tiempo de ejecucin y provee
una serie de serviciosesenciales tales como la integracin de lenguajes, seguridad, manejo
de tipos seguros, manejo de hilos (thread) y manejo de memoria, entre otrasventajas que
proporcionaeste
entornodeejecucinadministrado
.

Adems brinda un conjunto de herramientas y utilidadesquepermitensimplificaryfacilitarla


tarea del desarrollador, tales como herramientas de depuracin de errores (debugging),
manejo de excepciones y uso de funcionalidad bsica y avanzada expuesta en lalibrerade
clasescomnatodosloslenguajes.Net(BCL).

El CLR es el verdadero ncleo del framework de .NET, entorno de ejecucin en el que se


cargan las aplicaciones desarrolladas en los distintos lenguajes, ampliando el conjunto de
servicios del sistema operativo. Permiteintegrar proyectos en distintoslenguajessoportados
porlaplataforma.Net,comoC#,VisualBasic,C++,F#,entreotros.

El CLR es el encargado de
compilar una forma de
cdigo intermedio llamada
Common
Intermediate Language (
CIL
) o tambin conocido como
MicrosoftIntermediateLanguage
(
MSIL
), a
cdigo mquina nativo (
optimizado para el sistema operativo y el hardware donde
correr la aplicacin
), medianteunacompilaci

n
JIT
(JustInTime)
entiempode ejecucin4 a
medida que el programa invoca mtodos. El cdigo ejecutable obtenido se almacena en la
memoria cach del ordenador, siendo recompilado de nuevo slo enel caso de producirse
algncambioenelcdigofuente.

Conocidocomo
CLR
porsussiglaseningls,hacenreferenciaal
motordeejecucin
o
runtime
.
Un
compilador entiempode ejecucin
,es aquel queutiliza unatcnica de compilacin dinmicapara
mejorarelrendimientodesistemasdeprogramacin.
4

Autor: Porta Ezequiel

Versin: Abril 2015

Pg.: 9 / 31

UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin

Asignatura: Tecnologas de desarrollo de software IDE


Contenidos Programa Analtico Plan 2008 (ver. 2010)

Unidad 1:
Plataforma y Entorno de
Desarrollo
Captulo 1:
Plataforma de Desarrollo

Figur
a
:Procesodedesarrolloycompilacinen.Net

El Entorno deDesarrollo5 cuenta con la asistencia de conjunto decompiladores6 , existiendo


uno para cada lenguaje .Net soportado, cada uno de los cuales es el encargado de
transformar el cdigofuente escrito con la sintaxis propia del lenguaje utilizado, a un cdigo
en un Lenguaje Intermedio (IL) comn a todos, conocido como
CIL
(CommonIntermediate
Language)
, que es entendido por el CLR. Para generarlo, el compilador se basa en la
especificacin
CLS (
Common Language Specification
) que determina las reglas
necesariasparacrearelcdigoCILcompatibleconelCLR.
Procesodecompilacinyejecucindecdigoadministrado
Elprocesodeejecucinadministradaincluyelospasossiguientes:

1. Elegiruncompilador7 .
Para obtener los beneficios que proporciona el Common Language Runtime, se
deben utilizar uno o ms compiladores por cada lenguaje .Net utilizado para generar
cdigo.
2. Compilar
elcdigo
a
LenguajeintermediodeMicrosoft
(
MSIL
)
.
La compilacin convierte el cdigo fuente en
CIL (o MSIL)
y genera los
metadatos
requeridos.
3. CompilarMSILacdigonativo
.
En tiempo de ejecucin,un
compilador
JustInTime (
JIT
)
convierte CIL
en cdigo
nativo
. Durante esta compilacin, el cdigo debe pasar un procesodecomprobacin
que examina el
CILylosmetadatosparavalidarsielcdigogarantizalaseguridadde
tipos,queesunodelosserviciosquerealizaelCLR.
4. Ejecutarcdigo
.
5

Llamado
IDE
porsussiglaseninglsIntegratedDevelopmentEnvironment,talcomo
VisualStudio
Cadalenguaje.Nettienesupropiocompilador.
7
Considerando el uso del compilador del lenguaje especfico por lnea de comandos. Por ejemplo el
compilador dellenguaje C#es
csc.exe
. Siseutilizaunentornodedesarrollointegrado(IDE)estepasoy
elsiguientelorealizaelmismoentornodemaneraautomtica.
6

Autor: Porta Ezequiel

Versin: Abril 2015

Pg.: 10 / 31

UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin

Asignatura: Tecnologas de desarrollo de software IDE


Contenidos Programa Analtico Plan 2008 (ver. 2010)

Unidad 1:
Plataforma y Entorno de
Desarrollo
Captulo 1:
Plataforma de Desarrollo

El
CLR
proporciona la infraestructura que permite que la ejecucin tenga lugar, as
comounaampliagamadeserviciosquesepuedenutilizardurantelaejecucin.

Figura
:Procesodecompilacinyejecucindecdigoadministrado

CdigoenLenguajeIntermedio(CILoMSIL)
El cdigo en Lenguaje Intermedio de Microsoft (MSIL o CIL) es unconjuntodeinstrucciones
independientedelaCPUquesepuedeconvertirdeformaeficazencdigonativo.

MSIL incluye instrucciones para cargar, almacenar, inicializar y llamar a mtodos en los
objetos, as como instrucciones para operaciones lgicas y aritmticas, flujo de control,
accesodirectoalamemoria,controldeexcepcionesyotrasoperaciones.

Antes de poder ejecutar cdigo, se debe convertir MSIL a cdigo especfico de la CPU,
medianteunprocesodecompilacinJIT.

EL CLR proporciona uno o varios compiladores JIT para cada arquitectura de equipo
compatible, por lo que se puede compilar y ejecutar elmismoconjuntodeMSILencualquier
arquitecturacompatible.

Cuando el compilador (especfico del lenguaje fuente utilizado) produce MSIL, tambin
genera informacin adicional sobre el cdigo. Esta informacin describe los tipos que
aparecen en el cdigo, incluidas las definiciones de los tipos, las firmas de losmiembros de
tipos, los miembros a los que se hace referencia en el cdigo y otros datosqueel motor de

Autor: Porta Ezequiel

Versin: Abril 2015

Pg.: 11 / 31

UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin

Asignatura: Tecnologas de desarrollo de software IDE


Contenidos Programa Analtico Plan 2008 (ver. 2010)

Unidad 1:
Plataforma y Entorno de
Desarrollo
Captulo 1:
Plataforma de Desarrollo

ejecucinutilizaentiempodeejecucin.

El IL y los datos adicionales, conocidos como MetaData, se incluyen en un


archivo
Ejecutable Portable (
PE
), que se basay extiende el PE de Microsoftpublicadoyelformato
Common Object File Format (COFF) utilizado tradicionalmente para contenido ejecutable.
Este formato de archivo, que contiene cdigo MSIL o cdigo nativo as como metadata,
permitealsistemaoperativoreconocerimgenesdeCommonLanguageRuntime.

La presencia de metadatos junto con el Lenguaje intermedio de Microsoft (MSIL) permite


crear cdigos autodescriptivos, con locuallasbibliotecasde tiposyelLenguajededefinicin
deinterfaces(IDL)soninnecesarios.

El motor de ejecucin localiza y extrae los metadatos del archivo cuando son necesarios
durantelaejecucin.

Ensamblados,ManifiestosyMetadatos
Los componentes de cdigo, manejados y ejecutados por el CLR son conocidos como
ensamblados (assemblies) yconformanlaunidadbsicafuncionaldeundesarrollo.Netque
contienen cdigo IL, una coleccin de tipos, recursos y un manifiesto, el cualesunconjunto
demetadatos8 quedescribesucontenido.

Figura:Ensamblado(assembly)
8

Elconceptode
metadato
(o
metadata
eningls)serefiereaunconjuntodedatosquedescribeno
explicanotroconjuntodedatos.Verampliacindelconceptode
metadato

Autor: Porta Ezequiel

Versin: Abril 2015

Pg.: 12 / 31

UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin

Asignatura: Tecnologas de desarrollo de software IDE


Contenidos Programa Analtico Plan 2008 (ver. 2010)

Unidad 1:
Plataforma y Entorno de
Desarrollo
Captulo 1:
Plataforma de Desarrollo

Cada ensamblado (assembly) es almacenado como un archivo .exe o .dll y el .NET


Framework los utiliza como unidad fundamental para diferentes propsitos, tales como los
relativosaseguridad,identificacindetipos,alcancedereferencias,versionadoydespliegue.

Los metadatos describen las dependencias e informacin de versionado asociado con el


ensamblado que permite la ejecucin en paralelo de mltiples versiones diferentes de un
mismoensambladosinqueestogenereconflicto9 .

DesensambladordeMSIL
Puede utilizar la utilidad
ildasm.exe10 que forma parte del SDK11 para examinar y ver
informacindelensamblado.

Si quiere conocer ms sobre esta utilidad visite el sitio MSDN


Entendiendo y utilizando
Ensamblados y Espacios de Nombres en .Net
,
Cmo: Ver el contenidodeunensamblado

obibliografasugeridaquetrataeltema.

ComponentesdelCLR
El CLR es el
encargado de gestionar lo que se denomina cdigo administrado, y para ello
cuenta con un conjuntode componentes que proveenuna serie de servicios
automticos al
cdigoqueseejecuta.

Enrelacin al desarrollocon versiones anteriores a .Net donde segeneraban grandes inconvenientes


conloqueseconocacomo
elinfiernodelasdll

10

Sideseasaberdondeencontrarlautilidad
ILDASM.exe
veaestaentradadel
BlogMSDN

11

UnSDK (SoftwareDevelopment Kit Kit deDesarrollodeSoftware)esunconjuntodeherramientasy


programas de desarrollo que permite crear aplicaciones para un determinado paquete de software,
estructura de software, plataforma de hardware, sistema de computadora, consulta de videojuego,
sistema operativo o similar. Pueden incluir herramientas de debugger, cdigos de ejemplos,
documentacin,ymuchasvecesunentornodeprogramacinIDE.

Autor: Porta Ezequiel

Versin: Abril 2015

Pg.: 13 / 31

UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin

Asignatura: Tecnologas de desarrollo de software IDE


Contenidos Programa Analtico Plan 2008 (ver. 2010)

Unidad 1:
Plataforma y Entorno de
Desarrollo
Captulo 1:
Plataforma de Desarrollo

Grfico
:ComponentesprincipalesdelCLR

Entrelosserviciosvariadosquecuentaseencuentranlossiguientes:

CargadordeClases
(ClassLoader):permitecargarenmemorialasclases.
Compilador MSIL a nativo (MSIL toNativeCompilers):transformacdigointermedio
de alto nivel independiente del hardware quelo ejecutaa cdigo de mquina propio
deldispositivoqueloejecuta.
Administrador de Cdigo (Code Manager): coordina toda la operacin de los
distintossubsistemasdelCommonLanguageRuntime.
Recolector de Basura (Garbage Collector):elimina dememoriaobjetos noutilizados
automticamente.
Motor de Seguridad
(Security Engine): administra la seguridad del cdigo que se
ejecuta.
Motor de
Depuracin (Debug Engine): permite hacerunseguimientode laejecucin
delcdigoancuandoseutilicenlenguajesdistintos.
Verificador deTipos(TypeChecker):controlaquelasvariablesde laaplicacinusen
elreadememoriaquetienenasignado.
Administrador de Excepciones
(Exception Manager): maneja los errores que se
producendurantelaejecucindelcdigo.
Soporte de
Multiproceso (
hilos
) (Thread Support): permite desarrollar aplicaciones
queejecutencdigoenformaparalela.
Empaquetador de COM (COM Marshaler): coordina la comunicacin con los
componentesCOMparaquepuedanserusadosporel.NETFramework.
Soporte de la Biblioteca de Clases Base (BCL Support): que incluye soporte para
muchasfuncionalidadescomunesenlasaplicaciones.

Autor: Porta Ezequiel

Versin: Abril 2015

Pg.: 14 / 31

UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin

Asignatura: Tecnologas de desarrollo de software IDE


Contenidos Programa Analtico Plan 2008 (ver. 2010)

Unidad 1:
Plataforma y Entorno de
Desarrollo
Captulo 1:
Plataforma de Desarrollo

InfraestructuraComndeLenguajes(CLI)
La Infraestructura Comn de Lenguajes (
CLI por sus siglas en ingls
Common Language
Infrastructure
) es una especificacinestandarizada que describeun entorno virtual parala
ejecucin de aplicaciones, cuya principal caracterstica es la de permitir que aplicaciones
escritas en distintos lenguajesdealtonivelpuedanluegoejecutarseenmltiplesplataformas
tanto de hardware como de software sin necesidad de reescribir o recompilar su cdigo
fuente.

La especificacin del
CLI est formada por un
Sistema Comn de Tipos
, (
CTS por sus
siglas en ingls de Common Type System),
Metadatos
y
Especificacin Comn del
Lenguaje
(
CLS
porsussiglaseninglsdeCommonLanguageSpecification).

Debido a la publicacin de la norma para la Infraestructura Comn de Lenguajes (


CLI
), el
desarrollo de lenguajes se facilita, por lo que el marco de trabajo.NET soporta una variada
gamas de lenguajes de programacin y es posible desarrollar cualquiera de los tipos de
aplicaciones soportados por la plataforma con cualquiera de ellos, lo que elimina las
diferenciasqueexistanentreloqueeraposiblehacerconunouotrolenguaje.

Entre algunos de los lenguajes desarrollados para el marco detrabajo .NETencontramos a


C#, Visual Basic .NET, Delphi (Object Pascal), C++, F#, J#, Perl, Python, Fortran, Prolog,
CobolyPowerBuilder.

SistemadeTiposComunes(CTS:CommonTypeSystem)
En un sentido amplio, un
Tipo
de datos define un conjunto devaloresylasoperacionesque
sepuedenrealizarsobreestosvalores.

El Sistema de Tipos Comn (CTS) es un estndar12 (


ECMA 355
) implementado en el .Net
Framework, que especifica cmose declaran, utilizan y administran los tipos en el motor de
ejecucin (runtime). Es tambin una parte importante de la compatibilidad en tiempo de
ejecucinconlaintegracinentrelenguajes.

Elsistemadetiposcomnrealizalas
funciones
siguientesentreotras:

12

LaespecificacinparaelCTSseencuentraenel
estndar
ECMA355

quedefinelaarquitecturadela
InfraestructuraComndelLenguaje"(
CLI
:CommonLanguageInfrastructure)yMicrosoft.NETesuna
implementacindelanorma.OtroestndareselECMA334quedefinelaEspecificacindelLenguaje
C#
.

Autor: Porta Ezequiel

Versin: Abril 2015

Pg.: 15 / 31

UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin

Asignatura: Tecnologas de desarrollo de software IDE


Contenidos Programa Analtico Plan 2008 (ver. 2010)

Unidad 1:
Plataforma y Entorno de
Desarrollo
Captulo 1:
Plataforma de Desarrollo

Establece unmarco de trabajo que ayuda a permitir la integracin entrelenguajes,la


seguridaddetiposyunaltorendimientoenlaejecucindecdigo..
Proporciona un modelo orientado a objetos que admite la implementacin completa
demuchoslenguajesdeprogramacin.
Define reglas que deben seguir los lenguajes, lo que ayuda a garantizar que los
objetosescritosendistintoslenguajespuedaninteractuarunosconotros.
Proporciona una biblioteca que contiene los tipos dedatos primitivos(comoBoolean,
Byte,Char,Int32yUInt64)utilizadoseneldesarrollodeaplicaciones.

ClasificacindeTipos
El CTS soporta doscategorasgeneralesdetipos,queasuvezsedividenensubcategoras.
Todoslostiposderivandeltipobase
System.Object
.

Grfico
:
SistemadeTiposComunes(CTS)

TiposdeValor
Los tipos de (o por) valor contienen directamente sus datos y lasinstancias de los tipos de
valor se almacenan en la pila (stack) o se asignan en lnea en una estructura. Los tipos de
valor pueden ser
integrados
(o Incorporados, implementados por el motor en tiempo de
ejecucin),
definidos por el usuario o
enumeraciones
.Para obtener una lista delos tipos
devalorintegrados,vea
Bibliotecadeclasesde.NETFramework
.

TiposdeReferencia
Los tipos de referencia guardan una referencia a la direccin en memoria del valor y se
asignan en un sistema de cola (Heap). Los tipos de referencia pueden ser tipos
autodescriptivos, punteros o de interfaz. A su vez los tipos autodescriptivos se dividen en

Autor: Porta Ezequiel

Versin: Abril 2015

Pg.: 16 / 31

UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin

Asignatura: Tecnologas de desarrollo de software IDE


Contenidos Programa Analtico Plan 2008 (ver. 2010)

Unidad 1:
Plataforma y Entorno de
Desarrollo
Captulo 1:
Plataforma de Desarrollo

matrices y clases. Los tipos de clase pueden serdefinidasporelusuario,tiposdevaloralos


quesehaaplicadolaconversinboxingydelegados.

Las variables que son


tipos de valortienen, cadauna,supropiacopiadelosdatosy,porlo
tanto, las
operaciones
enunavariable
noafectana lasdems
.Lasvariablesqueson
tipos
de referencia pueden hacer referencia al mismo objeto y, por lo tanto, las
operaciones
en
unavariable
puedenafectaralmismoobjeto
alquehacereferenciaotravariable.

En el siguiente
ejemplo
semuestra la diferencia entre los tipos de referencia y lostipos de
valor.

[C#]
using
System;
classClass1
{
publicint Value = 0;
}
classTest
{
staticvoid Main() {

int val1 = 0;
int val2 = val1;
val2 = 123;
Class1 ref1 =
newClass1();
Class1 ref2 = ref1;
ref2.Value = 123;
Console.WriteLine(
"Values: {0}, {1}"
, val1, val2);
Console.WriteLine(
"Refs: {0}, {1}"
, ref1.Value, ref2.Value);
}
}

Elresultadodelcdigoanterioreselsiguiente:

Values: 0, 123
Refs: 123, 123

DiagramadeClasificacindeTipos
El diagrama siguiente ilustracmoserelacionanlasdiferentescategorasysubcategoriasde
los distintos tipos. Tengaen cuenta que las instancias de los tipos pueden ser simplemente
tiposdevalorotiposautodescriptivos,aunquehayasubcategorasdeestostipos.

Autor: Porta Ezequiel

Versin: Abril 2015

Pg.: 17 / 31

UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin

Asignatura: Tecnologas de desarrollo de software IDE


Contenidos Programa Analtico Plan 2008 (ver. 2010)

Unidad 1:
Plataforma y Entorno de
Desarrollo
Captulo 1:
Plataforma de Desarrollo

Grfico
:CategorasysubcategorasdelCTS

Para obtener ms informacin sobre cada tipo, vea


tipos de valor
,
enumeraciones
,
clases
,
delegados
,
matrices
,
interfaces
y
punteros
. Tambin puede consultar en MSDN el tema

Tipos(GuadeprogramacindeC#)

Si desea ampliar contenidos sobre este tema puede consultar el


Sistema de Tipos
Comunes
enelMSDN
,
http://msdn.microsoft.com/eses/library/zcx1eb1e(v=vs.80).aspx

EspecificacinComndeLenguajes(CLS)
Parapoderinteractuarcompletamenteconotrosobjetos, seacualfuereellenguajeen que se
hayan implementado, los objetos deben exponer slo aquellas caractersticas que sean
comunes para todos los lenguajes con los que deben interoperar. Por este motivo, se ha
definido el
Common Language Specification (
CLS
),quees un conjunto de caractersticas
bsicas del lenguaje, requeridas por la mayora de las aplicaciones que establece los
requisitosdecompatibilidad.

Las reglas de CLS definen un subconjunto del


Sistema deTipos Comunes
, es decir, todas
las reglas que se aplican al sistema de tipos comn se aplicantambin aCLS,salvoquese
definanreglasmsestrictasenCLS.

Nota
:puedeampliarsuconocimientosobreeltema
CLSenelsitioMSDN

Autor: Porta Ezequiel

Versin: Abril 2015

Pg.: 18 / 31

UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin

Asignatura: Tecnologas de desarrollo de software IDE


Contenidos Programa Analtico Plan 2008 (ver. 2010)

Unidad 1:
Plataforma y Entorno de
Desarrollo
Captulo 1:
Plataforma de Desarrollo

BaseClassLibrary(BCL)
Este componente esencial del .Net Framework provee un extenso conjunto de soluciones
predefinidas y unificadas para necesidades generales bsicas y avanzadas de la
programacin de aplicaciones, totalmente orientada a objetos,organizadas en una jerarqua
declasesllamada
BaseClassLibrary
(
BCL
)

Las clases unificadas de .NET proporcionan un mtodo coherente de acceso a la


funcionalidad de la plataforma. Si aprende a utilizar la biblioteca de clases, observar que
todas las tareas siguen la misma arquitectura uniforme. Ya no necesitar aprender ni
administrardistintasarquitecturasAPIparaescribirlasaplicaciones.

Provee una coleccin de tipos y cdigo orientado a objetos reusable para la mayora de las
tareas comunesquese encuentran involucradas eneldesarrollodeaplicaciones,incluyendo
entre otras el acceso y manejo de datos y el desarrollo de formularios Windows, Web y
ServiciosWebXML.

Como para dar una idea de algunas de las operaciones comunes que ofrece podemos
nombrarlassiguientes:

Interaccinconlosdispositivosperifricos.
Accesoaunavariadagamadefuentesdedatos.
TareasdeI/O
Manejodedatos(ADO.NET).
Transmisinyrecepcindedatospordistintosmedios(XML,TCP/IP)
Administracin de componentes Web que corren tanto en el servidor como en el
cliente(ASP.NET).
Cifradodedatos.
Manejoyadministracindeexcepciones.
Manejodelsistemadeventanas(WindowsForm).
Herramientasdedesplieguedegrficos(GDI+).
Manipulacindearchivosdeimgenes.
Herramientasdeseguridadeintegracinconlaseguridaddelsistemaoperativo.
Manejodetiposdedatosunificado.
Interaccinconotrasaplicaciones.
Manejodecadenasdecaracteresyexpresionesregulares.
Manejodearreglosdedatosycolecciones.
Operacionesaritmticas.
Aleatoriedad.
Manipulacindefechas,zonashorariasyperiodosdetiempo.

Autor: Porta Ezequiel

Versin: Abril 2015

Pg.: 19 / 31

UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin

Asignatura: Tecnologas de desarrollo de software IDE


Contenidos Programa Analtico Plan 2008 (ver. 2010)

Unidad 1:
Plataforma y Entorno de
Desarrollo
Captulo 1:
Plataforma de Desarrollo

ManejodeidiomasyLocalizacin.
InteraccinconelAPIWin32oWindowsAPI.
Administracindememoria.
Generacindecdigo.
Autodescripcindecdigo.
Compilacindecdigo

Provee un conjunto amplio de interfaces, adems de clases abstractas y concretas. Las


clases concretas estn disponibles para ser utilizadas, pero tambin extenderlas, a partir de
herencia. Para utilizar la funcionalidad de una interfase, se puede crear una clase que la
implementeoderivarunaclasedelasclasesdelFrameworkqueyalaimplementan.

Estas libreras que son parte fundamental del .Net Framework13 , se encuentran,al igualque
este,enconstanteevolucinyactualizacinconcadanuevaversinliberada.

OrganizacindelaBCL
LaBibliotecadeClasesBaseademsdeseguirunsistemajerrquicodeclasesseencuentra
organizada por medio de
espacios de nombres (namespaces) que concentra clases de
funcionalidadafin.

Existen grupos de tecnologas claves incluidas en la BCL, tales como ASP.NET, Servicios
WebXML,WindowsForms,ADO.NETyotrasquesemuestranenelsiguientegrfico.

13

Veaelconjuntodeespaciosdenombresabarcadosporla
Libreradel.NetFrameworkenelsitio
MSDN

Autor: Porta Ezequiel

Versin: Abril 2015

Pg.: 20 / 31

UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin

Asignatura: Tecnologas de desarrollo de software IDE


Contenidos Programa Analtico Plan 2008 (ver. 2010)

Unidad 1:
Plataforma y Entorno de
Desarrollo
Captulo 1:
Plataforma de Desarrollo

Figura:Arquitecturadel.NETFramework.

ASP.NET
:permiteeldesarrollodepginasWebbajoelmodeloWebForms.

ASP.NET MVC
: permite el desarrollo web, basado en el patrn ModelViewController (esto
fueincorporadoapartirdelSP1de.NETFramework3.5).

AJAX
: permite una interaccin asncrona desde el Browser del cliente, con elservidor Web
denuestraaplicacin.

ADO.NET
: conjunto de clases que exponen servicios de acceso a datos que permiten
conectarse a diferentes orgenes tales como base de basesrelacionales(motores MS SQL
Server, Oracle entre otros o expuestos mediante OLE DByODBC),XMLydeaplicacionesy
recuperar,manipularyactualizarlosdatoscontenidos.

LINQ
(Language Integrated Query): permite emplear sintaxis de consulta para diferentes
tiposdeorgenesdedatos,ejemplo:colecciones,DataSets,XML.

Entity Framework
:permitemanejarunmodelodeobjetosparadiferentesorgenesdedatos,
manejandolapersistenciadedatos(operacionescontraunorigen),basadoencdigo.NET.

WinForm
(Windows Forms): modelo de desarrollo de aplicaciones cliente de escritorio
usandoFormulariosWindowsquecuentaconunavariedaddecontroles.

WPF
(Windows Presentation Foundation): permite la mejora visual de las aplicaciones a

Autor: Porta Ezequiel

Versin: Abril 2015

Pg.: 21 / 31

UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin

Asignatura: Tecnologas de desarrollo de software IDE


Contenidos Programa Analtico Plan 2008 (ver. 2010)

Unidad 1:
Plataforma y Entorno de
Desarrollo
Captulo 1:
Plataforma de Desarrollo

travs del uso de XAML(eXtensible Application Markup Language), elWPF incorpora como
mejoraprincipalelusodelosaceleradoresdegrfico(Codecs)

WCS
(Windows CardSpace) permite elusodetokensdeidentificacinparaaplicacionesque
ejecutenbajoWindowsXPSP2superior.

WWF
(WindowsWorkflowFoundation)permiteimplementarprocesosdenegociobasadosen
Workflows, y podemos integrarlo con otras plataformas como Microsoft Office SharePoint
Server2007(MOSS).

WCF
(Windows CommunicationFoundation)permiteimplementarserviciosparaaplicaciones
distribuidas, y es la plataforma base actual de Microsoft para la construccin desoluciones
basadasenSOA(ServicesOrientedArchitecture).

XML
: permite manipularyaprovecharfuncionesdelestndarXMLorientadoprincipalmentea
lainteroperabilidadentrelossistemas.

EvaluacindetecnologasincluidasenlaBCLsegnlaevolucindel.NetFramework

Fuente:
Wikipedia

EspaciodeNombres(Namespaces)
Un namespace se utiliza para declarar un mbito que permite organizar el cdigo y
proporcionaunaformadecreartiposglobalmentenicos.

Autor: Porta Ezequiel

Versin: Abril 2015

Pg.: 22 / 31

UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin

Asignatura: Tecnologas de desarrollo de software IDE


Contenidos Programa Analtico Plan 2008 (ver. 2010)

Unidad 1:
Plataforma y Entorno de
Desarrollo
Captulo 1:
Plataforma de Desarrollo

Dentrodeunespaciodenombres,sepuedendeclararunoovariosdelossiguientestipos:
otroespaciodenombres
clase(class)
interfaz
struct
enum
delegado(delegate)

Aunque declare explcitamente un espacio de nombres en un archivo de cdigo fuente (de


C# por ejemplo), el compiladoragregaunespaciodenombrespredeterminado.Esteespacio
de nombres sin denominacin, a veces denominado espacio de nombres global, est
presente en todos los archivos. Cualquier identificador del espacio denombresglobalpuede
utilizarsetambinenunespaciodenombresdeclarado.

De todosmodosserecomiendaincluirsucdigosiempredentrodeun
namespace
utilizando
como
convencin
algenerarloslasiguiente:
CompanyName
.
TechnologyName
.

Los espacios de nombres disponen implcitamente de un acceso pblico que no puede


modificarse. Para obtener una descripcin de los modificadores de acceso que se pueden
asignar a los elementos deun espacio denombres,consulte
ModificadoresdeAcceso
.Un
espaciodenombressepuededefinirendosomsdeclaraciones.

El espacio de nombres principal y ms bsico es el


System donde se encuentran la
definicin de los tipos de datos nativos del .NET Framework, tales como: Int32, Int64,
Boolean,String,etc.

SoporteamltiplesLenguajesdeProgramacin
La plataforma .Net soporta14 una gran variedad de lenguajes, dentro de los que se
encuentran los desarrollados por el propio Microsoft, tales como C#15 , Visual Basic .NET,
C++, J# y recientemente F#16 (lenguaje funcional) o los desarrollados por otros fabricantes

14

Puedeverundetalledelos
LenguajesdeProgramacin
.NetenelsitioMSDN

15

Lenguaje totalmentenuevocon laaparicinde.Netcuyasintaxis tienemuchassimilitudesaC con una


plenaimplementacindelParadigmaOrientadoaObjetos(POO).
16

Lenguajemultiparadigmaqueconjugala
programacinfuncional
conlaimperativaydeobjetos,
creadoporDonSymedelequipodeinvestigacindeMicrosoftsoportadoapartirdeVisualStudio2010.

Autor: Porta Ezequiel

Versin: Abril 2015

Pg.: 23 / 31

UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin

Asignatura: Tecnologas de desarrollo de software IDE


Contenidos Programa Analtico Plan 2008 (ver. 2010)

Unidad 1:
Plataforma y Entorno de
Desarrollo
Captulo 1:
Plataforma de Desarrollo

tales como, Cobol, Python17 , Delphi (Object Pascal), Perl, Python, Fortran, Prolog y
PowerBuilderentreotros.

Los lenguajes de programacin de la plataforma .NET, utilizan los serviciosycaractersticas


de.NETFrameworkatravsdeunconjuntocomndeclasesunificadas,laBCL.

En la mayora de las situaciones, puede utilizar de manera eficiente todos loslenguajes de


programacin. Sin embargo, cada lenguaje tiene sus puntos fuertes, y es recomendable
comprenderlascaractersticasnicasparacadaunodeellos.

La eleccin de un lenguaje de programacin depende de sus conocimientos del lenguaje y


del mbito de la aplicacin que est generando. Las aplicaciones de pequeo tamao se
suelen crear utilizando un nico lenguaje, y en otros casos pueden utilizarse ms deunode
acuerdoalosrequerimientosparticularesdelasolucin.

17

Unaimplementacindecdigoabierto(opensource)dePythonesIronPythonhttp://ironpython.net.

Autor: Porta Ezequiel

Versin: Abril 2015

Pg.: 24 / 31

UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin

Asignatura: Tecnologas de desarrollo de software IDE


Contenidos Programa Analtico Plan 2008 (ver. 2010)

Unidad 1:
Plataforma y Entorno de
Desarrollo
Captulo 1:
Plataforma de Desarrollo

ResumendelaUnidad/Captulo
IMPORTANTE:
los
contenidos
desarrollados en esta seccin
noson completos
, sino que
son un mini resumen de conceptos generales de los temas de mayor importancia de la
unidad/captulo a modode repaso general de los mismos una vez completada la lectura del
mismo.

Microsoft .Net es una plataforma formada por un conjunto de tecnologas que permiten el
desarrolloyejecucindesoftwarebajoel.NetFramework.

El
.Net Framework es el entorno de trabajo de la plataforma .Net,completamenteorientado
aobjetos,cuyoscomponentesprincipalesson:
ElmotordeejecucinCommonLanguageRuntime(CLR)
LalibreradeclasesBaseClassLibrary(BCL)

El
Common Runtime Language (
CLR
) es el motor de ejecucin comn a todos los
lenguajes soportadosporlaplataforma.Netentrelos quesedestacanC#,VisualBasic.NET,
C++, J# y recientemente F#18 (lenguaje funcional) desarrollados por Microsoft y otrostantos
desarrollados por terceros tales, como Cobol, Python, Delphi (Object Pascal), Perl,Python,
Fortran,PrologyPowerBuilderentreotros.

Cada lenguajede programacin tiene supropiocompiladoreintrpretedesusintaxispropia,


que debe cumplir las normas del CLS, CLI y CTS, aunque todos,luegoalcompilar,generan
cdigoMSIL.

El Lenguaje Intermedio de la plataforma conocido como


Microsoft Intermediatelanguage
(
MSIL
), es el lenguaje intermedio al que compilan las aplicaciones (Assemblies) .NET. Este
lenguajeintermedioesinterpretadoporelCRLentiempodeejecucin.

CommonLanguageSpecification
(
CLS
)
Define el conjunto de caractersticas que todo lenguaje compatible con .NET debera
soportar.

El
Common Language Specification (
CLS
), es la Especificacin Comn a todos los
Lenguajes .Net, que englobanlaspautasquedebencumplirestosparapodersersoportados
porlaplataformayquepermitiraotrascompaasproducirlenguajescompatiblescon.NET.
Lenguaje multiparadigma que implementa el
l
enguaje funcional
, creadoporDon Symedel equipo de
investigacindeMicrosoft.
18

Autor: Porta Ezequiel

Versin: Abril 2015

Pg.: 25 / 31

UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin

Asignatura: Tecnologas de desarrollo de software IDE


Contenidos Programa Analtico Plan 2008 (ver. 2010)

Unidad 1:
Plataforma y Entorno de
Desarrollo
Captulo 1:
Plataforma de Desarrollo

Debido a lapublicacinde la norma para la infraestructura comn delenguajes(CLIporsus


siglas en ingls), el desarrollo de lenguajes se facilita, por lo que el marco de trabajo .NET
soporta ya ms de 20lenguajes de programacin y es posible desarrollar cualquiera de los
tipos de aplicaciones soportados en la plataforma con cualquiera de ellos, lo queeliminalas
diferenciasqueexistanentreloqueeraposiblehacerconunouotrolenguaje.

La
Librera (o biblioteca)
de Clases Base (
BCL
)de.NET,esel conjuntodeclasesunificada
para toda la plataforma que componen el .NET framework y que permiten realizar casi
cualquiertareadeunamanerafcilyrpida.

EntrelasconjuntosdeclasesquecontienelaBCLseencuentran:

ADO.NET
, que es la nueva interfaz de bases de datos. No se trata de una evolucin de
ADO, sino que se trata de una interfaz completamente nueva para el manejo de datos enla
aplicacin.

Windows Form cuenta con un conjunto de clases y mtodos que permite el desarrollo de
aplicacionesclientedeescritorio.

ASP.NET
, es la tecnologa para el desarrollo de pginas web dinmicas que reemplaz al
clsicoASP,completamenteintegradadentrodelentorno.NET.

Lenguajes.Netsoportados
Cualquier lenguaje que sea acorde a la Common Language Specification (CLS) puede
ejecutarse sobre la CLR.En .NETFramework,MicrosoftproveeVisualC#,VisualBasic.Net,
Visual C++, VisualJ#oF#.Tercerosproveernuevoslenguajestalescomoimplementaciones
dePython,Pascal,Eiffel,Cobol,SmalltalkyADAentreotros.

Autor: Porta Ezequiel

Versin: Abril 2015

Pg.: 26 / 31

UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin

Asignatura: Tecnologas de desarrollo de software IDE


Contenidos Programa Analtico Plan 2008 (ver. 2010)

Unidad 1:
Plataforma y Entorno de
Desarrollo
Captulo 1:
Plataforma de Desarrollo

Autoevaluacin
1. Queslaplataforma.Netycmofunciona?
2. QueselFramework.Net?Cualessonsuscomponentesprincipalesyquefuncin
yutilidadtienecadauno?
3. QueeselmotordeejecucinCLRde.Net,quefuncindesempeaydequ
manera?
4. DequesetratalaLibreradeClasesBase(BCL)?Nombrealgunascaractersticasy
componentesdelamisma.
5. Expliciteyexpliquelasreastecnologasdefuncionescomunesagrupadasenla
BCL.
6. DequesetrataelRecolectordeBasura(GarbageCollector),dequeformaparte,
cualessurol(ofuncin)ycmofunciona?
7. DequesetrataelCTS?Dequformaestorganizado?
8. CualesladiferenciaentrelosTiposporReferenciayporValor?Citarejemplosde
cadauno.
9. DequesetratalaSeguridaddeTipos?
10. DequesetrataelMSIL?
11. Enquconsisteelprocesodecompilacinyejecucindelcdigodesarrolladoen
.Net?
12. Aqueserefiereelconceptodecdigomanejadoointerpretado?Cualesla
diferenciaentrecdigomanejadoynomanejado?
13. Dequesetrataunensamblado(assembly)?QuerelacintieneconMSIL(oCIL)?
14. AqunosreferimosconMetadata?Nombrealgunascaractersticasdesu
contenido.
15. DequesetratalacompilacinJIT(JustInTime)?Dondesellevaacaboycuando?
16. ExpliquedequsetrataelCLSyrelacineloconelCTS?
17. DequesetrataelCLI:CommonLanguageInfrastructure?Cualessonlaspartes
principalesdelaarquitecturaCLI?Queyquienlodefine?Nombreunejemplo
equivalentedesuimplementacin?
18. QueeslaECMA335,ISO/IEC23271?Qucaractersticastieneycualessu
objetivo?Deejemplosdesuimplementacin?
19. Qucaractersticasdebentenerloslenguajessoportadosporlaplataforma.Net?
Nombrealgunosejemplosdelenguajessoportados.
20. Loslenguajes.Netsondesarrolladosporunnicofabricante?Cadalenguajetiene
supropiocompilador?Elcdigogeneradoporelcompiladoraquelenguajelo
traduce?

Autor: Porta Ezequiel

Versin: Abril 2015

Pg.: 27 / 31

UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin

Asignatura: Tecnologas de desarrollo de software IDE


Contenidos Programa Analtico Plan 2008 (ver. 2010)

Unidad 1:
Plataforma y Entorno de
Desarrollo
Captulo 1:
Plataforma de Desarrollo

Autor: Porta Ezequiel

Versin: Abril 2015

Pg.: 28 / 31

UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin

Asignatura: Tecnologas de desarrollo de software IDE


Contenidos Programa Analtico Plan 2008 (ver. 2010)

Unidad 1:
Plataforma y Entorno de
Desarrollo
Captulo 1:
Plataforma de Desarrollo

Bibliografa19

IMPORTANTE
: Se sugiere buscar bibliografa adicional a la citada aqu, en el buscador
disponibleen
BibliotecaUTNRosario
.

BALENA,Francesco
ProgramacinavanzadaconMicrosoftVisualBasic.Net.
,Madrid,
McGrawHill,2003.
ISBN:8448137159
Cap

tulo8Tiposbsicosde.Netframeworky14EnsambladosyappDomains
EjemplaresDisponibles:
enbiblioteca

FOXALL,James
VisualC#2005.
,Madrid,Anaya,2006.
ISBN:9788441521216
Cap

tulo24Visingeneralde.NETframework
Disponibilidad:

enbiblioteca

HILLAR,Gastn,
VisualBasic2005y.Net2.0.
BuenosAires,Hasa,2007.
ISBN:9789505282760
Cap

tulo1IntroduccinalEntornodeDesarrollo.Net
Disponibilidad:
enbiblioteca

MACKENZIE,DuncanySHARKEY,Kent.
AprendiendovisualBasic.Neten21lecciones
avanzadas.
Mxico,Pearson,2003.
ISBN:970260379x
Cap

tulo8Presentacindel.NETFrameworky17Usodel.NETFramework
Disponibilidad:
enbiblioteca

SHARP,John.
VisualC#2008:pasoapaso.
Madrid,Anaya,2008.
ISBN:9788441524491
Cap

tulo1BienvenidoaC#
Disponibilidad:
enbiblioteca

19

La Bibliografa est organizada enuna primer seccin delibrosimpresos, ordenadosalfabticamente


por apellido del autor, muchos de ellos disponibles en Biblioteca de UTN Rosario en cuyo caso
aparecer unenlace a los datosde la publicacin quefiguranenlneaenelbuscadordelsitiowebdela
biblioteca. Seguido se detallan aquellos recursos digitales ya sean otros libros disponibles en dicho
formato quepodr encontraren el aula virtualode alguna otrafuente de informacincomopuedenser
los libros en lnea del MSDN del sitio oficial de Microsoft o sitios de empresas o profesionales que
poseencontenidosdevalor.

Autor: Porta Ezequiel

Versin: Abril 2015

Pg.: 29 / 31

UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin

Asignatura: Tecnologas de desarrollo de software IDE


Contenidos Programa Analtico Plan 2008 (ver. 2010)

Unidad 1:
Plataforma y Entorno de
Desarrollo
Captulo 1:
Plataforma de Desarrollo

FuentesDigitales

+MicrosoftDeveloperNetwork(MSDN)OnLine:
http://msdn.microsoft.com
Framework.Net:
http://msdn.microsoft.com/enus/library/a4t23ktk.aspx
Versionesdel.NetFramework:
http://msdn.microsoft.com/eses/library/bb822049.aspx
CommonLanguageRuntime:
http://msdn.microsoft.com/esar/library/8bs2ecf4(v=vs.80).aspx
Metadatos:
http://msdn.microsoft.com/eses/library/4y7k7c6k(v=vs.80).aspx
EnsambladosyEspaciosdenombres:
http://msdn.microsoft.com/enus/library/ms973231.aspx
Lenguajesdeprogramacion.Net:
http://msdn.microsoft.com/eses/library/aa292164(v=vs.71).aspx
F#:
http://msdn.microsoft.com/eses/magazine/cc164244.aspx

+ArtculoIntroduccina.NETensitiowebDVJoker
http://www.devjoker.com/contenidos/Articulos/25/Introducci%C3%B3naNET.aspx

+Wikipedia,conceptosgenricosyespecficos:
Microsoft.Net:
http://es.wikipedia.org/wiki/Microsoft_.NET
Framework.Net:
http://en.wikipedia.org/wiki/.NET_Framework
CommonLanguageRuntime:
http://es.wikipedia.org/wiki/Common_Language_Runtime
Compilacinentiempodeejecucin:
http://es.wikipedia.org/wiki/Compilaci%C3%B3n_en_tiempo_de_ejecuci%C3%B3n

Autor: Porta Ezequiel

Versin: Abril 2015

Pg.: 30 / 31

UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin

Asignatura: Tecnologas de desarrollo de software IDE


Contenidos Programa Analtico Plan 2008 (ver. 2010)

Unidad 1:
Plataforma y Entorno de
Desarrollo
Captulo 1:
Plataforma de Desarrollo

HistorialdeVersiones

Versin Fecha

Autor

Detalle

1.0

12/03/201
2

EzequielPorta

Versin inicial de la Unidad 1 Plataforma y Entorno de


Desarrollo

1.1

21/03/201
2

EzequielPorta

Ultimos agregados y modificaciones y generacin de una


primer versin publicable, previa consulta y revisin de
docentesdelactedra.

1.2

23/07/201
3

EzequielPorta

Correccionesmenoresyagregadodegrficosobre
tecnologasincluidascomoevolucindel.NetFramework

1.3

01/04/201
5

EzequielPorta

AdaptacinaorganizacinProgramaAnalitico2014donde
Unidad1y2seunificanconvirtindosecadaencaptulosde
lamismaUnidad1.
Correccionesyagregadosmenoresenparticularlorelativoa
laevolucindel.NetFramework

Autor: Porta Ezequiel

Versin: Abril 2015

Pg.: 31 / 31

Вам также может понравиться