Top Banner

of 52

Curso .Net Clase 1

Apr 10, 2018

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 8/8/2019 Curso .Net Clase 1

    1/52

    Clase ICurso Programacin para .NET

  • 8/8/2019 Curso .Net Clase 1

    2/52

    Software Windows Visual Studio

    .NET Framework

    Conocer la Interfaz de Visual Studio .NET Desarrollo de una aplicacin en C/C++

    Manejo de Excepciones

    Temario Clase I

    Curso .NET | Clase I Universidad Tecnolgica Metropolitana 2 de 52

  • 8/8/2019 Curso .Net Clase 1

    3/52

    Software

  • 8/8/2019 Curso .Net Clase 1

    4/52

    Aplicacin Informtica desarrollada con el fin desolucionar el problema de un cliente, sistema uorganizacin

    Es la interfaz entre el Sistema Operativo y el Usuario

    Hoy en da, las Aplicaciones Web son tambinconsideradas como un Software, pero que nointeracta directamente con el Sistema operativo, si

    no que se centra en solucionar un problema delusuario

    Definicin y conceptos de Software

    Curso .NET | Clase I Universidad Tecnolgica Metropolitana 4 de 52

  • 8/8/2019 Curso .Net Clase 1

    5/52

    Hardware

    Sistema Operativo

    Windows, Linux, Mac OS, Etc

    Software

    Usuario

    Cliente, Sistema, Organizacin, Etc

    Posicin en la Pila del Sistema

    Curso .NET | Clase I Universidad Tecnolgica Metropolitana 5 de 52

  • 8/8/2019 Curso .Net Clase 1

    6/52

    Nace Vive Muere

    Etapas de Vida

    Curso .NET | Clase I Universidad Tecnolgica Metropolitana 6 de 52

  • 8/8/2019 Curso .Net Clase 1

    7/52

    Ciclo de Vida de un Software

    Curso .NET | Clase I Universidad Tecnolgica Metropolitana 7 de 52

  • 8/8/2019 Curso .Net Clase 1

    8/52

    Alpha

    Beta

    Release Candidate (RC)

    Release to Manufacturing (RTM)

    Generally Avaiable (GA)

    Etapas de Desarrollo

    Curso .NET | Clase I Universidad Tecnolgica Metropolitana 8 de 52

  • 8/8/2019 Curso .Net Clase 1

    9/52

    1. Un problema o necesidad que no este resuelto2. Un lenguaje de programacin que satisfaga las

    necesidades de la solucin que se desea construir

    3. Un Sistema Operativo cuyas polticas y directivaspermitan un buen desempeo de nuestra solucin

    4. El Hardware adecuado para que el softwarefuncione correctamente

    Que se necesita para hacer un software?

    Curso .NET | Clase I Universidad Tecnolgica Metropolitana 9 de 52

  • 8/8/2019 Curso .Net Clase 1

    10/52

    1980 Funcin

    1990 Solucin

    2000 Diseo

    2010 Integracin

    Orientaciones del Software por aos

    Curso .NET | Clase I Universidad Tecnolgica Metropolitana 10 de 52

  • 8/8/2019 Curso .Net Clase 1

    11/52

    Cmo entenderemos el Software?

    Curso .NET | Clase I Universidad Tecnolgica Metropolitana

    SoftwareDatos (Parmetros) Informacin

    11 de 52

  • 8/8/2019 Curso .Net Clase 1

    12/52

    La necesidad de los Sistemas OperativosWindows

  • 8/8/2019 Curso .Net Clase 1

    13/52

    Desarrollado por Microsoft en 1981 y puesto en elmercado en 1985 (Windows 1.0)

    Nace a partir de MS-DOS

    Basado en un sistema Xerox que permita entornosgrficos

    Mouse implementado en la popular versinWindows 3.1 lanzada en 1992, Esta es la ms

    semejante a las versiones Windows 95 y Windows 98que son la base de los Sistemas Windows actuales

    Programado presumiblemente en C/C++

    Microsoft Windows

    Curso .NET | Clase I Universidad Tecnolgica Metropolitana 13 de 52

  • 8/8/2019 Curso .Net Clase 1

    14/52

    Hasta Windows 95, Windows estaba orientado aUsuarios Finales

    Windows NT orientado a servidores basado en

    paradigmas UNIX Windows 3.1 for Workgroups es considerado

    tambin como Windows-Server Windows XP unifico ambos ncleos

    2000 Server, 2003 Server, 2008 Server mspoderosos que XP, Vista, 7 desde la vista operacional

    Windows User / Windows Server

    Curso .NET | Clase I Universidad Tecnolgica Metropolitana 14 de 52

  • 8/8/2019 Curso .Net Clase 1

    15/52

    Programacin compleja Solo expertos en el rea desarrollaban aplicaciones

    fiables

    Pocas empresas (Norteamericanas principalmente)controlaban el mercado informtico, poco popularen esos aos.

    Windows no le hizo un favor a la informtica enaquel entonces.

    Aplicaciones de hace 20-30 aos

    Curso .NET | Clase I Universidad Tecnolgica Metropolitana 15 de 52

  • 8/8/2019 Curso .Net Clase 1

    16/52

    Si programar para consola ya era complejo,programar adems un entorno grafico eraimpensado.

    Poco Software para Windows: Se vea bien, pero sepoda hacer poco con el.

    Apple Macintosh sufra del mismo problema, lo quehacia poco popular la programacin grafica entre los

    desarrolladores Para que hacer algo visualmente mejor si esto no

    har que funcione mejor?

    Aplicaciones para Windows

    Curso .NET | Clase I Universidad Tecnolgica Metropolitana 16 de 52

  • 8/8/2019 Curso .Net Clase 1

    17/52

    Basado -hipotticamente- en el lenguaje BASIC, deuna modificacin hecha por Microsoft llamadaQuickBasic 1.0 .

    Aplicaciones rpidas, con entorno grafico agradabley permitiendo a los desarrolladores centrarse en elque y no en el como.

    Cdigo y aplicaciones no portables, lo que supona

    una ventaja para Microsoft Windows (principalmotivo de su victoria en el emergente mercado delos Sistemas Operativos)

    Visual Basic

    Curso .NET | Clase I Universidad Tecnolgica Metropolitana 17 de 52

  • 8/8/2019 Curso .Net Clase 1

    18/52

    Visual Basic 1.0

    Curso .NET | Clase I Universidad Tecnolgica Metropolitana 18 de 52

  • 8/8/2019 Curso .Net Clase 1

    19/52

    Microsoft sabia que Visual Basic permitasimplicidad, pero paradjicamente, no permitacomplejidad.

    No haba vinculacin a Bases de Datos u otrosmedios de almacenamiento.

    Capacidades de red sobre protocolo TCP/IP y UDPestaban tomando fuerza y Visual Basic se poda

    quedar atrs.

    Microsoft decide crear Visual Studio.

    Y los dems lenguajes?

    Curso .NET | Clase I Universidad Tecnolgica Metropolitana 19 de 52

  • 8/8/2019 Curso .Net Clase 1

    20/52

    Entorno de Desarrollo para WindowsVisual Studio

  • 8/8/2019 Curso .Net Clase 1

    21/52

    Entornos de Programacin divididos por lenguajescomo C/C++, Visual Basic y J++

    Permite Programacin Nativa y en MFC

    Orientado al desarrollo de aplicaciones rpidas La ultima y ms popular versin de esta suite es

    Visual Studio 6.0 lanzada en 1998 que cuenta convarios Services Pack a la fecha

    Cada lenguaje se compila para ser entendidadirectamente por el sistema

    Qu es Visual Studio?

    Curso .NET | Clase I Universidad Tecnolgica Metropolitana 21 de 52

  • 8/8/2019 Curso .Net Clase 1

    22/52

    DLL Hell el Infierno de las DLL Limitaciones de conectividad en redes, bases de

    datos e incompatibilidad entre los mismos sistemas

    Windows Drivers de Hardware Limitaciones de Hardware

    Qu fracaso?

    Productividad

    Problemas

    Curso .NET | Clase I Universidad Tecnolgica Metropolitana 22 de 52

  • 8/8/2019 Curso .Net Clase 1

    23/52

    MFC (Microsoft Foundation Classes) OWL (Object Windows Libraries de Borland) VCL (Visual Common Libraries de Borland)

    Herramientas y programacin Visual que competan conVisual Studio basados en Delphi, una modificacin deObject Pascal.

    Muchas versiones, incompatibilidades ydesacuerdos hicieron que Microsoft determinarainiciar desde 0 y crear Visual Studio .NET

    Intentos de Solucin

    Curso .NET | Clase I Universidad Tecnolgica Metropolitana 23 de 52

  • 8/8/2019 Curso .Net Clase 1

    24/52

    Entorno Integrado de Desarrollo (IDE) Orientado al modelado y desarrollo de aplicaciones Permite el desarrollo en lenguajes basados en el

    Framework .NET Estndar en el desarrollo visual para aplicaciones de

    Windows Vista y Windows 7 Integra a C/C++, C++.NET, Visual Basic.NET, C#, F#,

    J#, ASP.NET adems de InterOp, InterDev y otrasherramientas

    Todos los lenguajes son OOP

    Qu es Visual Studio .NET?

    Curso .NET | Clase I Universidad Tecnolgica Metropolitana 24 de 52

  • 8/8/2019 Curso .Net Clase 1

    25/52

    Marco de trabajo ManejadoFramework .NET

  • 8/8/2019 Curso .Net Clase 1

    26/52

    Interprete de aplicaciones al estilo Java VirtualMachine

    Cuenta con su propio Garbage Collector

    Interoperabilidad de lenguajes del Marco .NET conimplementaciones no-Microsoft como P#

    Cada versin es independiente, no son acumulativasni excluyentes (es decir, la versin 2.0 no incluye la

    1.0) Targeting

    Framework .NET

    Curso .NET | Clase I Universidad Tecnolgica Metropolitana 26 de 52

  • 8/8/2019 Curso .Net Clase 1

    27/52

    Compilacin(Generacincdigo MSIL

    basado en CLS)

    Invocacindel CLR

    InvocacinJIT

    Ejecucin dela Aplicacin

    Como Funciona .NET

    Curso .NET | Clase I Universidad Tecnolgica Metropolitana 27 de 52

  • 8/8/2019 Curso .Net Clase 1

    28/52

    Arquitectura .NET

    Curso .NET | Clase I Universidad Tecnolgica Metropolitana 28 de 52

  • 8/8/2019 Curso .Net Clase 1

    29/52

    Arquitectura CLR

    Curso .NET | Clase I Universidad Tecnolgica Metropolitana 29 de 52

  • 8/8/2019 Curso .Net Clase 1

    30/52

    Ensamblados en MSIL

    Curso .NET | Clase I Universidad Tecnolgica Metropolitana 30 de 52

  • 8/8/2019 Curso .Net Clase 1

    31/52

    Visual Studio es para los informticos comoAutoCAD para los arquitectos o Photoshop para losDiseadores.

    El Marco .NET es un interprete estilo JVM, peropotenciado para mucho ms lenguajes yaplicaciones.

    Es portable basado en mociones libres como Mono.

    Gran aceptacin por la comunidad de desarrollo. Windows Vista incluye la versin 3.0, Windows 7 la

    versin 3.5 y con VS 2010 se libero .NET 4.0

    Cmo entenderemos .NET?

    Curso .NET | Clase I Universidad Tecnolgica Metropolitana 31 de 52

  • 8/8/2019 Curso .Net Clase 1

    32/52

    Aplicaciones rpidas, fiables y good-looking Herramientas para bases de datos, estimacin de

    costos, modelado y anlisis permiten centrarse en el

    que y no en el como. Sobre el Marco .NET las aplicaciones siempre sernseguras,

    Varios lenguajes, clases, bibliotecas y mdulos

    simplifican el acceso a Hardware, Software y redes.

    Por qu usar Visual Studio?

    Curso .NET | Clase I Universidad Tecnolgica Metropolitana 32 de 52

  • 8/8/2019 Curso .Net Clase 1

    33/52

    Conociendo la InterfazVisual Studio

    Las imgenes a continuacin son solo referenciales.Las imgenes a continuacin corresponden a Visual Studio 2010 Ultimate RTM, pero el

    funcionamiento es idntico en otras versiones de Visual Studio a partir de la versin .NET2002.

  • 8/8/2019 Curso .Net Clase 1

    34/52

    Pantalla de Bienvenida

    Curso .NET | Clase I Universidad Tecnolgica Metropolitana 34 de 52

  • 8/8/2019 Curso .Net Clase 1

    35/52

    Creacin de Solucin / Proyecto

    Curso .NET | Clase I Universidad Tecnolgica Metropolitana 35 de 52

  • 8/8/2019 Curso .Net Clase 1

    36/52

    Cual es el proyecto adecuado?

    Curso .NET | Clase I Universidad Tecnolgica Metropolitana

    C/C++ ANSI equivalente

    C/C++ CLI (.NET)

    36 de 52

  • 8/8/2019 Curso .Net Clase 1

    37/52

    Opciones en el Wizard para C++ ANSI

    Curso .NET | Clase I Universidad Tecnolgica Metropolitana 37 de 52

  • 8/8/2019 Curso .Net Clase 1

    38/52

    Explorador de Soluciones

    Curso .NET | Clase I Universidad Tecnolgica Metropolitana

    Permite ver archivos yconfiguraciones vinculadas a lasolucin en desarrollo.

    Libreras

    Recursos, como imgenes,iconos, textos, etc

    Archivos Fuente

    Dependencias de librerasdinmicas, objetos COM, etc

    38 de 52

  • 8/8/2019 Curso .Net Clase 1

    39/52

    Agregar un Elemento

    Curso .NET | Clase I Universidad Tecnolgica Metropolitana 39 de 52

  • 8/8/2019 Curso .Net Clase 1

    40/52

    Seleccionar archivo C/C++

    Curso .NET | Clase I Universidad Tecnolgica Metropolitana 40 de 52

  • 8/8/2019 Curso .Net Clase 1

    41/52

    Intellisense

    Curso .NET | Clase I Universidad Tecnolgica Metropolitana

    1. Ayuda de completacin de cdigo.2. Se puede llamar presionando CRTL+J

    41 de 52

  • 8/8/2019 Curso .Net Clase 1

    42/52

    Cdigo 1: Aplicacin bsica C/C++

    Curso .NET | Clase I Universidad Tecnolgica Metropolitana 42 de 52

  • 8/8/2019 Curso .Net Clase 1

    43/52

    Compilar y configuracin de Compilacin

    Curso .NET | Clase I Universidad Tecnolgica Metropolitana

    Presionar para compilar con laConfiguracin Seleccionada (F5)

    Plataforma de Compilacin

    Configuraciones de Compilacin:1. Debug: Admite cambios inline en TDE, trackeo, etc2. Release: Genera una Major Release del Software

    43 de 52

  • 8/8/2019 Curso .Net Clase 1

    44/52

    Cdigo 2: Divisin Simple

    Curso .NET | Clase I Universidad Tecnolgica Metropolitana 44 de 52

  • 8/8/2019 Curso .Net Clase 1

    45/52

    Excepcin no Manejada

    Curso .NET | Clase I Universidad Tecnolgica Metropolitana 45 de 52

  • 8/8/2019 Curso .Net Clase 1

    46/52

    Ventana de Locales y Pila de Llamadas

    Curso .NET | Clase I Universidad Tecnolgica Metropolitana 46 de 52

  • 8/8/2019 Curso .Net Clase 1

    47/52

    Una Excepcin es, como su nombre dice, algo queno estaba previsto.

    Una computadora al encontrar una Excepcin,

    aborta la aplicacin, provocando un MemoryOverflow, Desvolcamiento de Pila, u otros errores(BSOD).

    Los lenguajes de programacin llaman a estos

    errores unhandled Exception, o Excepcin nomanejada.

    Qu es Manejar una Excepcin?

    Curso .NET | Clase I Universidad Tecnolgica Metropolitana 47 de 52

  • 8/8/2019 Curso .Net Clase 1

    48/52

    try{

    //Lo que debera funcionar

    }

    catch(/*Que va a manejar*/){//Lo que pasa si no funciona

    }

    throw lo que se enva;1. : Lo que sea

    2. Otra cosa: lo que se envie

    Manejo de una Excepcion

    Curso .NET | Clase I Universidad Tecnolgica Metropolitana 48 de 52

  • 8/8/2019 Curso .Net Clase 1

    49/52

    Cdigo 3: Ejemplo de Excepcin manejada

    Curso .NET | Clase I Universidad Tecnolgica Metropolitana 49 de 52

  • 8/8/2019 Curso .Net Clase 1

    50/52

    Cdigo 4: Manejo mltiple

    Curso .NET | Clase I Universidad Tecnolgica Metropolitana 50 de 52

  • 8/8/2019 Curso .Net Clase 1

    51/52

    Wikipedia Visual Studio Windows Framework .NET

    Microsoft Visual Basic .NET Editorial Alfaomega, 2008, Francisco Javier Ceballos

    C++/CLI - The Visual C++ Language for .NET Editorial Apress, 2006, Gordon Hogenson

    Visual C# 2008 Step by Step Microsoft Partner Document, 2008, John Sharp

    Bibliografa

    Curso .NET | Clase I Universidad Tecnolgica Metropolitana 51 de 52

  • 8/8/2019 Curso .Net Clase 1

    52/52

    Sebastin Ortiz Lira @2010Fin Clase I