SlideShare une entreprise Scribd logo
1  sur  80
TALLERDesarrollo de Aplicaciones Profesionales con Tecnologías .NET
Sorey García(@soreygarcia)
AGENDA Sesión 1 (Junio 28  4:30 P.M. a 6:30 P.M.) Introducción a los conceptos básicos  Orientación a Objetos .NET Framework TALLER: Aprendiendo a C#.NET y LINQ con Winforms
¡ADVERTENCIA! Este taller es para personas con conocimientos básicos, y también para aquellos que necesitan refrescarse o renovarse un poco. Los temas serán abordados en sus formas más simples con el ánimo de dar las herramientas necesarias para abordar las dos sesiones del taller.
¡ADVERTENCIA! Hacer una aplicación profesional no necesariamente significa hacer algo elaborado o técnicamente complejo, significa construir software pensando en su crecimiento, evolución y mantenimiento futuro.
Un par de consejos antes de empezar…
Antes de intentar aprender algo ten presente… lo complejo, alguna vez… fue simple, entiende lo primero lo simple.
El problema está en la técnica,  no en la herramienta
Manejar correctamente los conceptos te ayudará a defenderte en cualquier herramientaTu preocúpate por aprender a razonar y pensar, para aprender a usar las herramientas, están los tutoriales
¿Listos?
¿Qué es la  orientación a objetos?
La orientación a objetos es un  paradigma de programación
Si bien esta definición es correcta, el problema está, en que tanto lo comprendemos…
Intentemos algo simple… La orientación a objetos es  una forma de ver las situaciones y de analizar el entorno…
…es una forma de entender un problema identificando las entidades  principales que se encuentran en el
Identificar los conceptos relevantes  o las entidades involucradas  en un problema significa… El propósito de la programación orientada a objetosconsiste en proporcionar una solución informática identificando los conceptos relevantespresentes en el problema conceptos relevantes  = entidades abstraer los detalles y particularidades y emitir un concepto genérico
Esto se logra identificando las características comunesde un grupo de objetos y las accionesque realizan  o bien que producen  algún efecto sobre ellos
La programación orientada a objetos (POO) es por tanto  una forma de desarrollar software, pensando en las entidades principales del problema que dicho sistema pretende resolver y por tanto los datos que se manipularán de esas entidades y las acciones de las que estas son responsables dentro del sistema.
El lenguaje de programación es  la herramienta  para resolver elproblema
El propósitode la POO no tiene que ver con  el lenguaje de programación Sobre el lenguaje de programación lo que podemos decir es que este soporta unas y otras características de la Orientación a Objetos También podemos decir que cada quien elige la herramienta que satisface las necesidades de su proyecto, tanto a nivel de implementación como de conocimiento disponible en su recurso humano
Y aunque es claro que existe más  de una herramienta para resolver unproblema
Es seguro que también hay  formas más fáciles  de hacerlo…
Veamos algunos conceptos clave…
¿Qué es un Objeto?
Un Objeto es…  Cualquier Cosa
!En serio! Cualquier Cosa
Cualquier Cosa …de la que puedas emitir un concepto. Es decir… Cualquier Cosa, todo es un objeto.
Veamos,  Este es un objeto Es un automóvil  de plástico, rojo con 4 llantas y 2 puertas
Si realizáramos el proceso mental lentamente,  nos daríamos cuenta de que al ver el objeto emitimos un concepto preconcebido es decirautomóvil
En la imagen cada uno de los elementos  que vemos es considerado  un objeto Sin embargo de todos ellos  podemos emitir un concepto conocido  y para ello usamos la palabra globo
A ese concepto conocidoque representa una  agrupación de objetos …lo llamamosClase
Unaclase es como un molde de galletas… … este determina la forma y característicasque  la galleta (el objeto) va a tener, sin ser el objeto real
La clasees una…  …los objetosson todos los que podamos crear mentalmente a partir de dicha claseo concepto
¿Recuerdan eso de la abstracción? Pues bien… Una claseesta compuesta por  características(atributos o propiedades)  y por comportamientos(acciones o métodos) …esos que elegimos como generalidades del conjunto de objetos comunes de nuestro problema a resolver
Así entonces… entidad =  concepto relevante  =  clase
Las característicasy comportamientosde una clase son determinadas por el contexto del problema o escenario Esto en programación quiere decir, que dentro de un sistema, solo implementamos los atributosy métodosrelacionados con el ámbito del problema que estamos solucionando.
Veamos algunos conceptos adicionales… A los valores que tienen los atributos de un objetose les conoce como el estado del objeto, y a los atributos y métodos que ofrece se les conoce como la interfazal código usado para construir las clases se le conoce como la implementaciónde la clase.
Los objetosse comunican se comunican con otros a través de mensajes Un mensaje es una comunicación dirigida a un objeto, que le ordena que ejecute uno de sus métodos con ciertos parámetros asociados al evento que lo generó. Wikipedia
Con respecto a la comunicación entre objetos tenemos más principiosalta cohesión y el bajo acoplamiento
Cuando decimos que un objeto tiene una alta cohesiónhablamos de que sus características y comportamientos están estrechamente relacionados La relación que tienen esta determinada por el contexto del problema a resolver
Cuando decimos que un objeto tiene una bajo acoplamiento hablamos del nivel de independencia que tiene un objeto con respecto a otros El hacer un objeto independiente de los demás ayudará a que ese objeto pueda ser usado en otros contexto
Los principios que dirigen la orientación a objetos son… … la modularidad y la reusabilidad Qué son?
En términos simples la modularidadsignifica trabajar por partes…Esas partes deberían ser lo más independientes posibles, como piezas de Lego, de esa forma podrías usar diferentes piezas en la construcción de otro sistema
y la reusabilidadsignifica¡No se invente la rueda! Lo que ya esta hecho es para usarse y algunas de las cosas que no están hechas, deben construirse pensando en que alguien necesitará usarlo alguna vez. Por otro lado recuerde, reusar no es simplemente  copiar y pegar  código.
¡UN CONSEJO! No inventarse la rueda no significa, que no mejores la rueda.
Por último, veamos algunas características de la  Programación Orientada a Objetos
Encapsulamiento
Herencia
Polimorfismo
Empecemos a conocer nuestro problema¿Qué tal algo que todos conocemos? Aplicación de Aforo a Campus Party
¿Qué es un  Framework? ¿Recuerdan esto? “No se invente la rueda....”
Veámoslo así… Los edificios de una ciudad son todos los tipos de software que podemos construir
Suponga que usted necesita construir un edificio…
Ahora imagine que a usted le tocara construircada una de las partes…
¿Cuánto tiempo cree que tardaría  en terminar? Lo mismo sucede con el software, si cada vez tuviéramos que construir todos los componentes que lo conforman, tardaríamos mucho más tiempo…
¿Qué es un framework? Un frameworkes, básicamente, un conjunto de clases que interactúan en forma cooperativapara dar solución a una determinada necesidad.
Ahora un poco menos conceptual... En términos simples un frameworkes un conjunto de clases base agrupadas en componentes, que pueden ser reutilizadas para la construcción de nuevo software
Las características principales  de un frameworkson:  Estar enfocado en un tema específico  y el ser altamente reutilizable.
Microsoft .NET .NET es el conjunto de tecnologías en las que Microsoft  ha trabajado con el objetivo de obtener una plataforma sencilla y potente para distribuir el software en forma de servicios que puedan ser suministrados remotamente y que puedan comunicarse y combinarse unos con otros de manera totalmente independiente de la plataforma, lenguaje de programación y modelo de componentes con los que hayan sido desarrollados.
¿Qué es Visual Studio .NET? Es entorno de desarrollo (IDE), la herramienta sobre la cual los programadores desarrollan el software
Beta Línea de Tiempo .NET Framework 4 2010 2008 2010 2008 .NET Framework 3.5 .NET Framework 3.0 2007 2005 .NET Framework 2.0
¿Qué es .NET Framework?
Es una Plataforma de Desarrollo, la cual esta compuesta por: ,[object Object]
Bibliotecas de funcionalidad (Class Library)
Lenguajes de programación
Compiladores.NET Framework
¿Qué NO es? NO es un sistema operativo NO es un lenguaje de programación NO es un entorno de desarrollo NO es un servidor de aplicaciones
¿Qué es el .NET Framework? Un conjunto de tecnologías que me permiten: Unir las aplicaciones Web actuales que están aisladas, de manera muy fácil Acceder a información en cualquier momento, en cualquier lugar Simplificar el desarrollo y la implementación Desarrollar aplicaciones para cualquier dispositivo, sin necesidad de mucho esfuerzo. Reutilizar mucho código Hacer más, con menos
Algunas Características Completamente Orientado a Objetos Multilenguaje Modelo de programación único para todo tipo de aplicaciones y dispositivos de hardware Se integra fácilmente con aplicaciones existentes desarrolladas en plataformas Microsoft o en otras plataformas.
Línea de Tiempo .NET Framework Visual Studio 6.0 Visual Basic VBA Visual FoxPro VBScript C++ J++ JScript ASP Visual Studio .NET 2003 .NET Framework 1.1 .NET Compact Framework J# Visual Studio 2008 .NET Framework 3.0 – 3.5 .NET Compact Framework 2000              2001         2002         2003         2004    2005    2006    2008      2010 Visual Studio 2005 .NET Framework 2.0 .NET Compact Framework 2.0 Visual Studio .NET 2002 .NET Framework 1.0 Visual Basic .NET C# Visual Studio 2010 .NET Framework 4.0 F#
VB C++ C# Visual Studio .NET J# … Common Language Specification ASP.NET: Servicios Web y Web Forms WindowsForms ADO.NET: Datos y XML Biblioteca de Clases Base Common Language Runtime Microsoft .NET Framework 2.0
¿Qué son los demás? 2.0 .NET Framework 2.0 VB C# J# IronPhyton Ruby … 3.0 .NET Framework 3.0 CLS y CTS ASP.NET WPF WCS WF & WCF  Enhancements Dynamic Data ADO.NET LINQ Additional  Enhancements Entity  Framework WCF WF Add-in  Framework WindowsForms MVC Data Services Biblioteca de Clases CommonLanguage Runtime (CLR) Windows 7, Windows Vista,Windows XP,Windows Server 2008
Microsoft .NET Framework Presentación Acceso a Datos Servicios Windows Presentation Foundation ASP.NET (WebForms, MVC, Dynamic Data) Entity Framework ADO.NET Data Services Windows Communication Foundation WinForms LINQ to SQL Windows Workflow Foundation “Velocity” Core Base Class Library Dynamic Language Runtime Languages Managed Extensibility Framework LINQ Parallel Extensions Common Language Runtime
Common Language Runtime (CLR) Es el motor de ejecución de .NET Caracteristicas: Compilacion Just In Time (JIT) Gestion de Memoria (Garbage Collector) Gestion de Errores (excepciones) Ejecucion basada en componentes (assemblies) Gestion de seguridad Multithreading
¿Como trabaja el CLR? Assembly  (MSIL) Compilador Bibliotecao Ejecutable Código Fuente Cualquierlenguaje .NET
Código MSIL Código Fuente Compilador Lenguaje Metadata Ejecución JIT Compiler CódigoNativo Tiempos: Compilación y Ejecución Compilación Antes de la instalación o cuando se ejecutaporprimeravez
Modelo de Ejecución del CLR Código Fuente VB.NET C++.NET C# Componente No Manejado Compilador  VB.NET Compilador C# Compilador C++ .NET Código  Manejado Assembly Código MSIL Assembly Código MSIL Assembly Código MSIL Common Language Runtime Compilador JIT Código Nativo Sistema Operativo (Windows)
Estructura de un proyecto .NET Solución Proyectos (Assemblies) Namespaces Clases Archivos de configuración Recursos adicionales
Descripción de Tipos Clases Clases Base Interfaces Implementadas Atributos de las Clases Métodos de las Clases MiBiblioteca.DLL Metadata Manifiesto del Assembly Código CompiladoMSIL Nombre Versión Cultura Recursos Otros Assemblies Permisos de Seguridad Tipos Externos Estructura de un Assembly

Contenu connexe

Tendances

Orientacion a objetos cristina cachero
Orientacion a objetos   cristina cacheroOrientacion a objetos   cristina cachero
Orientacion a objetos cristina cacheroLuis R Castellanos
 
Programacion orientada objetos-1
Programacion orientada objetos-1Programacion orientada objetos-1
Programacion orientada objetos-1Scott Chavez
 
Desarrollo basado en patrones
Desarrollo basado en patronesDesarrollo basado en patrones
Desarrollo basado en patronesMarvin Zumbado
 
Programación orientada a objetos presentacion
Programación    orientada    a objetos presentacionProgramación    orientada    a objetos presentacion
Programación orientada a objetos presentacionfranciscocain
 
Aplicaciones distribuidas
Aplicaciones distribuidasAplicaciones distribuidas
Aplicaciones distribuidasTensor
 
Diseña y construye programas orientados a objetos
Diseña y construye programas orientados a objetosDiseña y construye programas orientados a objetos
Diseña y construye programas orientados a objetosJosue Sarabia
 
Introduccion a la POO
Introduccion a la POOIntroduccion a la POO
Introduccion a la POOLibertad25
 
Paradigma de Programación Orientada a Objetos
Paradigma de Programación Orientada a ObjetosParadigma de Programación Orientada a Objetos
Paradigma de Programación Orientada a ObjetosJose Sanchez
 
Introducción a la P.O.O en Introducción a la Programación
Introducción a la P.O.O en Introducción a la ProgramaciónIntroducción a la P.O.O en Introducción a la Programación
Introducción a la P.O.O en Introducción a la ProgramaciónFacultad de Ciencias y Sistemas
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a ObjetosJuan Carlos Riva
 
Aprende a Programar: Introducción
Aprende a Programar: IntroducciónAprende a Programar: Introducción
Aprende a Programar: IntroducciónDigital Learning SL
 

Tendances (19)

Orientacion a objetos cristina cachero
Orientacion a objetos   cristina cacheroOrientacion a objetos   cristina cachero
Orientacion a objetos cristina cachero
 
Programacion orientada objetos-1
Programacion orientada objetos-1Programacion orientada objetos-1
Programacion orientada objetos-1
 
Programacion orientado a objetos
Programacion orientado a objetosProgramacion orientado a objetos
Programacion orientado a objetos
 
Diseño de patrones
Diseño de patronesDiseño de patrones
Diseño de patrones
 
Patrones Grasp
Patrones GraspPatrones Grasp
Patrones Grasp
 
Desarrollo basado en patrones
Desarrollo basado en patronesDesarrollo basado en patrones
Desarrollo basado en patrones
 
S2-Representación Gráfica
S2-Representación GráficaS2-Representación Gráfica
S2-Representación Gráfica
 
Trabajo poo
Trabajo poo Trabajo poo
Trabajo poo
 
Programación orientada a objetos presentacion
Programación    orientada    a objetos presentacionProgramación    orientada    a objetos presentacion
Programación orientada a objetos presentacion
 
Patrones GRASP
Patrones GRASPPatrones GRASP
Patrones GRASP
 
Aplicaciones distribuidas
Aplicaciones distribuidasAplicaciones distribuidas
Aplicaciones distribuidas
 
Desarrollo de software
Desarrollo de softwareDesarrollo de software
Desarrollo de software
 
PRESENTACION
PRESENTACIONPRESENTACION
PRESENTACION
 
Diseña y construye programas orientados a objetos
Diseña y construye programas orientados a objetosDiseña y construye programas orientados a objetos
Diseña y construye programas orientados a objetos
 
Introduccion a la POO
Introduccion a la POOIntroduccion a la POO
Introduccion a la POO
 
Paradigma de Programación Orientada a Objetos
Paradigma de Programación Orientada a ObjetosParadigma de Programación Orientada a Objetos
Paradigma de Programación Orientada a Objetos
 
Introducción a la P.O.O en Introducción a la Programación
Introducción a la P.O.O en Introducción a la ProgramaciónIntroducción a la P.O.O en Introducción a la Programación
Introducción a la P.O.O en Introducción a la Programación
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Aprende a Programar: Introducción
Aprende a Programar: IntroducciónAprende a Programar: Introducción
Aprende a Programar: Introducción
 

En vedette

C# para desarrolladores VB6
C# para desarrolladores VB6C# para desarrolladores VB6
C# para desarrolladores VB6Tonymx
 
C# aprenda a programar
C# aprenda a programar C# aprenda a programar
C# aprenda a programar Yuri Barzola
 
GUIA PARA LA ELABORACION DE PLAN DE MEJORA PARA INSTITUCIONES EDUCATIVAS
GUIA PARA LA ELABORACION DE PLAN DE MEJORA PARA INSTITUCIONES EDUCATIVAS GUIA PARA LA ELABORACION DE PLAN DE MEJORA PARA INSTITUCIONES EDUCATIVAS
GUIA PARA LA ELABORACION DE PLAN DE MEJORA PARA INSTITUCIONES EDUCATIVAS MARGA YSABEL LÓPEZ RUIZ
 
metodo-boo-en-un-solo-pdf
metodo-boo-en-un-solo-pdfmetodo-boo-en-un-solo-pdf
metodo-boo-en-un-solo-pdfAle Tapia
 

En vedette (6)

C# para desarrolladores VB6
C# para desarrolladores VB6C# para desarrolladores VB6
C# para desarrolladores VB6
 
C# aprenda a programar
C# aprenda a programar C# aprenda a programar
C# aprenda a programar
 
GUIA PARA LA ELABORACION DE PLAN DE MEJORA PARA INSTITUCIONES EDUCATIVAS
GUIA PARA LA ELABORACION DE PLAN DE MEJORA PARA INSTITUCIONES EDUCATIVAS GUIA PARA LA ELABORACION DE PLAN DE MEJORA PARA INSTITUCIONES EDUCATIVAS
GUIA PARA LA ELABORACION DE PLAN DE MEJORA PARA INSTITUCIONES EDUCATIVAS
 
Plan De Mejora
Plan De MejoraPlan De Mejora
Plan De Mejora
 
Cuadernillo lectoescritura
Cuadernillo lectoescrituraCuadernillo lectoescritura
Cuadernillo lectoescritura
 
metodo-boo-en-un-solo-pdf
metodo-boo-en-un-solo-pdfmetodo-boo-en-un-solo-pdf
metodo-boo-en-un-solo-pdf
 

Similaire à Taller Campus Party 2011: Desarrollo de Aplicaciones con .NET (Sesión 1)

Taller campus party .net
Taller campus party .netTaller campus party .net
Taller campus party .netcampus party
 
Fundamentos De ProgramacióN Unidad 1
Fundamentos De ProgramacióN Unidad 1Fundamentos De ProgramacióN Unidad 1
Fundamentos De ProgramacióN Unidad 1cesarmrl2
 
Fundamentos del Enfoque OO
Fundamentos del Enfoque OOFundamentos del Enfoque OO
Fundamentos del Enfoque OOsullinsan
 
Programacion Orientada a Objetos IE
Programacion Orientada a Objetos IEProgramacion Orientada a Objetos IE
Programacion Orientada a Objetos IEKaren Olan
 
Diseno orientado a objetos
Diseno orientado a objetosDiseno orientado a objetos
Diseno orientado a objetosCecilia Lemus
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetosbrandonhh10
 
Ingeniería de software y el paradigma orientado a objetos
Ingeniería de software y el paradigma orientado a objetosIngeniería de software y el paradigma orientado a objetos
Ingeniería de software y el paradigma orientado a objetosWilfredo Mogollón
 
Como ser mas productivo en el desarrollo de aplicaciones
Como ser mas productivo en el desarrollo de aplicacionesComo ser mas productivo en el desarrollo de aplicaciones
Como ser mas productivo en el desarrollo de aplicacionesMicael Gallego
 
Fundamentos de POO
Fundamentos de POOFundamentos de POO
Fundamentos de POOgueritamala
 
Visual basic 6 introduccion
Visual basic 6 introduccionVisual basic 6 introduccion
Visual basic 6 introduccionGerardo Heredia
 
Diseño+de..
Diseño+de..Diseño+de..
Diseño+de..jasped
 
Aplicaciones Distribuidas
Aplicaciones DistribuidasAplicaciones Distribuidas
Aplicaciones DistribuidasSorey García
 
Analisis y diseño orientado a odjetos
Analisis y diseño orientado a odjetosAnalisis y diseño orientado a odjetos
Analisis y diseño orientado a odjetosLex Marin
 

Similaire à Taller Campus Party 2011: Desarrollo de Aplicaciones con .NET (Sesión 1) (20)

Taller campus party .net
Taller campus party .netTaller campus party .net
Taller campus party .net
 
Tema nº 1
Tema nº 1Tema nº 1
Tema nº 1
 
Fundamentos De ProgramacióN Unidad 1
Fundamentos De ProgramacióN Unidad 1Fundamentos De ProgramacióN Unidad 1
Fundamentos De ProgramacióN Unidad 1
 
Fundamentos del Enfoque OO
Fundamentos del Enfoque OOFundamentos del Enfoque OO
Fundamentos del Enfoque OO
 
Poovb
PoovbPoovb
Poovb
 
Deber analisis
Deber analisisDeber analisis
Deber analisis
 
Compu 1
Compu 1Compu 1
Compu 1
 
Programacion Orientada a Objetos IE
Programacion Orientada a Objetos IEProgramacion Orientada a Objetos IE
Programacion Orientada a Objetos IE
 
Diseno orientado a objetos
Diseno orientado a objetosDiseno orientado a objetos
Diseno orientado a objetos
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetos
 
Ingeniería de software y el paradigma orientado a objetos
Ingeniería de software y el paradigma orientado a objetosIngeniería de software y el paradigma orientado a objetos
Ingeniería de software y el paradigma orientado a objetos
 
Como ser mas productivo en el desarrollo de aplicaciones
Como ser mas productivo en el desarrollo de aplicacionesComo ser mas productivo en el desarrollo de aplicaciones
Como ser mas productivo en el desarrollo de aplicaciones
 
Fundamentos de POO
Fundamentos de POOFundamentos de POO
Fundamentos de POO
 
Visual basic 6 introduccion
Visual basic 6 introduccionVisual basic 6 introduccion
Visual basic 6 introduccion
 
Introduccion al lenguaje java
Introduccion al lenguaje javaIntroduccion al lenguaje java
Introduccion al lenguaje java
 
Diseño+de..
Diseño+de..Diseño+de..
Diseño+de..
 
Aplicaciones Distribuidas
Aplicaciones DistribuidasAplicaciones Distribuidas
Aplicaciones Distribuidas
 
Analisis y diseño orientado a odjetos
Analisis y diseño orientado a odjetosAnalisis y diseño orientado a odjetos
Analisis y diseño orientado a odjetos
 
Tabla sqa
Tabla sqaTabla sqa
Tabla sqa
 
Tabla sqa
Tabla sqaTabla sqa
Tabla sqa
 

Plus de Avanet

Azure en entornos empresariales
Azure en entornos empresarialesAzure en entornos empresariales
Azure en entornos empresarialesAvanet
 
Desarrollo de aplicaciones móviles (ios,android,windows phone) con .net
Desarrollo de aplicaciones móviles (ios,android,windows phone) con .netDesarrollo de aplicaciones móviles (ios,android,windows phone) con .net
Desarrollo de aplicaciones móviles (ios,android,windows phone) con .netAvanet
 
Flujos de trabajo en servidores virtuales de Azure Implementando Process Maker
Flujos de trabajo en servidores virtuales de Azure Implementando Process MakerFlujos de trabajo en servidores virtuales de Azure Implementando Process Maker
Flujos de trabajo en servidores virtuales de Azure Implementando Process MakerAvanet
 
Uso de html5 + webcomponents
Uso de html5 + webcomponentsUso de html5 + webcomponents
Uso de html5 + webcomponentsAvanet
 
Novedades en Windows Server 2012 R2
Novedades en Windows Server 2012 R2Novedades en Windows Server 2012 R2
Novedades en Windows Server 2012 R2Avanet
 
Intro a HTML5 Apps con Windows 8.1
Intro a HTML5 Apps con Windows 8.1Intro a HTML5 Apps con Windows 8.1
Intro a HTML5 Apps con Windows 8.1Avanet
 
Hardening De Servidores GNU/Linux
Hardening De Servidores GNU/LinuxHardening De Servidores GNU/Linux
Hardening De Servidores GNU/LinuxAvanet
 
Desarrollo de aplicaciones Django con Python 2.0 en Azure
Desarrollo de aplicaciones Django con Python 2.0 en AzureDesarrollo de aplicaciones Django con Python 2.0 en Azure
Desarrollo de aplicaciones Django con Python 2.0 en AzureAvanet
 
Microsoft Azure.- IAAS
Microsoft Azure.- IAASMicrosoft Azure.- IAAS
Microsoft Azure.- IAASAvanet
 
Enseñar a programar a los más chicos
Enseñar a programar a los más chicosEnseñar a programar a los más chicos
Enseñar a programar a los más chicosAvanet
 
Desarrollo de aplicaciones PHP con Azure
Desarrollo de aplicaciones PHP con AzureDesarrollo de aplicaciones PHP con Azure
Desarrollo de aplicaciones PHP con AzureAvanet
 
Introducción a Google Dart + HTML5
Introducción a Google Dart + HTML5Introducción a Google Dart + HTML5
Introducción a Google Dart + HTML5Avanet
 
Pair Programming - Discute con tu compañero, no con tu teclado
Pair Programming - Discute con tu compañero, no con tu tecladoPair Programming - Discute con tu compañero, no con tu teclado
Pair Programming - Discute con tu compañero, no con tu tecladoAvanet
 
Introducción a la Programación Web con Django
Introducción a la Programación Web con DjangoIntroducción a la Programación Web con Django
Introducción a la Programación Web con DjangoAvanet
 
Html5.- Desarrollo y Buenas Prácticas con JavaScript
Html5.- Desarrollo y Buenas Prácticas con JavaScriptHtml5.- Desarrollo y Buenas Prácticas con JavaScript
Html5.- Desarrollo y Buenas Prácticas con JavaScriptAvanet
 
Webmatrix.- Web Apps con Kendo UI
Webmatrix.- Web Apps con Kendo UIWebmatrix.- Web Apps con Kendo UI
Webmatrix.- Web Apps con Kendo UIAvanet
 
Los errores más comunes de los programadores novatos
Los errores más comunes de los programadores novatosLos errores más comunes de los programadores novatos
Los errores más comunes de los programadores novatosAvanet
 
Preprocesadores CSS con LessCSS
Preprocesadores CSS con LessCSSPreprocesadores CSS con LessCSS
Preprocesadores CSS con LessCSSAvanet
 
Responsive Design
Responsive DesignResponsive Design
Responsive DesignAvanet
 
Ruby desde cero
Ruby desde ceroRuby desde cero
Ruby desde ceroAvanet
 

Plus de Avanet (20)

Azure en entornos empresariales
Azure en entornos empresarialesAzure en entornos empresariales
Azure en entornos empresariales
 
Desarrollo de aplicaciones móviles (ios,android,windows phone) con .net
Desarrollo de aplicaciones móviles (ios,android,windows phone) con .netDesarrollo de aplicaciones móviles (ios,android,windows phone) con .net
Desarrollo de aplicaciones móviles (ios,android,windows phone) con .net
 
Flujos de trabajo en servidores virtuales de Azure Implementando Process Maker
Flujos de trabajo en servidores virtuales de Azure Implementando Process MakerFlujos de trabajo en servidores virtuales de Azure Implementando Process Maker
Flujos de trabajo en servidores virtuales de Azure Implementando Process Maker
 
Uso de html5 + webcomponents
Uso de html5 + webcomponentsUso de html5 + webcomponents
Uso de html5 + webcomponents
 
Novedades en Windows Server 2012 R2
Novedades en Windows Server 2012 R2Novedades en Windows Server 2012 R2
Novedades en Windows Server 2012 R2
 
Intro a HTML5 Apps con Windows 8.1
Intro a HTML5 Apps con Windows 8.1Intro a HTML5 Apps con Windows 8.1
Intro a HTML5 Apps con Windows 8.1
 
Hardening De Servidores GNU/Linux
Hardening De Servidores GNU/LinuxHardening De Servidores GNU/Linux
Hardening De Servidores GNU/Linux
 
Desarrollo de aplicaciones Django con Python 2.0 en Azure
Desarrollo de aplicaciones Django con Python 2.0 en AzureDesarrollo de aplicaciones Django con Python 2.0 en Azure
Desarrollo de aplicaciones Django con Python 2.0 en Azure
 
Microsoft Azure.- IAAS
Microsoft Azure.- IAASMicrosoft Azure.- IAAS
Microsoft Azure.- IAAS
 
Enseñar a programar a los más chicos
Enseñar a programar a los más chicosEnseñar a programar a los más chicos
Enseñar a programar a los más chicos
 
Desarrollo de aplicaciones PHP con Azure
Desarrollo de aplicaciones PHP con AzureDesarrollo de aplicaciones PHP con Azure
Desarrollo de aplicaciones PHP con Azure
 
Introducción a Google Dart + HTML5
Introducción a Google Dart + HTML5Introducción a Google Dart + HTML5
Introducción a Google Dart + HTML5
 
Pair Programming - Discute con tu compañero, no con tu teclado
Pair Programming - Discute con tu compañero, no con tu tecladoPair Programming - Discute con tu compañero, no con tu teclado
Pair Programming - Discute con tu compañero, no con tu teclado
 
Introducción a la Programación Web con Django
Introducción a la Programación Web con DjangoIntroducción a la Programación Web con Django
Introducción a la Programación Web con Django
 
Html5.- Desarrollo y Buenas Prácticas con JavaScript
Html5.- Desarrollo y Buenas Prácticas con JavaScriptHtml5.- Desarrollo y Buenas Prácticas con JavaScript
Html5.- Desarrollo y Buenas Prácticas con JavaScript
 
Webmatrix.- Web Apps con Kendo UI
Webmatrix.- Web Apps con Kendo UIWebmatrix.- Web Apps con Kendo UI
Webmatrix.- Web Apps con Kendo UI
 
Los errores más comunes de los programadores novatos
Los errores más comunes de los programadores novatosLos errores más comunes de los programadores novatos
Los errores más comunes de los programadores novatos
 
Preprocesadores CSS con LessCSS
Preprocesadores CSS con LessCSSPreprocesadores CSS con LessCSS
Preprocesadores CSS con LessCSS
 
Responsive Design
Responsive DesignResponsive Design
Responsive Design
 
Ruby desde cero
Ruby desde ceroRuby desde cero
Ruby desde cero
 

Dernier

Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
PPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfPPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfEDILIAGAMBOA
 
cuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básicacuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básicaGianninaValeskaContr
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOweislaco
 
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfNataliaMalky1
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadJonathanCovena1
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxMartín Ramírez
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docxAgustinaNuez21
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas123yudy
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfcoloncopias5
 

Dernier (20)

Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
PPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfPPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdf
 
VISITA À PROTEÇÃO CIVIL _
VISITA À PROTEÇÃO CIVIL                  _VISITA À PROTEÇÃO CIVIL                  _
VISITA À PROTEÇÃO CIVIL _
 
cuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básicacuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básica
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
 
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la Sostenibilidad
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
PPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptxPPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptx
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 
Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docx
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
 

Taller Campus Party 2011: Desarrollo de Aplicaciones con .NET (Sesión 1)

  • 1. TALLERDesarrollo de Aplicaciones Profesionales con Tecnologías .NET
  • 3. AGENDA Sesión 1 (Junio 28 4:30 P.M. a 6:30 P.M.) Introducción a los conceptos básicos Orientación a Objetos .NET Framework TALLER: Aprendiendo a C#.NET y LINQ con Winforms
  • 4. ¡ADVERTENCIA! Este taller es para personas con conocimientos básicos, y también para aquellos que necesitan refrescarse o renovarse un poco. Los temas serán abordados en sus formas más simples con el ánimo de dar las herramientas necesarias para abordar las dos sesiones del taller.
  • 5. ¡ADVERTENCIA! Hacer una aplicación profesional no necesariamente significa hacer algo elaborado o técnicamente complejo, significa construir software pensando en su crecimiento, evolución y mantenimiento futuro.
  • 6. Un par de consejos antes de empezar…
  • 7. Antes de intentar aprender algo ten presente… lo complejo, alguna vez… fue simple, entiende lo primero lo simple.
  • 8. El problema está en la técnica, no en la herramienta
  • 9. Manejar correctamente los conceptos te ayudará a defenderte en cualquier herramientaTu preocúpate por aprender a razonar y pensar, para aprender a usar las herramientas, están los tutoriales
  • 11. ¿Qué es la orientación a objetos?
  • 12. La orientación a objetos es un paradigma de programación
  • 13. Si bien esta definición es correcta, el problema está, en que tanto lo comprendemos…
  • 14. Intentemos algo simple… La orientación a objetos es una forma de ver las situaciones y de analizar el entorno…
  • 15. …es una forma de entender un problema identificando las entidades principales que se encuentran en el
  • 16. Identificar los conceptos relevantes o las entidades involucradas en un problema significa… El propósito de la programación orientada a objetosconsiste en proporcionar una solución informática identificando los conceptos relevantespresentes en el problema conceptos relevantes = entidades abstraer los detalles y particularidades y emitir un concepto genérico
  • 17. Esto se logra identificando las características comunesde un grupo de objetos y las accionesque realizan o bien que producen algún efecto sobre ellos
  • 18. La programación orientada a objetos (POO) es por tanto una forma de desarrollar software, pensando en las entidades principales del problema que dicho sistema pretende resolver y por tanto los datos que se manipularán de esas entidades y las acciones de las que estas son responsables dentro del sistema.
  • 19. El lenguaje de programación es la herramienta para resolver elproblema
  • 20. El propósitode la POO no tiene que ver con el lenguaje de programación Sobre el lenguaje de programación lo que podemos decir es que este soporta unas y otras características de la Orientación a Objetos También podemos decir que cada quien elige la herramienta que satisface las necesidades de su proyecto, tanto a nivel de implementación como de conocimiento disponible en su recurso humano
  • 21. Y aunque es claro que existe más de una herramienta para resolver unproblema
  • 22. Es seguro que también hay formas más fáciles de hacerlo…
  • 24. ¿Qué es un Objeto?
  • 25. Un Objeto es… Cualquier Cosa
  • 27. Cualquier Cosa …de la que puedas emitir un concepto. Es decir… Cualquier Cosa, todo es un objeto.
  • 28. Veamos, Este es un objeto Es un automóvil de plástico, rojo con 4 llantas y 2 puertas
  • 29. Si realizáramos el proceso mental lentamente, nos daríamos cuenta de que al ver el objeto emitimos un concepto preconcebido es decirautomóvil
  • 30. En la imagen cada uno de los elementos que vemos es considerado un objeto Sin embargo de todos ellos podemos emitir un concepto conocido y para ello usamos la palabra globo
  • 31. A ese concepto conocidoque representa una agrupación de objetos …lo llamamosClase
  • 32. Unaclase es como un molde de galletas… … este determina la forma y característicasque la galleta (el objeto) va a tener, sin ser el objeto real
  • 33. La clasees una… …los objetosson todos los que podamos crear mentalmente a partir de dicha claseo concepto
  • 34. ¿Recuerdan eso de la abstracción? Pues bien… Una claseesta compuesta por características(atributos o propiedades) y por comportamientos(acciones o métodos) …esos que elegimos como generalidades del conjunto de objetos comunes de nuestro problema a resolver
  • 35. Así entonces… entidad = concepto relevante = clase
  • 36. Las característicasy comportamientosde una clase son determinadas por el contexto del problema o escenario Esto en programación quiere decir, que dentro de un sistema, solo implementamos los atributosy métodosrelacionados con el ámbito del problema que estamos solucionando.
  • 37. Veamos algunos conceptos adicionales… A los valores que tienen los atributos de un objetose les conoce como el estado del objeto, y a los atributos y métodos que ofrece se les conoce como la interfazal código usado para construir las clases se le conoce como la implementaciónde la clase.
  • 38. Los objetosse comunican se comunican con otros a través de mensajes Un mensaje es una comunicación dirigida a un objeto, que le ordena que ejecute uno de sus métodos con ciertos parámetros asociados al evento que lo generó. Wikipedia
  • 39. Con respecto a la comunicación entre objetos tenemos más principiosalta cohesión y el bajo acoplamiento
  • 40. Cuando decimos que un objeto tiene una alta cohesiónhablamos de que sus características y comportamientos están estrechamente relacionados La relación que tienen esta determinada por el contexto del problema a resolver
  • 41. Cuando decimos que un objeto tiene una bajo acoplamiento hablamos del nivel de independencia que tiene un objeto con respecto a otros El hacer un objeto independiente de los demás ayudará a que ese objeto pueda ser usado en otros contexto
  • 42. Los principios que dirigen la orientación a objetos son… … la modularidad y la reusabilidad Qué son?
  • 43. En términos simples la modularidadsignifica trabajar por partes…Esas partes deberían ser lo más independientes posibles, como piezas de Lego, de esa forma podrías usar diferentes piezas en la construcción de otro sistema
  • 44. y la reusabilidadsignifica¡No se invente la rueda! Lo que ya esta hecho es para usarse y algunas de las cosas que no están hechas, deben construirse pensando en que alguien necesitará usarlo alguna vez. Por otro lado recuerde, reusar no es simplemente copiar y pegar código.
  • 45. ¡UN CONSEJO! No inventarse la rueda no significa, que no mejores la rueda.
  • 46. Por último, veamos algunas características de la Programación Orientada a Objetos
  • 50. Empecemos a conocer nuestro problema¿Qué tal algo que todos conocemos? Aplicación de Aforo a Campus Party
  • 51.
  • 52. ¿Qué es un Framework? ¿Recuerdan esto? “No se invente la rueda....”
  • 53. Veámoslo así… Los edificios de una ciudad son todos los tipos de software que podemos construir
  • 54. Suponga que usted necesita construir un edificio…
  • 55. Ahora imagine que a usted le tocara construircada una de las partes…
  • 56. ¿Cuánto tiempo cree que tardaría en terminar? Lo mismo sucede con el software, si cada vez tuviéramos que construir todos los componentes que lo conforman, tardaríamos mucho más tiempo…
  • 57. ¿Qué es un framework? Un frameworkes, básicamente, un conjunto de clases que interactúan en forma cooperativapara dar solución a una determinada necesidad.
  • 58. Ahora un poco menos conceptual... En términos simples un frameworkes un conjunto de clases base agrupadas en componentes, que pueden ser reutilizadas para la construcción de nuevo software
  • 59. Las características principales de un frameworkson: Estar enfocado en un tema específico y el ser altamente reutilizable.
  • 60. Microsoft .NET .NET es el conjunto de tecnologías en las que Microsoft ha trabajado con el objetivo de obtener una plataforma sencilla y potente para distribuir el software en forma de servicios que puedan ser suministrados remotamente y que puedan comunicarse y combinarse unos con otros de manera totalmente independiente de la plataforma, lenguaje de programación y modelo de componentes con los que hayan sido desarrollados.
  • 61. ¿Qué es Visual Studio .NET? Es entorno de desarrollo (IDE), la herramienta sobre la cual los programadores desarrollan el software
  • 62. Beta Línea de Tiempo .NET Framework 4 2010 2008 2010 2008 .NET Framework 3.5 .NET Framework 3.0 2007 2005 .NET Framework 2.0
  • 63. ¿Qué es .NET Framework?
  • 64.
  • 68. ¿Qué NO es? NO es un sistema operativo NO es un lenguaje de programación NO es un entorno de desarrollo NO es un servidor de aplicaciones
  • 69. ¿Qué es el .NET Framework? Un conjunto de tecnologías que me permiten: Unir las aplicaciones Web actuales que están aisladas, de manera muy fácil Acceder a información en cualquier momento, en cualquier lugar Simplificar el desarrollo y la implementación Desarrollar aplicaciones para cualquier dispositivo, sin necesidad de mucho esfuerzo. Reutilizar mucho código Hacer más, con menos
  • 70. Algunas Características Completamente Orientado a Objetos Multilenguaje Modelo de programación único para todo tipo de aplicaciones y dispositivos de hardware Se integra fácilmente con aplicaciones existentes desarrolladas en plataformas Microsoft o en otras plataformas.
  • 71. Línea de Tiempo .NET Framework Visual Studio 6.0 Visual Basic VBA Visual FoxPro VBScript C++ J++ JScript ASP Visual Studio .NET 2003 .NET Framework 1.1 .NET Compact Framework J# Visual Studio 2008 .NET Framework 3.0 – 3.5 .NET Compact Framework 2000 2001 2002 2003 2004 2005 2006 2008 2010 Visual Studio 2005 .NET Framework 2.0 .NET Compact Framework 2.0 Visual Studio .NET 2002 .NET Framework 1.0 Visual Basic .NET C# Visual Studio 2010 .NET Framework 4.0 F#
  • 72. VB C++ C# Visual Studio .NET J# … Common Language Specification ASP.NET: Servicios Web y Web Forms WindowsForms ADO.NET: Datos y XML Biblioteca de Clases Base Common Language Runtime Microsoft .NET Framework 2.0
  • 73. ¿Qué son los demás? 2.0 .NET Framework 2.0 VB C# J# IronPhyton Ruby … 3.0 .NET Framework 3.0 CLS y CTS ASP.NET WPF WCS WF & WCF Enhancements Dynamic Data ADO.NET LINQ Additional Enhancements Entity Framework WCF WF Add-in Framework WindowsForms MVC Data Services Biblioteca de Clases CommonLanguage Runtime (CLR) Windows 7, Windows Vista,Windows XP,Windows Server 2008
  • 74. Microsoft .NET Framework Presentación Acceso a Datos Servicios Windows Presentation Foundation ASP.NET (WebForms, MVC, Dynamic Data) Entity Framework ADO.NET Data Services Windows Communication Foundation WinForms LINQ to SQL Windows Workflow Foundation “Velocity” Core Base Class Library Dynamic Language Runtime Languages Managed Extensibility Framework LINQ Parallel Extensions Common Language Runtime
  • 75. Common Language Runtime (CLR) Es el motor de ejecución de .NET Caracteristicas: Compilacion Just In Time (JIT) Gestion de Memoria (Garbage Collector) Gestion de Errores (excepciones) Ejecucion basada en componentes (assemblies) Gestion de seguridad Multithreading
  • 76. ¿Como trabaja el CLR? Assembly (MSIL) Compilador Bibliotecao Ejecutable Código Fuente Cualquierlenguaje .NET
  • 77. Código MSIL Código Fuente Compilador Lenguaje Metadata Ejecución JIT Compiler CódigoNativo Tiempos: Compilación y Ejecución Compilación Antes de la instalación o cuando se ejecutaporprimeravez
  • 78. Modelo de Ejecución del CLR Código Fuente VB.NET C++.NET C# Componente No Manejado Compilador VB.NET Compilador C# Compilador C++ .NET Código Manejado Assembly Código MSIL Assembly Código MSIL Assembly Código MSIL Common Language Runtime Compilador JIT Código Nativo Sistema Operativo (Windows)
  • 79. Estructura de un proyecto .NET Solución Proyectos (Assemblies) Namespaces Clases Archivos de configuración Recursos adicionales
  • 80. Descripción de Tipos Clases Clases Base Interfaces Implementadas Atributos de las Clases Métodos de las Clases MiBiblioteca.DLL Metadata Manifiesto del Assembly Código CompiladoMSIL Nombre Versión Cultura Recursos Otros Assemblies Permisos de Seguridad Tipos Externos Estructura de un Assembly
  • 81. TAREA  Para desarrollar la siguiente sesión del taller se espera que se traiga una idea de proyecto para implementar Si no quieres crear una nueva idea igual puedes bajar el material y el avance del que estamos trabajando en www.avanet.org
  • 82. @soreygarcia @mteheran @dramirez2009 @khriztianmoreno @jodageeks @andreslon @pavelespitia @dxp2 @hernandgr (virtual) @magicovercast (virtual) @elianaca (virtual) ACOMPAÑAMIENTO
  • 83. LOS ESPERAMOS EN LA SESIÓN 2 30 de Junio – 10 a.m. a 12 m.