Programación con Visual Basic .NET 1 – Plataforma .NET Francisco Ruiz Manuel Ángel Serrano Escuela Superior de Informá
Views 163 Downloads 5 File size 2MB
Programación con
Visual Basic .NET 1 – Plataforma .NET Francisco Ruiz Manuel Ángel Serrano Escuela Superior de Informá Informática Universidad de CastillaCastilla-La Mancha
Programació Programación con Visual Basic .NET
Contenidos sesión 1 • Plataforma .NET
Objetivos Estrategias de desarrollo e implantació implantación .NET Framework Entorno de Ejecució Ejecución comú común Biblioteca de clases comú común Tipos de aplicaciones
• Introducció Introducción al Visual Studio .NET (VS.NET)
Demo de uso
UCLM-ESI. Programación con Visual Basic .NET
• Primer programa: "Hola Mundo“ Mundo“
Creació Creación y ejecució ejecución Código generado Archivos en disco
• VS.NET Aspectos avanzados
Demo
• Segundo programa: “Preguntar usuario” usuario”
Escribiendo có código
1. 2
Plataforma .NET
• ¿Qué es .NET?
Una arquitectura tecnológica para la creación y distribución de software como servicio.
Servicio en cualquier plataforma, cliente en cualquier dispositivo, programació programación en cualquier lenguaje, integració integración basada en está estándares.
• ¿Qué incluye?
.NET Framework, infraestructura para la creación y ejecución de las aplicaciones. Visual Studio .NET, entorno de desarrollo integrado (IDE). Otros servicios.
UCLM-ESI. Programación con Visual Basic .NET
1. 3
Plataforma .NET
Objetivos fundamentales (i) Nueva
manera de desarrollar software
1996 Internet 1st Gen
1997 Internet 2nd Gen
2000 Internet 3rd Gen
IE/IIS DNA/COM+ 1992 Cliente/Servidor
.NET
Win32 UCLM-ESI. Programación con Visual Basic .NET
1. 4
Plataforma .NET
Objetivos fundamentales (ii)
• Soporte multi-lenguaje
La plataforma .NET es independiente del lenguaje
Es posible integrar otros lenguajes y crear otros compiladores
Todos los lenguajes .NET son considerados por igual Un Runtime único => mejor aprovechamiento de los conocimientos existentes Common Language Specification (CLS)
Lenguajes disponibles: disponibles:
Por Microsoft: Visual Basic, C++, C#, J# Por terceros: terceros: APL, COBOL, Pascal, Eiffel, Haskell, ML, Oberon, Perl, Python, Scheme, Smalltalk, Fortran, …
UCLM-ESI. Programación con Visual Basic .NET
1. 5
Plataforma .NET
Objetivos fundamentales (iii)
• Soporte
multilenguaje
UCLM-ESI. Programación con Visual Basic .NET
1. 6
Plataforma .NET
Objetivos fundamentales (iv)
• Soporte multi-plataforma
Proyecto Rotor
Common Language Infraestructure (CLI) Código fuente abierto, no comercial, modificable Compilar/ejecutar en FreeBSD, FreeBSD, Windows, Mac OS X http://msdn.microsoft.com /net/sscli sscli http://msdn.microsoft.com/net/
Proyecto Mono
Implementació Implementación open source del .NET Framework Compilador de C#, VB.NET, CLR, librerí librería de clases, etc. Linux, S390, SPARC, HPPA Implementa ADO.NET, ASP.NET, etc. www.gowww.go-mono.com
UCLM-ESI. Programación con Visual Basic .NET
1. 7
Plataforma .NET
Objetivos fundamentales (v)
• Basado en estándares
XML (XML (XML Schemas, Schemas, Xpath, Xpath, XSLT) Servicios Web
SOAP (Simple Object Access Protocol) Protocol) UDDI (Universal Description, , Description Discovery & Integration) Integration) WSDL (Web Service Description Language) Language)
Lenguaje intermedio comú común CIL Lenguaje de programació programación C#
UCLM-ESI. Programación con Visual Basic .NET
1. 8
Plataforma .NET
Estrategias de Desarrollo (i) • Facilitar la integració integración del software permitiendo
Diversas plataformas (Windows, UNIX, Mainframe) Diferentes middleware de componentes (DDE, COM, CORBA) Diferentes sistemas operativos
• Homogeneizar lenguajes mediante
Sistema de Tipos Comú Común Biblioteca de Clases base comunes
• Redefinir soluciones preexistentes como servicios • Simplificar la forma de programar mediante
Orientació Orientación a objetos plena: plena: clases, clases, interfaces, constructores, constructores, atributos, atributos, métodos, todos, herencia interinter-lenguajes, lenguajes, … Herramientas y entorno comunes para todos los desarrollos. Interoperabilidad prepre-construida (con COM, DLL’ DLL’s, etc.) Un Framework que libera al programador de muchas tareas: memoria, seguridad, etc.
UCLM-ESI. Programación con Visual Basic .NET
1. 9
Plataforma .NET
Estrategias de Desarrollo (ii)
Paradigma de desarrollo unificado API consistente independiente del lenguaje y el modelo de programació programación
.NET Framework RAD, Composició Composición, Delegació Delegación
VB Forms
OOP, Potencia, Potencia, Expresividad
MFC/ATL
Web, Está Estándar, ndar, En HTML
ASP
Windows API UCLM-ESI. Programación con Visual Basic .NET
1. 10
Plataforma .NET
Estrategias de Implantación (i) • Instalació Instalación de impacto cero
Aplicaciones y componentes compartidos o privados
Coexistencia de varias versiones del mismo componente
• Ejecució Ejecución “sideside-byby-side” side”
• Ensamblados (Assemblies)
Colecció Colección de funcionalidad creada, versionada e implantada como una unidad unidad de implementació implementación única (incluyendo uno o varios archivos) Son autodescriptivos En tiempo de ejecució ejecución se resuelven las referencias entre componentes, se garantiza la polí política de enlace de versiones y se valida la integridad de los ensamblados cargados. El Manifiesto (Manifest) contiene los metadatos del ensamblado incluyendo
la identidad del ensamblado los archivos que implementan el ensamblado las dependencias en tiempo de compilació compilación con otros ensamblados los tipos y recursos que forman el ensamblado el conjunto de permisos para ejecutarse apropiadamente
UCLM-ESI. Programación con Visual Basic .NET
1. 11
Plataforma .NET
Estrategias de Implantación (ii) • Ventajas de los Ensamblados:
No son necesarios má más archivos para usar el componente No má más archivos de cabeceras, IDL, librerí librerías de tipos, ... Se reduce la dependencia del Registro No má más “infierno de las DLLs” DLLs”: se evitan las faltas de sincronismo entre una librerí librería compartida respecto de la aplicació aplicación que la invoca Sistema de nombres robusto AutoAuto-reparació reparación de aplicaciones
UCLM-ESI. Programación con Visual Basic .NET
1. 12
.NET Framework (i)
• De cara al programador, es la pieza base de
.NET, ya que proporciona las herramientas y servicios para desarrollar el software:
Entorno de Ejecución Común (CLR) Biblioteca de clases básicas Motor de generación de interfaces de usuario
Web (ASP .NET) Tradicionales Windows (Windows Forms) Forms)
Especificación de Lenguaje Común (CLS)
UCLM-ESI. Programación con Visual Basic .NET
1. 13
.NET Framework (ii) VB
C++
C#
J#
Cobol…
ASP.NET
Windows Forms
ADO.NET and XML Base Class Library Common Language Runtime Windows UCLM-ESI. Programación con Visual Basic .NET
Visual Studio.NET
Common Language Specification
COM+ Services 1. 14
Entorno de Ejecució Ejecución Comú Común
Common Language Runtime (CLR) (i)
• Es un motor encargado de la gestión del código de las aplicaciones en cuanto a su
Carga Ejecució Ejecución Manipulació Manipulación de memoria Seguridad Etc.
En tiempo de ejecució ejecución
• Servicios que proporciona:
Gestió Gestión de memoria (incluida recolecció recolección de basura), gestió gestión de procesos, threads (hilos), garantizar seguridad, satisfacer dependencias sobre otros componentes.
En tiempo de desarrollo
Gestió Gestión del tiempo de vida, nominació nominación de tipos robusta, tratamiento de excepciones multilenguaje, multilenguaje, gestió gestión de eventos basada en delegados, enlace diná dinámico, ..
UCLM-ESI. Programación con Visual Basic .NET
1. 15
Entorno de Ejecució Ejecución Comú Común
Common Language Runtime (CLR) (ii) Sistema de Tipos Común (CTS) Soporte Threads
Componentes
Control Tipos
Gestor Excepciones
Motor Seguridad
Motor Depuración
Lenguaje Intermedio (IL)
Gestor de código
Recolector de basura
Carga de clases y disposición en memoria UCLM-ESI. Programación con Visual Basic .NET
1. 16
CLR
Lenguaje intermedio IL VB Código Nativo
VC
Código generado instalació instalación
...
Script
IL
Common Language Runtime “Econo” Econo”-JIT Compilador
Standard JIT Compilador
Código Nativo UCLM-ESI. Programación con Visual Basic .NET
1. 17
CLR
Compilación y ejecución Compilación Código Fuente
Compilador Lenguaje
Código nativo
Compilador JIT Ejecución
UCLM-ESI. Programación con Visual Basic .NET
Código IL
Ensamblado Metadatos
Al instalar o la primera vez que cada método es llamado 1. 18
CLR
Sistema de Tipos Común (CTS) (i)
• Common Type System
Conjunto está estándar de tipos y reglas para crear nuevos tipos Integració Integración multimulti-lenguaje: – – –
Heredar implementaciones de clases escritas en otros lenguajes Invocar excepciones de có código entre lenguajes Depurar transparentemente
¡No má más versiones de librerí librerías para cada lenguaje o compilador! ¡No má más librerí librerías de clases limitadas a un lenguaje concreto! Todas las implementaciones de clases, interfaces, estructuras, etc., nativas o creadas por el programador, son tipos .NET. Todos los tipos .NET son objetos. Dim sNombre As String sNombre = "coche" MessageBox.Show(sNombre.Length) ' devuelve 5
UCLM-ESI. Programación con Visual Basic .NET
1. 19
CLR
Sistema de Tipos Común (CTS) (ii)
• Categorías de tipos
UCLM-ESI. Programación con Visual Basic .NET
1. 20
CLR
Sistema de Tipos Común (CTS) (iii)
UCLM-ESI. Programación con Visual Basic .NET
1. 21
Biblioteca de clases común (i) System.Web Services Description Discovery Protocols Caching Configuration
System.WinForms
UI HtmlControls VBWebControls C++ C#
Design J#
ComponentModel Cobol…
System.Drawing
Common Language Specification Security Drawing2D Printing SessionState Imaging ASP.NET Windows Forms Text
System.Data ADO Design
Collections Configuration Diagnostics Globalization
ADO.NET and XML System.Xml SQL XSLT Serialization Base Class Library SQLTypes XPath Common Language Runtime Windows IO Net Reflection Resources
UCLM-ESI. Programación con Visual Basic .NET
System
COM+ Services Security Runtime InteropServices ServiceProcess Remoting Text Serialization Threading 1. 22
Biblioteca de clases común (ii) • Lo que vé el desarrollador
Un API formada por un conjunto de bibliotecas de clases comunes, orientadas a objetos, jerá jerárquicas y extensibles que
Las clases está están organizadas de forma ló lógica y jerá jerárquica en “namespaces” namespaces”
proveen soporte completo para la programació programación de diversos tipos de aplicaciones permiten herencia entre lenguajes, gestió gestión de errores y depuració depuración
System, System, XML, Data (ADO .NET), Drawing, Drawing, WinForms, WinForms, Web (ASP.NET) Facilita reutilizació reutilización Evita colisiones
No es necesario aprender mú múltiples modelos de objetos:
Visual C: MFC, Visual J++: WFC, Visual Basic: Fw
UCLM-ESI. Programación con Visual Basic .NET
1. 23
Especificació Especificación de Lenguaje Comú Común
Common Language Specification (CLS) VB
C++
C#
J#
Cobol…
Common Language Specification ASP.NET
• Conjunto de características •
comunes que deben cumplir todos los lenguajes. Su finalidad es • • •
Windows Forms
ADO.NET and XML Base Class Library Common Language Runtime Windows
COM+ Services
Independencia del lenguaje Integració Integración entre lenguajes Apertura a nuevos lenguajes
UCLM-ESI. Programación con Visual Basic .NET
1. 24
Tipos de Aplicaciones
• Aplicaciones normales:
De consola Windows Service (no interactiva) Windows Form (interactiva) Windows Control Library (biblioteca de controles)
• Aplicaciones para la web:
Web Application (aplicación web cliente-servidor) XML Web Service (servicio web)
UCLM-ESI. Programación con Visual Basic .NET
1. 25
Tipos de Aplicaciones
De Consola • • • •
Ejecutables de línea de comandos Escritos con cualquier lenguaje .NET Ejecución desatendida Muy ligeros
Hola Mundo ~ 5k
UCLM-ESI. Programación con Visual Basic .NET
1. 26
Tipos de Aplicaciones
Windows Service
• Aplicaciones windows no interactivas. • Escritas con cualquier lenguaje .NET • Incluyen el código para el comienzo, el fin y •
mientras se ejecuta. Tipos de comienzo:
Manual Automático Deshabilitado
UCLM-ESI. Programación con Visual Basic .NET
1. 27
Tipos de Aplicaciones
Windows Form
• Aplicaciones Windows interactivas • Basadas en formularios
p.e., interfaz a bases de datos
Con conectores y divisores entre “frames” frames”
• SDI/MDI (multidocumento) • Estilo Explorer • Instalación
XCopy NoNo-tocar (!todav (!todavíía más fácil que con XCopy!) XCopy!)
Ejecutar desde una URL
• Impresión
Configuració Configuración de páginas Previsualizació Previsualización
UCLM-ESI. Programación con Visual Basic .NET
1. 28
Tipos de Aplicaciones
Windows Control Library
• Usables en cualquier formulario con cualquier •
lenguaje. Derivados desde cualquier otro control
Extender controles .NET pre-construidos. Construir nuevos controles.
• Ejemplo:
Acceso a datos particularizado y ampliado.
UCLM-ESI. Programación con Visual Basic .NET
1. 29
Tipos de Aplicaciones
Web Application • Mucho menos código
Con Web Forms que con ASP clá clásico
• Estilo de programación a lo VB • Controles para validar entradas • Controles complejos mejorados
DataGrid DataList Calendar
Cookies no requeridos
• Sesiones seguras • • •
Traza y depuración mejoradas Caching más potente Más eventos detectables
UCLM-ESI. Programación con Visual Basic .NET
1. 30
Tipos de Aplicaciones
XML Web Service • Evolución de aplicaciones y sitios web
Interacciones seguras
• Nueva metodología de integración
Entre cualquier sistema operativo y/o lenguaje Olvidando procolos propietarios (Java RMI, CORBA IIOP, DCOM)
• Componentes de aplicación programables
Accesibles via protocolos Internet está estándares HTTP, XML, SOAP, WSDL, UDDI
• Soporte provisto por el Framework
Generació Generación automá automática de XML, SOAP, WSDL Conversió Conversión automá automática de un componente en Web Service (WebMethod) WebMethod)
UCLM-ESI. Programación con Visual Basic .NET
1. 31
VS.NET
Introducción al Visual Studio .NET • Entorno Integrado de Desarrollo (IDE) para .NET • Multi-lenguaje integrado
Lo mismo se hace siempre igual, independientemente del lenguaje.
• Permite elegir los tipos de aplicación • Abierto
se pueden añ añadir nuevos lenguajes o nuevas herramientas.
• Integración con arquitectura COM
UCLM-ESI. Programación con Visual Basic .NET
1. 32
Introducción al VS.NET
Demo de uso (i) • Página de inicio
Editar “Mi perfil” perfil” Ver “recursos en lílínea” nea” Proyectos (nuevo / abrir)
Aplicació Aplicación windows, windows, biblioteca de clases, servicio web, ...
• Crear nuevo proyecto
• Elementos principales del entorno
Menú Menú Barra de herramientas Ventana principal de trabajo
Fichas
Ventanas desplegables (pestañ (pestañas) Ventanas combinadas
UCLM-ESI. Programación con Visual Basic .NET
1. 33
Introducción al VS.NET
Demo de uso (ii)
• Agregar nuevos elementos a un proyecto
Windows Form, Form, Clase, Mó Módulo, Clase de componentes, Control de usuario, Dataset, Dataset, Archivo XML, ... hasta 33 diferentes
• Configuración del entorno • Estados de las ventanas
Acoplable / Ocultar / Flotante / Ocultar automá automáticamente
• Explorador de soluciones
Solució Solución: colecció colección de proyectos abiertos en una misma sesió sesión de trabajo. Para cada proyecto muestra sus elementos: Formularios, módulos, clases, recursos, referencias, etc.
References => referencias a los espacios de nombres usados AssemblyInfo.vb => informació información del Ensamblado
UCLM-ESI. Programación con Visual Basic .NET
1. 34
Introducción al VS.NET
Demo de uso (iii) • • • • •
Propiedades de un proyecto Propiedades de la solución Agregar un control a un formulario Menú contextual Ventana de propiedades
Formulario / control
UCLM-ESI. Programación con Visual Basic .NET
1. 35
Primer programa “Hola Mundo”
Creación y ejecución
1. Crear un nuevo proyecto de Visual Basic, tipo 2. 3.
“Aplicación para Windows” Añadir un formulario (clase de objeto visual) Editar sus propiedades text