Resumen de: “2609a – Introducción a la programación con C# con Microsoft .NET”.
Módulo I Objetivos: • • •
Identificar componentes de la plataforma .NET y el Framework .NET, de acuerdo a sus funciones. Explorar el entorno de desarrollo de Visual Studio Crear una aplicación para Microsoft Windows
¿Qué es la plataforma .NET? • • • • • •
.NET = Plataforma que ofrece diversas tecnologías y servicios para el desarrollo de aplicaciones para WEB, Windows y Portátiles. Desarrollo: Visual Studio + .NET. Diversos lenguajes. Dispositivos móviles: desarrollo de aplicaciones para estos, incluyendo uso de web services. Experiencias de usuarios: son aplicaciones .NET que usan servicios web XML, para integrar información de diversas fuentes. Servidores: las soluciones .NET facilitan la integración de sistemas, aplicaciones y proveedores por medio de servicios web y XML. Servicios web XML: proporcionan independencia de plataformas y arquitecturas, permitiendo la comunicación entre aplicaciones diversas.
Beneficios para desarrolladores • • • •
Desarrollo rápido de aplicaciones Mayor confiabilidad: computación distribuida, ambiente de ejecución administrado y protegido. Basado en estándares del Web: uso de XML, SOAP. Acceso a Bases de Datos: ODBC, y nativas de SQL Server y Oracle.
Componentes • •
CLR (Common Language Runtime): Ofrece un ambiente de ejecución común para todos los lenguajes .NET. Incluye servicios como administración de código y recolección de basura. Biblioteca de clases del Framework .NET: Es una colección de clases que exponen toda la funcionalidad del ambiente .NET. Incluye, entre otros: o ADO.NET: acceso a bases de datos, incluyendo el modo desconectado, y XML. o ASP.NET: para desarrollo de aplicaciones Web. o Servicios Web XML: ofrece herramientas para desarrollar, probar y distribuir web services. o Interfaces de usuario: Web Forms, Windows Forms y Consola.
•
Lenguajes de programación: al trabajar sobre un ambiente común (CLR), todos los lenguajes .NET pueden interactuar entre ellos. Al final todos generan código MSIL.
Como funciona el Framework .NET
CLR: es el fundamento del framework .NET. Proporciona un ambiente de ejecución, con seguridad administrada y servicios como recolección de basura. MSIL: Código de nivel intermedio, generado por toda aplicación .NET. Compilación JIT: Traduce el código MSIL a la máquina en la que se ejecuta finalmente la aplicación. Ejecuta optimizaciones específicas para cada máquina.
Práctica: definir los componentes de .NET • • •
• •
• •
Recolector de basura: componente que revisa periódicamente en busca de objetos que estén listos para liberar la memoria que utilizaban. MSIL: Conjunto de instrucciones independientes del CPU que pueden ser convertidas en código optimizado para un CPU específico. Framework .NET: Entidad programable que provee un elemento particular de funcionalidad, como por ejemplo: la lógica de una aplicación, y que es accesible para cualquier cantidad de sistemas dispares. (?) Biblioteca de clases del Framework .NET: Componente que contiene una colección de tipo reutilizables que se pueden usar para desarrollar aplicaciones. Servicios web XML: Modelo de programación de la plataforma .NET, para construir distribuir y ejecutar servicios web XML y todo tipo de aplicaciones: tanto de escritorio como para web. Dispositivos móviles: Computadora de mano o teléfono móvil que puede usar aplicaciones .NET. CLR: Componente que administra la ejecución de código y que provee servicios para facilitar el proceso de desarrollo.
•
Experiencias .NET: Servicios, aplicaciones basadas en .NET, y sitios web que usan Servicios web XML, que mejoran la experiencia de usuario.
Explorando Visual Studio .NET Esta es una demostración las operaciones más frecuentes que se hacen con Visual Studio .NET.
Demostración (…)
Características notables de programación de Visual Studio .NET
Visual Studio .NET: ambiente integrado, ayuda al desarrollo depuración e instalación de aplicaciones .NET. Las características son comunes a todos los lenguajes. Se pueden crear aplicaciones Windows y Web. Incluye: • • • • • • • •
Diseñador de Windows Forms: visual Herramientas para Windows Forms: diseñador de formas, plantilla, referencias y código base Herramientas para Web Forms: diseñador web, plantilla, referencias y código base Herramientas para Servicios Web XML: plantilla Soporte multi-lenguaje: todos los lenguajes .NET están integrados Acceso a datos: bases de datos y XML Manejo de errores: depurador multi-lenguaje Asistentes: ayudan a varias tareas
Estructura de Soluciones y Proyectos Explorador de Soluciones: vista de los componentes de una Solución. Solución: contenedor de proyectos que constituyen una aplicación. Proyecto: contenedor de elementos que constituyen a un proyecto. Archivos:
• • • • • • •
.SLN: solución .SUO: opciones de usuario de la solución .CS: archivo de formas, controles de usuario, clases y módulos, escrito en C#. .CSPROJ: proyecto C# .ASPX: Web Form .ASMX: servicios web XML .ASAX: clases globales web
El proceso de desarrollo Todo el proceso se hace dentro de Visual Studio. 7 pasos: 1. 2. 3. 4. 5. 6. 7.
Especificación: diseña y planea, antes. Crear la interfaz de usuario. Cambiar las propiedades de los objetos de interfaz. Escribir código para agregar funcionalidad. Pruebas y depuración. Crear un ejecutable. Crear un instalador.
Lección: Crear un proyecto de Aplicación Windows (Demostración)
¿Qué es una plantilla de aplicación? En un conjunto de archivos iniciales y estructura de proyecto, contiene los objetos básicos de un proyecto y la configuración necesaria para crear la aplicación que se quiere construir. (Demostración)
Como usar el diseñador de Windows Forms (Demostración)
Cómo usar la ventana de propiedades (Demostración)
Práctica: crear una aplicación básica (Demostración)
Módulo II Objetivos: • • • • •
Entender los fundamentos de un programa C# Usar tipos predefinidos de C# Escribir expresiones Crear sentencias condicionales Crear sentencias iterativas
Lección: entender los fundamentos de un programa C# ¿Cuál es la estructura de un programa C#? • • • • • • • • •
La ejecución del programa comienza en Main() La palabra clave using, hace referencia a recursos de la biblioteca de clases del Framework .NET Las sentencias son comandos que realizan acciones. Un programa está formado de varias sentencias. Las sentencias se terminan con punto y coma (;) Las llaves {} se usan para agrupar sentencias El namespace System se refiere a toda la funcionalidad de .NET Las clases, cuando se instancian crean objetos, los cuales tienen atributos y métodos. Todos los programas definen, al menos, una clase.
Ejemplo: using System; Class HelloWorld { static void Main() { Console.WriteLines (“Hola”); } }
Como formatear código en C# • • • • •
C# es sensible a mayúsculas y minúsculas Usar indentación Se ignora el espacio en blanco Comentarios de una línea, comienzan con // Comentarios de varias líneas, se definen con /* y */
Lección: uso de tipos predefinidos ¿Qué son los tipos predefinidos? C# ofrece varios tipos predefinidos. Se definen en el namespace System. Ver tabla:
Como declarar e inicializar variables Declarar: Tipo + Nombre + punto y coma: Int numeroDeVisitantes; string nombre; Inicializar: String nombre = “Oso�; Asignar valores literales:
decimal deposito = 100M; Caracteres individuales: char inicial = ‘g’; Nombres de variables: • • •
Usar “camel case” No usar palabras reservadas C# es sensible a mayúsculas y minúsculas
Caracteres de escape (ver tabla) Examinar valores de variables en Visual Studio (demostración: breakpoints e inspección de variables)
Como declarar e inicializar cadenas • • • • •
string a = “Hola”; string a = “\”Hola\””; string a = “Hola\nMundo”; string a = @”Una cadena al pie de la letra\nse copia tal cual”; Unicode: .NET usa UTF-16, que es el estándar actual que reemplazó a ASCII.
Como crear y usar constantes const int radioDeLaTierra = 6378;
// km
Como crear y usar enumeraciones Una enumeración es un grupo de constantes numéricas con nombre: enum Planeta { Mercurio, Venus, Tierra,
Marte } Planeta unPlaneta = Planeta.Marte; Console.WriteLine (“Planeta: {0}”, unPlaneta); Otro ejemplo: enum Planeta { Mercurio = 13, Venus = 14, Tierra = 35, Marte = 88 } Otro más, con una variante del tipo base: enum Planeta : uint { Mercurio = 13, Venus = 14, Tierra = 35, Marte = 88 }
Como hacer conversión de tipos Implícita: int x = 123456; long y = x; Explícita: int x = 65535; short z = (short) x;
Práctica: Uso de tipos C# (práctica)
Lección: escritura de expresiones
¿Qué son las expresiones y los operadores? Operadores: símbolos que representan acciones. Operandos: valores sobre los que actúan los operadores. Expresión: secuencia válida de operadores y operandos. Tipos: • • • • • •
Incremento y decremento Aritmético De orden Igualdad Condicional Asignación
(ver tablas) Precedencia de operadores (ver tablas)
Práctica (ejercicio)
Lección: sentencias condicionales Como y cuando usar la sentencia if Ejemplo: bool flagCheck = true; if (flagCheck == true) { Console.WriteLine("The flag is set to true."); } else { Console.WriteLine("The flag is set to false."); }
Como y cuando usar la sentencia switch
Switch actúa sobre expresiones que resultan en valores int Ejemplo: switch(n) { case 1: cost += 25; break; case 2: cost += 25; goto case 1; case 3: cost += 50; goto case 1; default: Console.WriteLine("Invalid selection."); break; }
Switch puede actuar sobre enumeraciones.
Práctica: uso de sentencias condicionales (práctica)
Lección: uso de sentencias iterativas. Sentencias for: for (int x = 1; x < 10; x++) { Console.WriteLine(“x = {0}\n“, x); } Sentencias while: int x = 1; while (x <= 10) { Console.WriteLine(“x = {0}\n“, x);
x++; } Sentencias do while: int x = 1; do { Console.WriteLine(“x = {0}\n“, x); x++; } while (x <= 10); * podemos usar break para interrumpir un ciclo for (int x = 11; x > 0; x--) { Console.WriteLine("x es: {0}\n", x); if (x == 5) { break; } }
Práctica: uso de sentencias iterativas. (práctica)