Programación en Visual Basic .NET
Aplicaciones en Windows
P r o g r a m a ci ó n e n . N E T
Introducción
Introducción Introducción a Visual Basic .NET Qué es .NET ?
En primera instancia .NET parece ser sólo un concepto de marketing, una forma de evitar otro número al final de Visual Basic, pero es mucho más que eso. .NET representa todo un rango de tecnologías y conceptos que conforman una plataforma en la cual se pueden desarrollar aplicaciones. Microsoft .NET es una plataforma de desarrollo y ejecución de aplicaciones. Esto quiere decir que no sólo nos brinda todas las herramientas y servicios que se necesitan para desarrollar modernas aplicaciones empresariales y de misión crítica, sino que también nos provee de mecanismos robustos, seguros y eficientes para asegurar que la ejecución de las mismas sea óptima. .NET es la nueva tecnologia desarrollada y ofrecida por Microsoft que permite hacer mas fácil aún la construcción y desarrollo de programas y aplicaciones para Internet. La plataforma .Net es el conjunto de nuevos servicios que ofrece Microsoft para permitir que las aplicaciones aprovechen posibilidades como la Web con gran sencillez. La plataforma .NET es un amplio amplio conjun co njunto to de bibliotecas bibliotecas de desarrollo desarrollo que pueden ser utilizadas por otras aplicaciones para acelerar enormemente el desarrollo y obtener de manera automática características avanzadas de seguridad, “
rendimiento, etc...”
Pero en realidad .NET es mucho más que eso ya que ofrece un entorno gestionado de ejecución de aplicaciones, nuevos lenguajes de programación y compiladores, y permite el desarrollo de todo tipo de funcionalidades: desde programas de consola o servicios Windows hasta aplicaciones para dispositivos móviles, pasando por desarrollos de escritorio o para Internet, es decir Microsoft .NET es un conjunto de tecnologías de software, compuesto de varios lenguajes de programación que se ejecutan bajo el .NET Framework. Es además un entorno completamente orientado a objetos y que es capaz de ejecutarse bajo cualquier plataforma. En otras palabras la Plataforma .NET provee los cimientos para la nueva generación de software. Utiliza los Servicios Web como un medio para poder interoperar con distintas tecnologías. Permite conectar distintos sistemas operativos, dispositivos físicos, información y usuarios. Les da a los desarrolladores las herramientas y tecnol tecno logías para hacer rápidamente rápidamente sol so luciones de negoci negoc ios que involucran involucran di distintas aplicaciones, dispositivos físicos y organizaciones. La idea central detrás de la plataforma .NET es la de servicio. Más concretamente software como servicio y de cómo construir, instalar, consumir, integrar o agregar estos servicios para que puedan ser accedidos mediante Internet. Esto es posible 2|P a g e
P r o g r a m a ci ó n e n . N E T
Introducción
debido a que se cuenta con la infraestructura de comunicación global que es Internet cada vez más rápida y a un costo cada vez menor, y además, a la capacidad de los procesadores que continúa incrementándose año tras año. El usuario de Internet puede con un explorador de Internet no solamente acceder a contenido como texto, imágenes o sonido, también puede hacer uso de servicios Web. Estos son so n los los bloques bloques de co nstrucción nstrucción o componente co mponentess sobre los cuales cuales se basa el modelo de computación distribuida en Internet. La plataforma .NET permite usar Internet y su capacidad de distribución para que los usuarios accedan desde cualquier dispositivo, en cualquier sistema operativo y lugar a la funcionalidad que los servicios Web proveen. Los desarrolladores por su parte tienen la infraestructura y herramientas para crearlos y hacer uso de ellos en programas. Es decir, se trata de aprovechar la capacidad de distribución a gran escala de Internet para acceder a servicios de software. También se trata de aprovechar el incremento en la capacidad de procesamiento de los nuevos dispositivos móviles llamados "Smart Devices" (dispositivos inteligentes) para que el usuario haga uso de la funcionalidad que proveen lo lo s servi se rvicios cios Web con co n interfases cada c ada vez más sencill sencillas y naturales naturales como co mo la la voz o la escritura. El nuevo modelo de computación basado en Internet implica que la empresas no solamente tengan sitios donde el contenido puede ser accedido de manera visual como hasta ahora, con un explorador de Internet. Si quieren ser exitosas deben crear componentes que implementen servicios relacionados con su actividad para que usuarios o sitios los integren y utilicen. Por ejemplo, una aerolínea puede hacer componentes para la reserva de pasajes y desde una aplicación de una empresa de turismo llamar a este componente. O un usuario desde un dispositivo móvil (por ejemplo un celular) puede también invocar el componente de reserva de pasajes aéreos directamente para ver la disponibilidad y hacer reservaciones. La empresa turística puede exponer un servicio Web que incluya la llamada al servicio Web de la aerolínea. .NET reúne en una misma plataforma un conjunto interesante de características, como independencia de plataforma, independencia de lenguaje, soporte de bases de datos, soporte para XML, servicios Web y aplicaciones Web, entre otras, pero las más importantes de destacar son la independencia de lenguaje y la independencia de plataforma. Es importante mencionar con respecto a la independencia de lenguaje que bajo la plataforma .NET se puede desarrollar aplicaciones en múltiples lenguajes, pero lo más interesante, es que una aplicación puede tener diferentes partes desarrolladas en diferentes lenguajes, y todas estas pueden comunicarse entre sí, transparentemente, sin tener que utilizar ningún tipo de capa intermedia que posi pos ibil bilite esta es ta comuni co municación. cación. Esto permite a su vez una gran gran reutil reutilización de código, c ódigo, ya que las clases desarrolladas para un proyecto en un lenguaje concreto, podrían ser reutilizadas en un nuevo proyecto, independientemente del lenguaje en el que se desarrolle éste. 3|P a g e
P r o g r a m a ci ó n e n . N E T
Introducción
Y con respecto a la independencia de plataforma, se puede decir que el código .NET no se compila a código máquina, sino a un código en un formato intermedio, independiente de la plataforma. Esto permite llevar los binarios producidos de una plataforma a otra. Para que esto sea posible, en la plataforma .NET existe el Comm Co mmon on Language Language Runtime Runtime (CLR), (C LR), que se encarga de ejecutar el e l código intermedio intermedio o Common Intermediate Language (CIL). Para Resumir Net es básicamente:
La infraestructura .NET comprendida por: el Framework .NET , Microsoft Visual Studio .NET , .NET Enterprises Servers y Microsoft Windows Windows .NET . Servicios de Internet, (.NET Building Block Services) o la posibilidad de acceso por programa programa a ciertos servi s ervici cios os como co mo obtener la la temperatura temperatura actual en cualquier lugar del mundo, el valor de cambio actualizado de cualquier moneda, almacenamiento de archivos, comprobación de identidad, etc. Programas .NET que acceden a esto servicios.
Lo más visible de .NET es la infraestructura, a esto es a lo que uno hace referencia cuando dice .NET, y se trata de todas las tecnologías que conforman el nuevo entorno que permite a los desarrolladores crear y ejecutar aplicaciones. En definitiva .NET es entonces una nueva filosofía en cuanto a entornos de desarrollo. Este entorno puede utilizar varios lenguajes diferentes para escribir programas y todos se apoyarán en las herramientas que ofrece para conseguir aplicaciones .NET. El alma de este entorno es el .NET Framework.
En el diagrama se puede observar que la plataforma Microsoft.NET es denominada “de Ejecuci Ejecución ón Intermedi ntermedia” a” justamente justamente porque porque se ubi ubica entre entre el Sistema Sistema Operati Operativo vo y
las aplicaciones finales con las que interactúan los usuarios, actuando como intermediario entre ambos.
4|P a g e
P r o g r a m a ci ó n e n . N E T
Introducción
ARQUITECTRURA DEL .NET FRAMEWORK
Se podría dividi dividirr entonces ento nces el entorno .NET en las siguientes siguientes partes: partes :
NET Framework, que es el entorno de trabajo de la plataforma .NET y que la engloba completamente. Toda la plataforma .NET forma parte de .NET framework. Lenguajes Lenguajes .NET. Destacan C#, C #, VB.NET, VB.NET, J#, aunque aunque existen más má s lenguajes lenguajes.. El Common Runtime Language CRL, que es el motor de ejecución común a todos los lenguajes .NET. MSIL, Microsoft Intermedial language, es el lenguaje intermedio al que compilan las apliaciones (Asemmblies) .NET. Este lenguaje intermedio es interpretado interpretado por po r el CRL en tiempo tiempo de ejecución. CLS, Common Language Specification, que engloban las pautas que deben cumplir los lenguajes .NET. Es ésta característica la que va a permitir a otras compañi co mpañias as produci pro ducirr lenguajes lenguajes compatibl co mpatibles es co c o n .NET. .NET. ADO.NET, es la nueva interfaz de bases de datos. No se trata de una evolución de ADO, sino que se trata de una interfaz completamente nueva. ASP.NET, es la nueva tecnología para páginas web dinámicas completamente integrada integrada dentro del entorno .NET. Representa una auténtica auténtica revolu revo lución ción en el desarrollo desarrollo Web (I ( Internet e Intranet). Biblioteca de clases .NET, es el conjunto de clases que componen el .NET framework y que nos permiten realizar casi cualquier tarea de una manera fácil y rápida. En la actualidad existen varias versiones del Framework .NET, estas versiones han tenido mejoras sustanciales pero han mantenido la arquitectura.
5|P a g e
P r o g r a m a ci ó n e n . N E T
Introducción
Versiones Anteriores A nteriores a la la Tecnología Tecnología .NET
Visual Basic es un lenguaje de programación desarrollado por Alan Cooper para Microsoft. El lenguaje de programación es un dialecto de BASIC, con importantes añadidos. BASIC es un lenguaje de programación desarrollado por los estadounidenses John Dartm o uth Co C o llege. llege. La versión vers ión orig o riginal inal del Kemeny y Thomas Kurtz en el Dartmo lenguaje Basic fue creada en el año 1964 , un lenguaje que es fácil de aprender y usar por los principiantes, ganándose una enorme popularidad gracias sobre todo a dos implementaciones, Tiny BASIC y Microsoft BASIC, que convirtieron a este lenguaje en la la primera primera lengua franca de los los microordenadores. microo rdenadores. Su éxito lo llevó durante los siguientes años a tener un amplio séquito de seguidores seguidores y empresas em presas que generaron compil co mpiladores adores e intérpretes intérpretes para él. En esos tiempos, BASIC solía enseñarse a los programadores principiantes porque era "fácil " fácil"" de utili utiliz ar y de com c omprend prender, er, y además porque contení co nteníaa los los mismos conceptos fundamentales que muchos otros lenguajes considerados más "difíciles", como Pascal, C y COBOL, las cuales a su vez, eran muy populares entre los programadores, mientras que había una especie de desprecio hacia Basic, por tratarse de un lenguaje “para principiantes".
En 1975, cuando Microsoft nacía como empresa, uno de sus primeros productos, fue una versión muy exitosa del lenguaje BASIC. Microsoft BASIC, y su sucesor Quick BASIC (o QB también como se lo conoce), se convirtieron en las versiones más disponibles de BASIC para PC. Quick BASIC estuvo disponible para Windows cuando apareció, pero era difícil codificar una interfaz de tipo Windows con él, debido a que no estaba muy bien acoplado a este entorno. Visual Basic 1.0
Sin embargo, Microsoft lanzó un nuevo producto, uno que combinaba el lenguaje popular y fácil de usar BASIC con un entorno de desarrollo que permitía a los programadores generar graficamente la interfaz de usuario de un programa. Este producto, fue Visual Basic 1.0. Al principio no tuvo una buena aceptación, pero ofreció un entorno rápido para desarrollar una interfaz gráfica de usuario (GUI). A modo mo do de com c omentari entario o también existió una version version de Visual Basic para DOS, DOS, aunque aunque fue olvidada rápidamente.
6|P a g e
P r o g r a m a ci ó n e n . N E T
Introducción
La primera version de Visual Basic fue presentada en 1991 con la intención de simplificar la programación utilizando un ambiente de desarrollo completamente gráfico que facilitara la creación de interfaces gráficas y en cierta medida también la programación misma. Es interesante conoce co nocerr el por qué Visual Visual Basic Basic se llama llama Visual Basic. Lo de "VISUAL" "VISUAL" es sencillo de intuir por lo que la mayoría sabe a que se refiere, y esto es, a que es un lenguaje con un entorno visual, con un entorno gráfico, es decir, un lenguaje que inclu incluye ye una interfaz interfaz de desarroll desarro llo o gráfico. La otra parte es BASIC, BASIC, ¿ a qué exactamente se refiere cuando decimos BASIC o VISUAL BASIC ?. B.A.S.I.C. significa:
Beginner’s
All-purpose
Symbolic Instruction Code, es
decir, decir, Códi Có digo go de instrucciones de uso universal universal para principi principiantes. antes. Basic es un lenguage de programación que actúa como un intermediario entre el operador y el computador. Mediante el vocabulario y las reglas Basic, se le ordena al computador lo que se quiere que haga y el PC transforma estas instrucciones para poder ejecutarlas. BASIC BASIC es traducido traducido a códi có digo go binari binario, o, también se puede escri es cribi birr programas en códi có digo go binario binario pero es muy dificil dificil por po r eso crearon el Basic. Es así que, construir estas aplicaciones ricas en gráficos no era un proceso trivial antes de la la introducc introducciión de Visual Visual Basic Basic 1.0. Las antiguas antiguas aplicaci aplicaciones ones de MS-DOS MS- DOS mucho distaban ya de las modernas y visuales de Windows, pero, claro, hacer apli aplicaciones para ese nuevo sistema o perativo perativo era un real privi privillegio egio , que muy pocos estudiosos de la programación en C podían experimentar. Ese año, Visual Basic 1.0 vio la luz, y revolucionó el desarrollo de aplicaciones para Windows, especialmente por su facilidad y por la rapidez con la que permitia crearlas. Usando Visual Basic, los programadores podían, por primera vez, 7|P a g e
P r o g r a m a ci ó n e n . N E T
Introducción
implementar aplicaciones de Windows en un ambiente intuitivo y gráfico, simplemente arrastrando controles sobre un formulario. Inicialmente, Visual Basic fue pensado para ser un producto muy táctico. Microsoft tenía varias iniciativas en el desarrollo que lideraba Visual Basic 1.0, todas fueron pensadas para convertirse en las herramientas de programación a largo plazo, estratégicas, gráficas y orientadas a objetos. Como siempre ocurre con los productos en su versión 1.0, el equipo de Visual Basic 1.0 fue forzado a cortar características de su larga lista de ideas para entregar realmente el producto al mercado. mercado . Consecuentemente, Co nsecuentemente, la primera primera versión inclu incluyó yó poco poc o más que la la tecnología tec nología Embedded Basic que había sido desarrollada originalmente en Microsoft QuickBasic 4.0 y una herramienta compiladora de diseño simple originalmente diseñada para Window Windowss 3.0 3 .0 pero que nunca nunca fue utili utilizz ada para tal ta l fin. fin. La popularidad de Visual Basic creció con el tiempo. Una simple característica fue fundamental para su éxito: la facultad de que Microsoft, el programador y otras personas generaran componentes personalizados que podían agregarse a los programas. Las empresas rápidamente se concentraron en este mercado y generaron componentes para agregar diversas características a las aplicaciones de Visual Visual Basic, como co mo la graficación, graficación, el procesam proc esamien iento to de imágenes, las conexi co nexio o nes por módem, entre otras. Estos componentes permitieron al programador de Visual Basic generar aplicaciones más potentes con la combinación de diversos componentes con su propio código. Esto aumentó en gran medida el desarrollo rápido con Visual Basic, y contribuyó para que se convirtiera en uno de los lenguajes de programación más populares y ayudó a Visual Basic a pasar de ser un logro de software a convertirse en un descubrimiento tecnológico. Aproximadamente 12 meses después, el desarrollo y mejora de la versión 1.0 comenzó, Microsoft sacó al mercado una herramienta desarrolladora para cubrir la exigencia en ese momento del mercado cuyo nombre en clave fue "Thunder"(Trueno). Desde el inicio bastante desfavorable vino un resultado igualmente difícil de comprender: un impacto en la industria informática tan profundo que cambió para siempre el curso del desarrollo del software y creó una explosión en el mercado de las aplicaciones aplicaciones de Window Windows. s. Años más m ás tarde, parece muy obvio pero en esa época, cuando solamente un pequeño y selecto grupo de personas, era capaz de desarrollar aplicaciones para Windows, Visual Basic 1.0 representó un cambio gigantesco gigantesco en el diseño diseño de aplicaciones aplicaciones.. Visual Basic 2.0
Cuando aún no había pasado un año de su salida inicial al mercado, Visual Basic ya había evolucionado rápidamente a un kit desarrollador altamente estratégico. Microsoft había comenzado a utilizar Visual Basic internamente en algunos de sus propios proyectos que estaba desarrollando. A medida que la demanda de Visual Basic aumentaba, quedaba claro que los los desarrolladores desarrolladores requerirí requerirían an un Visual Visual Basic mejor y más capacitado. Para tratar a esta necesidad creciente, Microsoft 8|P a g e
P r o g r a m a ci ó n e n . N E T
Introducción
anunció la disponibilidad de Visual Basic 2.0 en noviembre de 1992. La segunda versión de Visual Basic, distribuida en la edición estándar y profesional, proveía a los desarrolladores un funcionamiento perceptiblemente mejorado y mayor capacidad para crear aplicaciones de tamaño mayor y más sofisticadas. Incluía también una ayuda para mejorar la puesta a punto y depuración, proveía de la capacidad de conectarse a bases de datos mediante ODBC, y nuevas y productivas herramientas, herramientas, por ejemplo, la ventana de propiedades, propiedades, sintaxis sintaxis del del códi có digo go en color, co lor, y completo soporte para la Interfaz de Múltiples Documentos (MDI).
Visual Basic 3.0
Mientras la adopción de Visual Basic en las corporaciones se expandía, también lo hacía la necesidad de una herramienta para el desarrollador que permitiera aplicaciones data-aware robustas y a que nos referimos cuando hablamos de dataaware, simplemente a que por ejemplo los componentes visuales de base de datos son los que ponemos directamente en la forma para desplegar información y permitir al usuario editarla. Todos los componentes de este tipo son llamados "Data-aware", y tienen el prefijo "DB". De este modo, un componente de edición "Edit" en su versión "Data Aware" es llamado "DBEdit". ComboBox se convierte en "DBComboBox". Muchos de los componentes visuales (Incluyendo el Grid) tienen una versión "Data Aware". Aw are". Además, cual c ualqui quier er programador programado r puede puede crear sus propi pro pios os componentes data aware. Visual Basic 3.0, anunciado solamente seis meses después de la salida al mercado de la versión 2.0, solucionaba esta necesidad combinando el motor de la base de datos de Microsoft Access 1.1 con un conjunto rico de controles data-aware. Por primera primera vez, vez , los desarroll desarro lladores adores podían conectar conecta r fácilmente fácilmente a las bases base s de datos dato s en un ambiente cliente/servidor usando un diseñador visual intuitivo. La complementación de estas características era los Data Access Object (Objetos de 9|P a g e
P r o g r a m a ci ó n e n . N E T
Introducción
Acceso a Datos) (DAO), un un compl com pleto eto paquete paquete de los objetos o bjetos que proporcionaban proporcionaban al acceso mediante código a la base de datos. Finalmente, Visual Basic 3.0 amplió la capacidad de la herramienta de desarrollo incluyendo los Crystal Reports, un motor para visuali visualizz ar datos dato s extraídos en una variedad variedad de formato s personal perso nalizables. izables.
Visual Basic 4.0
En los años venideros, la industria informática comenzaría a abrazar el movimiento a la programación en 32-bits. La salida al mercado de Microsoft Windows 95 y de Microsoft Windows NT condujeron a esta adopción y destacó la necesidad de herramientas de desarrollo más potentes que podrían soportar la nueva arquitectura. arquitectura. Fue entonces cuando c uando la la revista revista Windows Watcher señaló que Visual Visual Basic estaba adoptado por más compañías (30 por ciento) que cualquier otro lenguaje de programación. Llevar una base instalada tan grande del desarrollo de aplicaciones en 16-bits a 32-bits sería una tarea de migración importante, pero aseguraría la existencia prolongada del lenguaje de programación Visual Basic y de su comunidad. La versión 32-bit de Visual Basic- versión 4.0-fue anunciada en septiembre de 1995 e incluía la edición estándar y profesional así como una nueva edición destinada al nivel empresarial y el desarrollo en equipo. La edición empresarial ofrecía nuevas capacidades tales como automatización remota, control de datos remoto, y una versión integrada de Microsoft Visual SourceSafe para la dirección dirección de la co nfiguraci nfiguració ó n y realiz realiz ación de diferentes diferentes versiones. En la versión 4.0 podía generar programas de 16 y 32 bits a partir de un mismo código fuente, a costa de un gran aumento en el tamaño de los archivos "Runtime" necesarios.
10 | P a g e
P r o g r a m a ci ó n e n . N E T
Introducción
Visual Basic 5.0
Cada versión mejo m ejorada rada de Visual Visual Basic agregó caracterí caract erísticas sticas que la la convi co nvirti rtieron eron en una herramienta de desarrollo totalmente capaz. Un cambio en particular importante era la forma en que los programas de Visual Basic eran ejecutados. Hasta que se presentó la versión 5.0 en marzo de 1997, Visual Basic era un lenguaje interpretado, que resultó en un bajo rendimiento comparado con el de Visual C++, Delphi y otros lenguajes compilados. Visual Basic 5.0 hizo posible la generación de versiones compiladas o interpretadas de las aplicaciones, y el rendimiento se mejoró en forma considerable. Características de la versión 5.0 1. Generales: 1. Los ficheros .EXE generados son más pequeños y más rápidos. 2. Visual Basic 5.0 proporciona un marco de aplicaciones propio(C propio(Control ontrol Development Development framework) y ya no está basado en el marco proporcionado por MFC. 3. Se proporcionan Wizards de todo tipo: Application Wizard, Class Builder Add-in, ActiveX Control Wizard, Data Form Wizard, Setup Wizard, PropertyPage Wizard, Wizard Manager, etc. 2. Controles: 1. Nuevos controles, tales como Animation, Chart, MSFlexGrid, Internet Tranfer, WebBrowser, WinSock, etc. 2. La mayor parte de los controles admiten la técnica de "arrastrar y soltar" so ltar" (drag & drop) entre aplicaciones aplicaciones OLE. 3. Información sobre los controles (ToolTips). Con ello, se puede visualizar cualquier texto sobre un objeto cuando el puntero del ratón se deje sobre él. 4. Nuevas Nuevas opci o pciones ones de formato, formato , como co mo por ejemplo, ejemplo, dimensi dimensionamien onamiento to y alineamiento de grupos de controles. 11 | P a g e
P r o g r a m a ci ó n e n . N E T
Introducción
3. Implementación interna: 1. Versión 2.0 de RDO (Remote Data Objects): sobre todo ofrece mejoras en tamaño y rendimiento. 2. Compilador de código nativo: Por fin es posible crear ejecutables con código nativo en Visual Basic 5.0. De esta forma aumenta bastante la rapidez en la ejecución. No obstante, se puede compilar utilizando el código P tradicional. 3. El soporte de clases se ha mejorado: Con Friend un método está disponible para todas las clases de un proyecto, con Implements se crean interfaces de clase. También es posible generar y recibir eventos definidos por el usuario, y se pueden incluir formularios no modales en DLL. Una propiedad de clase puede ser marcada como propiedad por defecto (al igual que para controles). 4. Otras características nuevas del lenguaje: Debug.Assert permite verificar la ejecución de código desde el entorno de desarrollo, sin que ello afecte al fichero .EXE. AddressOf permite subclasificar ventanas y realizar llamadas de tipo callback a funciones API de Win32. El tipo Decimal basado en Variant aumenta el grado de precisión. 5. Objetos globales: Es posible crear clases sin declararlas o instanciarlas. Es decir, no es necesario declarar un New Clase1 para hacer uso uso de Clase1.
Visual Basic 6.0
Visual Basic 6.0 fue lanzado al mercado en junio de 1998 y forma parte de un paquete de lenguajes y herramientas para el desarrollo de aplicaciones bajo la plataforma Windows. Dicho paquete se conoce con el nombre de Visual Studio e incluye: Visual Basic 6.0, Visual C++ 6.0, Visual FoxPro 6.0, Visual InterDev 6.0, Visual Visual J++ 6.0, y muchas m uchas unidades unidades más. más . 12 | P a g e
P r o g r a m a ci ó n e n . N E T
Introducción
Visual Basic 6.0 es un lenguaje de programación visual, también llamado lenguaje de 4ª generación. Esto quiere decir que un gran número de tareas se realizan sin escribir código, simplemente con operaciones gráficas realizadas con el ratón sobre la pantalla. Es también un un programa basado en objetos, objetos , aunque aunque no ori o rientad entado o a objetos como com o C++ o Java. La diferencia está en que Visual Basic 6.0 utiliza objetos con propiedades y métodos, pero carece de los mecanismos de herencia y polimorfismo propios propios de los los verdader verdaderos os lenguajes enguajes orientad orientados os a objetos o bjetos como co mo Java y C++. C ++. Visual Basic no es solo un producto, también es tecnología aplicada: Su parte "Visual" está basada en tecnología orientada a objetos, su parte "Basic" es de tipo procedural, y la mezcla de estas dos tecnologías dan lugar a productos híbridos, orientados orientados a eventos. eventos . Visual Basic 6.0 está orientado a la realización de programas para Windows, pudiendo incorporar todos los elementos de este entorno informático: ventanas, botones, cajas de diálogo y de texto, botones de opción y de selección, barras de desplazamiento, gráficos, menús, etc. Prácticamente todos los elementos de interacción con el usuario de los que dispone Windows 95/98/NT pueden ser programados en Visual Basic 6.0 de un modo muy sencillo. En ocasiones bastan unas pocas operaciones con el ratón y la introducción a través del teclado de algunas sentencias para disponer de aplicaciones con todas las características de Windows 95/98/NT. Las versiones de Visual Basic tanto la 5.0 como la 6.0 representaron un paso importante hacia dar posibilidad a los desarrolladores en Visual Basic a programar en los nuevos niveles del funcionamiento en el ambiente libre que representa Internet. Las características características tales como co mo el compi com pilad lador or del códi có digo go nativo nativo introdujeron introdujeron aumentos del funcionamiento de hasta el 2.000 por ciento. El Webclass designer (diseñador de clases Web) simplificó la creación de las aplicaciones del Web proporcionando un modelo intuitivo del objeto para el servidor web. Y el diseñador de páginas DHTML DHTML permitió permitió la creación de aplicaci aplicacio o nes para Microsoft Microso ft Internet Internet Explorer 4.0- que combinaron la riqueza de HTML dinámico (DHTML) con el funcionamiento y la productividad de Visual Basic. Finalmente, con la Control Creation Edition (Edición de Creación de Controles), los desarrolladores de Visual Basic podrían construir fácilmente los controles Microsoft ActiveX de alto rendimiento rendimiento y con co n un amplio amplio alcance que estaban destin des tinados ados a Internet. Internet. Este lenguaje resulta ideal para crear aplicaciones de uso general, como por ejemplo:
13 | P a g e
Aplicac Aplicaciones iones y utili utilita tarios rios para Windo Window w s de cualquier cualquier índole. índole. Aplicaciones que manejen bases de datos de pequeño y mediano tamaño (por ejemplo, las basadas en el motor Jet de Microsoft, implementada en el conocido Access). Apli Aplicaciones multimedia multimedia o publicaciones publicaciones electrónicas en CD. C D. Juegos sencillos.
P r o g r a m a ci ó n e n . N E T
Introducción
Ediciones Ediciones de Visual Basic 6.0
Visual Basic posee tres ediciones, cada una de las cuales está orientada a unos requisitos de programación específicos.
Edición de Aprendizaje : Permite a los programadores crear aplicaciones
robustas para Microsoft Windows. Incluye el CD "Aprenda Visual Basic ya" junto junto con el "MSDN", que que es la documentación documentación compl co mpleta eta en pantal pantallla de Microsoft.
Edición Profesional: Está pensado para profesionales, contiene las
herramientas que permiten desarrollar aplicaciones para terceros. Incluye todas las características de la edición de aprendizaje, así como incorpora "ActiveX Visual Database Tools and Data". Incluye además el libro "Características empresariales de Visual Studio", y los CDs de Microsoft Network que contienen documentación completa en pantalla.
14 | P a g e
P r o g r a m a ci ó n e n . N E T
Introducción
Edición Empresarial: Permite a los profesionales crear sólidas aplicaciones
distribuidas en un entorno de equipo. Incluye todas las características de la "Edición Profesional", SQL Server, IIS, SNA Server, Visual SourceSafe, etc. Incluye ncluye el mismo material de de documentación do cumentación que la edición edición profesi profes ional.
Visual Basic 6.0 combina la sencillez de Basic con el poder de un lenguaje de programación visual que que permite desarroll desarro llar ar robustas apli aplicaciones de 32 bits. bits. Visual Basic ya no es solo un lenguaje para los mas novatos, sino que representa una excelente alternativa para programadores de todos los niveles. Se han agregado nuevas características a Visual Basic, pero todo se ha generado con base en lo ya existente. Esto no es extraño. La mayoría de las herramientas de desarrollo evoluciona de esta forma, pero esto tiene un desafortunado efecto 15 | P a g e
P r o g r a m a ci ó n e n . N E T
Introducción
colateral de arrastrar basura. Las nuevas versiones de una herramienta intentan conservar la compatibilidad con todos los aspectos de las versiones anteriores. Es casi inconcebible volver a escribir un lenguaje desde el inicio. El trabajo requerido sería enorme, y no es bueno romper la compatibilidad con el código existente del usuario. El beneficio de este cambio sería una implementación totalmente limpia y nueva que podría mantener m antener lo lo bueno y deshacerse del lastre lastre del lenguaje. lenguaje. Eso es exactamente lo que Microsoft hizo al ir de Visual Basic 6.0 a Visual Basic .NET Visual Basic .NET
Los Formularios de Windows con formas, los ricos gráficos, las construcciones orientadas al objeto, y la integración del servicio Web de XML son todo parte de Visual Basic .NET. A través de los años, Visual Basic ha evolucionado de un juguete de un aficionado a una herramienta imprescindible que continúa cambiando el mundo. Ha revolucionado la manera que se trabaja con la información, la manera de comunicarse, y la forma en la que se construyen aplicaciones. Visual Basic .Net tiene una gran cantidad de características nuevas y mejoradas como la herencia, las interfaces y la sobrecarga que la convierten en un lenguaje eficaz de programación orientado a objetos. Otras características nuevas del lenguaje son el subprocesamiento libre y el control de excepciones estructurado. Visual Basic integra .NET Framework y Common Language Runtime completamente, que conjuntamente proporcionan interoperabilidad del lenguaje, recolección de elementos no utilizados, seguridad ampliada y compatibilidad de versiones versiones mejorada. Visual Basic .Net admite herencia única y crea lenguaje intermedio de Microsoft (MSIL) como entrada de compiladores de código nativo. Visual Basic .Net es, comparativamente, co mparativamente, fácil fá cil de aprender y utilizar, utilizar, y se s e ha converti co nvertido do en el lenguaje lenguaje de programación elegido por cientos de programadores. El conocimiento de Visual Basic se puede aprovechar de distintas maneras, por ejemplo, escribiendo macros en Visual Studio o programando en aplicaciones como Microsoft Excel, Access y Word. Wo rd. Visual Visual Basi Bas ic proporciona propo rciona prototip proto tipos os de algun algunos os de los los tipos de proyecto proyec toss más má s comunes, incluyendo: Aplicación para Windows, Biblioteca de clases, Biblioteca de control de Windows, Aplicación Web ASP.NET, Servicio Web ASP.NET, Biblioteca de control Web, Aplicación de consola, Servicio de Windows. Las versiones anteriores de Visual Basic estaban orientadas a aplicaciones cliente de Microsoft Windows. Visual Basic .NET está pensado para crear además aplicaciones de servicio Web XML. Para este propósito, Visual Basic .NET genera código administrado para Common Language Runtime. Esto supone cambios en el propio lenguaje. Los cambios en Visual Basic .NET están proyectados para: Simplificar Simplificar el lenguaje lenguaje y hace hacerl rlo o más coherente. co herente. Agregar nuevas caracte caracterí rísticas sticas soli so licitadas citadas por usuarios usuarios.. 16 | P a g e
P r o g r a m a ci ó n e n . N E T
Introducción
Hacer el códi có digo go más m ás sencil s encillo lo de leer y mantener. Ayudar a los programadores a evitar los errores de programación. Crear aplicaciones aplicaciones más sóli só lidas das y más sencill sencillas de depurar. depurar. Visual Basic .NET ofrece numerosas características nuevas y mejoradas, como herencia, interfaces y sobrecarga, que lo convierten en un eficaz lenguaje de programación orientado a objetos. Con Visual Basic, ahora se puede crear aplicaciones multiproceso y escalables utilizando subprocesamiento múltiple explícito. Otra característica nueva de Visual Basic .NET incluye el control estructurado de excepciones, atributos personalizados y compatibilidad con CLS (Comm (Co mmo o n Language Language Specifi Specification, cation, Especificación Especificación de lenguajes lenguajes comunes). co munes). CLS es un conju co njunto nto de reglas reglas que estandari estandarizz a cosas co sas como co mo tipos tipos de datos y el modo mo do en que se exponen e interoperan los objetos. Visual Basic .NET agrega varias características que aprovechan las ventajas de CLS. Cualquier lenguaje compatible con CLS puede utilizar las clases, los objetos y los componentes que se crean en Visual Basic .NET. Y el usuario de Visual Basic, puede tener acceso a las clases, los componentes com ponentes y los objetos desde otros o tros lenguajes enguajes de programación compati co mpatibl bles es con CLS sin tener en cuenta diferencias específicas del lenguaje como los tipos de datos. Las características de CLS que utilizan los programas de Visual Basic .NET son los ensamblados, espacios de nombres y atributos. Visual Basic .NET ofrece numerosas características de lenguaje orientado a objetos nuevas o mejoradas como la herencia, la sobrecarga, la palabra clave Overrides, interfaces, miembros comparti com partidos dos y co nstructores. nstructores. Visual Basic .NET 2002 (VB 7.0)
Si Visual Basic .NET debe considerarse una mera versión de Visual Basic, o si debe considerarse como un nuevo lenguaje de programación es un tema que ha traído mucha discusión, y que aún la trae. A pesar de que la sintaxis básica es prácticamente la misma entre VB y VB.NET, con la excepción de los añadidos para soportar nuevas características como el control estructurado de excepciones, la programación orientada a objetos, o los Genérico Genéricos, s, las diferenci diferencias as entre VB y VB.NET VB.NET son so n profundas, sobre so bre todo to do en cuanto a metodología de programación y bibliotecas, pero ambos lenguajes siguen manteniendo un gran parecido, cosa que facilita notablemente el paso de VB a VB.NET. El 13 de febrero de 2002 20 02,, nacio ofi o ficial cialmente mente Visual Basic Basic .NET, junto con co n el resto de la familia de Visual Studio .NET. Visual Basic .NET no es un simple upgrade; es un cambio realmente profundo y radical, puesto que supone la introducción de la plataforma .NET de microsoft y por eso lo convierte en uno de los lenguajes mas poderosos de la actualidad, con características avanzadas, como verdadera orientación a objetos, multi-threading, y la posibilidad de crear Web Services, por nombrar solo tres aspectos, fue la primera versión de Visual Studio en introducir el 17 | P a g e
P r o g r a m a ci ó n e n . N E T
Introducción
framework .NET. Esta versión de Visual Studio introdujo, junto con el Framework .NET tres nuevos nuevo s lenguajes lenguajes de programación, pro gramación, C#, VB.NET y Visual J#. En esta primera versión de Visual Studio .NET se podían programar aplicaciones Windows.Forms (aplicaciones de escritorio) y aplicaciones ASP.NET (Aplicaciones Web). Como se mencionó antes en esta versión se produjo un cambio sustancial, .NET es una plataforma de ejecución intermedia multilenguaje, de forma que los programas desarrollados en .NET no se compilan en lenguaje máquina, sino en un lenguaje intermedio (CIL - Common Intermediate Language) denominado Microsoft Intermediate Language (MSIL). En una aplicación MSIL, el código no se convierte a lenguaje máquina hasta que ésta se ejecuta, de manera que el código puede ser independiente de plataforma (al menos de las soportadas actualmente por .NET). Las plataformas han de tener una implementación de Infraestructura de Lenguaje Común (CLI) para poder ejecutar programas MSIL. Actualmente se pueden ejecutar programas MSIL en Linux y Mac OS X usando implementaciones de .NET que no son de Microsoft, tales cómo Mono y DotGNU. Visual Studio .NET 2002 supuso también la introducción del lenguaje C#, un lenguaje nuevo diseñado específicamente para la plataforma .NET, basado en C++ y Java. Se presentó también el lenguaje J# -sucesor de J++- el cual, en lugar de ejecutarse en una máquina virtual de Java, se ejecuta únicamente en el framework .NET. El lenguaje Visual Basic fue remodelado completamente y evolucionó para adaptarse a las nuevas características de la plataforma .NET, haciéndolo mucho más versátil y dotándolo con muchas características de las que carecía. Algo similar se llevó a cabo con C++, añadiendo extensiones al lenguaje llamadas Managed Extensions for C++ con el fin de que los programadores pudieran crear programas en .NET. Por otra parte, Visual FoxPro pasó a ser comercializado por separado. Todos los lenguajes se unifican en un único entorno. La interfaz se mejora notablemente en esta es ta versión, siendo más m ás limpia limpia y personal perso nalizable. izable. Visual Studio .NET puede usarse para crear programas basados en Windows (usando Windows Forms en vez de COM), aplicaciones y sitios web (ASP.NET y servicios servicios web), w eb), y dispos disposiitivos tivos móvi mó villes (usando el .NET Compact Co mpact Framewo F ramework). rk). Esta versión requiere un sistema operativo basado en NT. NT. La versión interna de Visual Studio .NET es la 7.0.
Visual Basic .NET 2003 (VB 7.1)
Visual Studio .NET 2003 supone una actualización menor de Visual Studio .NET. Se actualiza el .NET Framework a la version 1.1. También se añade soporte con el fin de escribir aplicaciones para determinados dispositivos móviles, ya sea con 18 | P a g e
P r o g r a m a ci ó n e n . N E T
Introducción
ASP.NET o con el .NET Compact Framework. Además el compilador de Visual C++ se mejora para cumplir con más estándares, el Visual C++ Toolkit 2003. Visual Studio 2003 se lanza en 4 ediciones: Academic, Professional, Enterprise Developer, y Enterprise Architect. La edición Enterprise Architect incluía una implentación de la tecnología de modelado Microsoft Visio, Visio , que se centraba en la creación de representaciones visuales visuales de la arquitectura arquitectura de la apli aplicación basadas basa das en UML. UML. También se introdujo "Enterprise Templates", para ayudar a grandes equipos de trabajo a estandarizar estilos de programación e impulsar políticas de uso de componentes y asignación de propiedades. Microsoft lanzó el Service Pack 1 para Visual Studio 2003 el 13 de Septiembre de 2006. La versión interna de Visual Studio .NET 2003 es la 7.1 aunque el formato del archivo archivo es 8.0.
Visual Basic .NET 2005 (VB 8.0)
Visual Studio 2005 se empezó a comercializar a través de Internet a partir del 4 de Octubre de 2005 y llegó a los comercios a finales del mes de Octubre en inglés. En castellano no salió hasta el 4 de Febrero de 2006. Microsoft eliminó .NET, pero eso no indica que se alejara de la plataforma .NET, de la cual se incluyó la versión 2.0. La actualización más importante que recibieron los lenguajes de programación fue la inclusión de tipos genéricos, similares en muchos aspectos a las plantillas de C#. Con esto se consiguió encontrar muchos más errores en la compilación en vez de en tiempo de ejecución, incitando a usar comprobaciones estrictas en áreas donde 19 | P a g e
P r o g r a m a ci ó n e n . N E T
Introducción
antes no era posib pos ible. le. C++ tiene tiene una actualiz actualiz ación similar similar con co n la la adición adición de C++/CLI C ++/CLI como sustituto de C# manejado. Se incluyó un diseñador de implantación, que permite que el diseño de la aplicación sea validado antes de su implantación. También se incluyó un entorno para publicación web y pruebas de carga para comprobar el rendimiento de los programas bajo varias condiciones de carga. Visual Studio 2005 también añadió soporte de 64-bit. Aunque el entorno de desarrollo sigue siendo una aplicación de 32 bits Visual C++ 2005 soporta compilación para x86-64 (AMD64 e Intel 64) 64) e IA-64 (Itanium). (Itanium). El SDK incluyó compiladores de 64 bits así como versiones de 64 bits de las librerías. Visual Studio 2005 tiene varias ediciones radicalmente distintas entre sí: Express, Standard, Professional, Tools for Office, y 5 ediciones Visual Studio Team System. Éstas últimas se proporcionaban conjuntamente con suscripciones a MSDN cubriendo los 4 principales roles de la programación: Architects, Software Developers, Testers, y Database Professionals. La funcionalidad combinada de las 4 ediciones Team System se ofrecía como la edición Team Suite. Las ediciones Express se diseñaron para principiantes, aficionados y pequeños negocios, todas disponibles gratuitamente a través de la página de Microsoft, se incluyó una edición independiente para cada lenguaje: Visual Basic, Visual C++, Visual C#, Visual J# para programación .NET en Windows, y Visual Web Developer para la creación de sitios web ASP.NET. Las ediciones express carecían de algunas herramientas avanzadas de programación así cómo de opciones de extensibilidad. Se lanzó el service Pack 1 para Visual Studio 2005 el 14 de Diciembre de 2006. La versión interna de Visual Studio 2005 es la 8.0, mientras que el formato del archivo es la 9.0.
Visual Studio 2005 Beta 1 20 | P a g e
P r o g r a m a ci ó n e n . N E T
Introducción
Visual Studio 2005 Beta 2
Visual Studio Express Edition
Visual Visual Basic 2005 200 5 Express Edition Edition Beta 2
21 | P a g e
P r o g r a m a ci ó n e n . N E T
Introducción
Visual Visual Studio Studio 200 2 005 5 Professional Profe ssional Edi Edition tion
Visual Studio .Net Enterprice Architect Visual Basic Express Edition
A partir de la introducción en el mercado de la versión 2005 de Visual Studio, como se mencionó anteriormente, Microsoft publicó lo que se conoce como ediciones Express de distintos programas. Las versiones Express contenían versiones limitadas pero gratuitas, pensadas para usos no profesionales (principiantes, aficionados y pequeños negocios), existiendo una edición independiente para cada lenguaje. Visual Basic Express Edition fue una versión de Visual Studio limitada. Esta versión permite sólo programar en VB.NET, y además limita el tipo de proyectos que se pueden desarrollar. Visual Web Developer Express Edition permite programar páginas ASP.NET en VB. Se lanzó el service Pack 1 para Visual Studio 2005 el 14 de diciembre de 2006. 22 | P a g e
P r o g r a m a ci ó n e n . N E T
Introducción
Visual Studio 2008 (VB 9.0)
Visual Studio 2008 (antes llamado Orcas Code Name) fue publicado el 17 de Noviembre de 2007 en inglés, mientras que la versión en castellano no fue publicada hasta el 2 de Febrero de 2008. El nuevo framework (.Net 3.5) estaba diseñado para aprovechar las ventajas que ofrecía el nuevo sistema operativo "Windows Vista" a través de sus subsistemas "Windows "Windows Com C ommuni munication cation Foundati Foundation" on" (WCF) y "Windows "Windows Presentati Presentation on Foun Fo undati dation" on" (WPF). El primero tuvo como objetivo la construcción de aplicaciones orientadas a servicios mientras que el último apuntaba a la creación de interfaces de usuario más dinámicas que las conocidas hasta el momento. A las mejoras de desempeño, escalabilidad y seguridad con respecto a la versión anterior, anterior, se agregan entre otras, ot ras, las sigui siguientes entes novedades. no vedades.
La mejora en las capacidades de Pruebas Unitarias permitían ejecutarlas más rápido independientemente de si lo hacían en el entorno IDE o desde la línea de comandos. Se incluyó además un nuevo soporte para diagnosticar y optimizar el sistema a través de las herramientas de pruebas de Visual Studio. Con ellas se podrían ejecutar perfiles durante las pruebas para que ejecuten cargas, prueben procedimientos contra un sistema y registren su comportamiento; y utilizar herramientas integradas para depurar y optimizar. Con Visual Studio Tools for Office (VSTO) integrado con Visual Studio 2008 fue posible desarrollar rápidamente aplicaciones de alta calidad basadas en la interfaz de usuario (UI) de Office que personalicen la experiencia del usuario y mejoren su productividad en el uso de Word, Excel, PowerPoint, Outlook, Visio, InfoPath y Project. Una completa compatibilidad para implementación con ClickOnce garantizaba el entorno ideal para una fácil instalación y mantenimiento mantenimiento de las sol so luciones Office. Visual Studio 2008 permitió incorporar características del nuevo Windows Presentation Foundation sin dificultad tanto en los formularios de Windows existentes como en los nuevos. Es posible actualizar el estilo visual de las aplicaciones al de Windows Vista debido a las mejoras en Microsoft Foundation Class Library (MFC) y Visual C++. Visual Studio 2008 permitió mejorar mejo rar la interoperabili interoperabilidad dad entre código nativo y có c ó digo digo manejado m anejado por po r .NET. .NET. Esta integración integración más profunda simpli simplificó ficó el trabajo de diseño diseño y codi co difi ficación. cación. LINQ (Language Integrated Query) es un nuevo conjunto de herramientas diseñado para reducir la complejidad del acceso a Base de Datos, a través de extensiones para C++ y Visual Basic así como para Microsoft .NET Framework. Permite filtrar, enumerar, y crear proyecciones de muchos tipos y colecciones de datos utilizando todos la misma sintaxis, prescindiendo del uso de lenguajes especializados como SQL o XPath. Visual Studio 2008 permitió la creación de soluciones multiplataforma adaptadas para funcionar con las diferentes versiones de .Net Framework: 2.0. (Incluido con Visual Studio 2005), 3.0 (incluido en Windows Vista) y 3.5 (inclui (incluido do con co n Visual Visual Studio Studio 200 2 008). 8).
23 | P a g e
P r o g r a m a ci ó n e n . N E T
Introducción
.NET 3.5 incluye biblioteca ASP.NET AJAX para desarrollar aplicaciones web más eficientes, interactivas y altamente personalizadas que funcionen para todos los navegadores más populares y utilicen las últimas tecnologías y herramientas Web, We b, incluyendo incluyendo Silverli Silverlight ght y Popfly.
Características Multi
–
Targeting
Visual Visual Studio "Orcas" " Orcas" es la primer primer versión de Visual Studio Studio que permite perm ite a los desarrolladores usar distintas versiones del .NET Framework, esto significa que se puede abrir abrir o crear proyectos proyect os que fueron desarrollados desarrollados con co n cualqui cualquiera era de las versiones del .NET Framework 2.0, 3.0 y 3.5. Esto gracias a que Visual Studio automaticamente muestra la barra de controles, filtra el intellisense, muestra las referencias de la ventana "add reference" (y otras cosas mas) acorde especificamente a la version del .NET Framework en la que se va a trabajar. El gran beneficio beneficio de esto es que ahora la mayor mayo r parte de las las nuevas funcionali funcionalidades (por ejemplo: todo lo de el diseñador WYSIWYG, el editor de JavaScript) se la puede usar en proyectos antiguos que se hayan hecho en versiones pasadas (2.0 o la 3.0). Esto es extraordinario ya que no hay que esperar a realizar un nuevo desarrollo desarrollo para usar esta herramienta herramienta si no que que ya se puede empez em pezar ar a usar con co n los los proyectos que actualmente están en desarrollo. En la imagen a continuacion se muestra como al momento de crear un proyecto se puede especif espec ificar icar con co n cuál version del .NET Framework Framew ork se desea trabajar permitiendo crear un proyecto web que trabaje con el ASP.NET 2.0 si asi se lo desea, por supuesto si se eligen las versiones anteriores a la 3.5 no podrían trabajar con LinQ o con Windows Presentation Foundation ya que son propios de la version 3.5.
24 | P a g e
P r o g r a m a ci ó n e n . N E T
Introducción
Editor HTML/CSS WYSIWYG enriquecido
Este editor permite entre otras cosas:
Dividir en 2 partes el editor, una en el modo diseño y la otra en el codigo fuente HTML. Soporte enriquecido de hojas de estilo CSS (ventana de propiedades CSS, visor de herencia CSS, C SS, vista vista previa CSS y un CSS manager) Mejoras sustanciales de performance en el cambio de vistas (cambio de codigo fuente HTML a modo diseño es ahora casi inmediata) El layout de diseño reconoce valores almacenados en archivos CSS externos Soporte de Master Pages anidados. anidados. Visual Studio "Orcas" ahora tiene un mejor soporte de hojas de estilo CSS. La nueva ventana de propiedades "Manage Styles" permite crear y administrar las hojas de estilo CSS.
Desarrollo multiplataforma
Gracias al esfuerzo que ha realizado la gente de este proyecto para implementar una versión compatible 100% con .NET que incluye la inmensa mayoría de la bibliotecas y una implementación multiplataforma de Windows.Forms, resulta posi pos ible ble programar para distintos distintos si s istemas stem as operati o perativo voss usando VB.NET
Visual Studio 2010
Visual Visual Studio Studio 2010 20 10.. Es la versión más reciente de esta herramienta, herramienta, acom ac ompañada pañada por .NET .NET Framework Framewo rk 4.0. Ambas actualmente actualmente están en su fase Beta 2.
25 | P a g e
P r o g r a m a ci ó n e n . N E T
Introducción
Qué es el .Net Framework?
Cada cierto tiempo se produce una revolución en la tecnología empleada en el desarrollo de aplicaciones. El primer gran cambio que vivimos, fue el paso de la programación en MSDOS a la programación Windows (Win16), más tarde con la evolución de los sistemas operativos, el segundo cambio, las aplicaciones Win32, y ahora estamos viviendo la tercera de las revoluciones, lo que Microsoft llama .NET Framework o más comúnmente .NET. Un Framework, es básicamente, un conjunto de clases que interactúan en forma cooperativa co operativa para dar sol so lución a una determinada determinada necesidad. Para definirlo en una forma sencilla, se podría visualizar como que todos los edificios de una ciudad son todos los tipos de software que podemos construir, supongamos que necesitamos construir un edificio, imaginémonos que tuvieramos que construir cada una de las partes del edificio, (griferia, accesorios, luces, paredes, etc) cuánto tiempo nos llevaría terminarlo?, lo mismo sucede con el software, si cada vez tuvieramos que construir todos los componentes que lo conforman, tardaríamos mucho más tiempo. En términos simples un Framework es un conjunto de clases base que pueden ser reutilizadas para la construcción de un nuevo software. .NET Framework es la plataforma de desarrollo de código administrado de Microsoft. Está formado por una serie de herramientas y librerías con las que se pueden crear todo tipo de aplicaciones, desde las tradicionales aplicaciones de escritorio (WPF o Windows Forms ) hasta aplicaciones para XBOX (XNA) pasando 26 | P a g e
P r o g r a m a ci ó n e n . N E T
Introducción
por desarrollo web (ASP.NET), desarrollo para móviles (compact framework), aplicaciones de servidor (WPF, WCF), etcétera. El concepto Framework .NET, como el término en inglés dice (Framework = Armazón) es un marco en donde las aplicaciones correrán. Estas aplicaciones ya no corren co rren directam directamente ente bajo el si s istema stem a operativo si no que corren co rren bajo este armazón armaz ón o marco. .Net Framework Frame work es el nombre nom bre que se le ha dado a una diversidad diversidad de compo co mponente nentess y servicios que se combinan para generar un potente entorno de desarrollo. Incluye una gran cantidad de clases (más de 6.000) que ofrecen la mayor parte de la funcionalidad anteriormente incluida en Visual Basic o la API de Windows. Tales clases permiten escribir aplicaciones basadas en Windows y para Web, acceder a la red, generar imágenes, y otras cosas más. El Framework de .Net es una infraestructura sobre la que se reúne todo un conjunto de lenguajes y servicios que simplifican enormemente el desarrollo de aplicaciones. Mediante esta herramienta se ofrece un entorno de ejecución altamente distribu distribuid ido, o, que permite crear aplicaciones aplicaciones robustas y escalabl esc alables. es. Evolución del .NET Framework
En la imagen se puede visuali visualizz ar las diferentes diferentes versiones del .Net Framework Framew ork (empezando desde la 2.0) y las características que agregan a la programación. El .Net Framework 2.0, con fecha de salida 07/11/2005, posee las siguientes características:
Common Language Runtime (CLR ): entorno en tiempo de ejecución que
ejecuta el códi có digo go y proporciona propo rciona servicios servicios que facilitan facilitan el pro pro ceso de desarrollo. desarrollo. WinForms: es una API incluida en el Framework que se encarga de brindar aplicaciones aplicaciones clientes clientes nativas nativas de Windows. Window s. Web Services: el Framework contiene un conjunto de clases para poder desarrollar Servicios Web seguros e interoperables basados en especificaciones abiertas. Un Web Service es un conjunto de protocolos y estándares que sirven para intercambiar datos entre aplicaciones utilizando redes (como Internet).
27 | P a g e
P r o g r a m a ci ó n e n . N E T
Introducción
ASP.Net: es una tecnología libre que permite a los programadores crear
aplicaciones Web dinámicas. El Fwk 2.0 incorpora significativas mejoras en todas las áreas de ASP.NET, agrega controles nuevos, posibilidad de SKINs, Master Page, WebParts, manejo de perfiles, etc. ADO.Net: se incorporaron mejoras en ADO.Net, sobretodo compatibilidad con UDT (tipos defini definidos dos por el usuario) usuario) y la posibi po sibililidad dad de tener varios MARS (conju (co njuntos ntos de resultados resultados activos activos). ).
El Framework 3.0, con fecha de salida 06/11/2006, incluye las siguientes agregados:
modelo de programación unificado para generar aplicaciones orientadas a servicios. Permite a los programadores generar soluciones con transacción seguras y de confianza, que se integren en diferentes plataformas y que interoperen con las inversiones existentes. Lo más importante de WCF es que permite unificar las distintas tecnologías de servicios, haciendo posible mantener el Servicio de Aplicación, Windows Communication Foundation (WCF):
más allá de la implementación “física” del mismo (configurable).
Windows Presentation Foundation (WPF): proporciona a los programadores
un model mo delo o de programación pro gramación unifi unificado cado con co n el que generar generar experiencias experiencias de cliente cliente inteligentes de Windows, en las que se incorpora la interfaz de usuario, multimedia y documentos. WPF a diferencia de Windows Forms que permite crear apliaciones apliaciones más ricas ricas en conteni co ntenido do y presentación para el usuario. usuario. com ponente del Framework Framew ork 3.0 Windows Workflow Foundation (WF) : es un componente que provee un modelo de programación para construir aplicaciones basadas en Workflows o Flujos de Trabajos. Un Workflow es una serie de actividades discretas involucrado en el proceso de negocio. CardSpace: es la implementación de Microsoft de un metasistema de identidad que permite a los usuarios elegir una de una serie de identidades que les pertenecen, y util utilizarla en contextos contexto s en que son so n aceptadas, independi independientemente entemente de los sistemas de identidad subyacentes donde las identidades se originan y utilizan. O sea, es una implementación integrada que permite hacer que los usuarios se identifiquen en distintos sistemas, sin la necesidad de mantener un usuario y contraseña en cada uno de ellos.
El Framework 3.5, con fecha de salida 19/11/2007, incluye los siguientes agregados:
LINQ: incorpora eficaces capacidades de consulta a la sintaxis de los lenguajes
C# y Visual Basic en forma de patrones de consulta estándar fáciles de aprender. Esta tecnología se puede extender para que sea compatible con cualquier tipo de almacén de datos. .NET Framework 3.5 incluye ensamblados de proveedor proveedo r de LINQ LINQ que habili habilitan tan el uso de LINQ LINQ para consul co nsultar tar col co lecciones de .NET Framework (LINQ to Objects), bases de datos de SQL Server (LINQ to 28 | P a g e
P r o g r a m a ci ó n e n . N E T
Introducción
SQL), conjuntos de datos ADO.NET (LINQ to DataSet) y documentos XML (LINQ to XML). XML). AJAX: ASP.NET agrega compatibilidad con el desarrollo de AJAX centrado en el servidor mediante un conjunto de nuevos controles de servidor y nuevas API. Puede habilitar una página ASP.NET 2.0 existente en AJAX agregando un control ScriptManager y un control UpdatePanel, de modo que la página pueda actualizarse sin que sea necesario realizar una actualización de la página completa. integración de REST en WCF. WCF . REST: integración Además modificaciones importantes en WCF, WPF y WF.
Se encuentra disponible el Framework 3.5 SP1, con fecha de salida 11/08/2008, dicho Service Pack además de arreglar errores provee nuevas características:
biblioteca de datos dat os de alto nivel nivel que que ADO.NET Entity Framework: es una biblioteca
aumenta el nivel de abstracción que los desarrolladores necesitan para trabajar con los datos en las bases de datos relacionales. Brinda todas las clases y herramientas necesarias para poder trabajar en las aplicaciones con objetos, a partir de un modelo de datos subyacente en Base de Datos relacionales. A diferencia de LINQ to SQL, ADO.Net EF no limita sus capacidades de Bases de Datos Sql Server. servicio de publicaci publicación ón y federaci federac ión de datos dato s con co n una una ADO.NET Data Services: servicio interface estándar usando REST. Expone un modelo de objetos (no una base de datos) sobre s obre la la web. ASP.NET Dynamic Data: una característica que permite la creación rápida de aplicaciones aplicaciones web w eb diri dirigi gidas das por datos dato s (aplicaciones (aplicaciones con c on ABMs). ABMs) . Permite la creación de aplicaciones aplicaciones web basándose basándos e en ASP.NET ASP.NET WebForm WebF ormss y ASP.NET MVC. entra da a la applicat application. ion. Genera URLs ASP.NET Routing: define puntos de entrada basado en una tabla de ruteo. Es aprovechado por ASP.NET. Mejoras en ASP.NET AJAX, WCF, WPF, WinForms.
En la actualidad, la última versión de .NET Framework es la versión 4.0 (22 de Marzo de 2010). Esta versión agrega numerosas novedades y mejoras entre las que podemos nombrar las mejoras relativas a los lenguajes de programación, el nuevo tipo de datos BigInteger, Windows Azure, DLR (Dynamic Language Runtime) y su soporte para trabajar con F#, IronRuby e IronPython, soporte para trabajar con contratos de código (Code Contracts), características para trabajar con la plataforma de modelado Oslo y el lenguaje de programación M, la posibilidad de trabajar con extensiones paralelas (conocida como Parallel Computing), mejoras en el GC o recolector reco lector de basura (Garbage (Ga rbage Coll Co llecto ector), r), funcio funcio nali nalidades relativas relativas a la cov c ovari arianz anzaa y contravarianza, mejoras en los algoritmos de comprensión (ahora son más rápidos, con mayor ratio de compresión y con soporte para ficheros de más de 4 Gb), 29 | P a g e
P r o g r a m a ci ó n e n . N E T
Introducción
mejoras mejo ras relativas relativas a MVC, MVC , Dynamic Data, compatibi co mpatibililidades dades CSS, soporte so porte para para jQuery e Intell IntelliS iSense ense para JScript JScript y jQuery (ASP.NET), y mejoras mejo ras en WPF y WF.
Generics
Generics (Genéricos) es una característica del CLR que permite declarar clases, estructuras, interfaces y métodos sin especificar en tiempo de compilación los tipo de dato que almacenan o utilizan, y especificando en su lugar parámetros "genéricos". Los tipos reales de los datos se especifican cuando el tipo genérico es utilizado y no cuando es declarado, permitiendo definirlo una única vez y utilizarlo muchas veces con parámetros de distinto tipo. Generics está soportado directamente por el CLR, aunque sólo se puede hacer uso de esta característi c aracterística ca desde los lenguajes VB.NET, C# y C++ .NET. En otras palabras, los genéricos permiten personalizar un método, clase, estructura o interfaz para el tipo de datos preciso sobre el que actúa. Entre los beneficios de los genéricos se encuentran una mayor posibilidad de reutilización del código y la seguridad seguridad de tipos. Los tipos genéricos dan la posibilidad de tener tipos que permitan almacenar datos de distintos tipos sin perder la funcionalidad y sin la sobrecarga extra de tener que realizar conversiones (casting) al recuperar un elemento. A los genéricos también se los conocen co nocen como tipos tipos con co n argumentos argumentos de tipos tipos anóni anó nimo mos, s, tipos tipos parametri parametrizados zados o tipos tipos con parámetros polimó polimórfi rficos cos..
30 | P a g e
P r o g r a m a ci ó n e n . N E T
Introducción
Usando los tipos genéricos se puede definir una colección del tipo de datos que se necesite. Si la colección va a almacenar datos de tipo entero se puede crear, por ejemplo una lista de tipo entero, de forma que el tipo “interno” de dicha lista sea
precisamente un tipo entero y así no habría necesidad de hacer ningún tipo de comprobación al almacenar un dato en la lista, ni se tendría que hacer una conversión al recuperar dicho dato. Si posteriormente se pensara crear una lista para almacenar datos de tipo Cliente, pues se la crea, y sin tener la necesidad de hacer nada especial, ni tener que crear una nueva lista especialmente para almacenar los datos de tipo Cliente. Lo único que se tendría que hacer es definir una colección que admita cualquier tipo de datos y cuando se cree una nueva instancia de dicha colección, se le indica qué tipo de datos va a almacenar y así será el propio CLR el que se encargue de hacer todos los preparativos para que dicha dicha colecci co lección ón sól só lo almacene el tipo tipo de datos dato s que que ssee le haya indi indicado cado.. Es como co mo que que se le dijiera al compilador que la colección es del tipo de datos tal o cual y que sólo admita valores de ese tipo en concreto. La ventaja de que los tipos de datos genéricos formen parte del propio .NET Framework es que se pueden usar con cualquiera de los lenguajes de .NET y otra ventaja impo importante rtante de usar Generi G enerics, cs, so s o n en performance performa nce y vali v alidación dación en tiempo de compilación.
Performance porque se evitan las operaciones de casting y boxing/unboxing necesarias para insertar y obtener elementos de colecciones no genéricas. Además, los elementos son almacenados directamente en el tipo que específica la instancia y no instancias compl com pletas etas de System.Obj System .Object. ect. Y la validación validación en tiempo tiempo de compil co mpilación ación asegura as egura un un códi có digo go con c on menos m enos errores.
Visual Basic, C# y Visual C++ proporcionan compatibilidad completa para definir y utili utilizz ar tipos tipos genérico genéricos. s. Common Co mmon Language Language Runtime Runtime proporciona propo rciona nuevo nuevoss códi có digos gos de operación y prefijos para admitir tipos genéricos en el lenguaje intermedio de Micros Microsoft oft (MSIL). (MSIL).
Genericos en .NET Framework:
Una definición de tipo genérico es una declaración de interfaz, clase o estructura que funciona como una plantilla, con marcadores de posición para los tipos que puede contener o util utilizar. Por ejempl ejem plo, o, la clase Dictionary Dictionary(TKey, (TKey, Tvalue) puede contener dos tipos: claves y valores. Dado que es sólo una plantilla, no puede crear instancias de una clase, estructura o interfaz que es una definición de tipo genérico. Los parámetros parámetros de tipo tipo genérico genéricos, s, o parámetros parámetros de tipo, tipo, son so n los los marcadores de posición de un tipo genérico o definición de método. El tipo genérico Dictionary(TKey, Tvalue) tiene dos parámetros de tipo, TKey y TValue, que representan los tipos de sus claves y valores.
31 | P a g e
P r o g r a m a ci ó n e n . N E T
Introducción
Un tipo genérico construido, o tipo construido, es el resultado de especificar los tipos para los parámetros de tipo genérico de una definición de tipo genérico. Un argumento de tipo genérico es cualquier tipo que se sustituye para un parámetro de tipo genérico. El término general "tipo genérico" incluye tanto los tipos construidos como las definiciones definiciones de tipos genérico genéricos. s. Las restricciones son límites colocados en parámetros de tipo genérico. Por ejemplo, podría limitar un parámetro de tipo a los tipos que implementa la interfaz genérica Icomparer(T) para garantizar que se pueden ordenar esas instancias del tipo. También puede restringir los parámetros de tipo a los tipos que tienen una clase base concreta, que tienen un constructor predeterminado o que son tipos de referencia o tipos de valor. Los usuarios del tipo genérico no pueden sustituir los argumentos de tipo que no cumplen las restricciones. Una definición de método genérico es un método con dos listas de parámetros: una lista de parámetros de tipo genérico y una lista de parámetros formales. Los parámetros de tipo pueden aparecer como el tipo de valor valor devuelto devuelto o com c omo o los los tipos de los parámetros formal fo rmales, es, tal y como co mo se muestra en el códi có digo go sigui siguiente. Visual Basic Function Generic(Of Generic( Of T)( T)(ByVal ByVal arg As T) As T Dim Di m temp As T = arg ... End En d Function C# T Generic(T arg) { T temp = arg; ...} Visual C++ generic T Generic(T arg) { T temp = arg; ...}; Los métodos genéricos pueden aparecer en tipos genéricos o no genéricos. Es importante señalar que un método no es genérico sólo porque pertenezca a un tipo genérico, o incluso porque tenga parámetros formales cuyos tipos son los parámetros genéricos del tipo que los envuelve. Un método sólo es genérico genérico si tiene su propia lista lista de parámetros parámetro s de tipo.
32 | P a g e
P r o g r a m a ci ó n e n . N E T
Introducción
Biblioteca Biblioteca de clases de .NET Framework Fram ework
.NET Framewo Frame work rk incl incluye uye clases, interfaces interfaces y tipos de valor que aceleran y optimizan el proceso de desarrollo y proporcionan acceso a la funcionalidad del sistema. Para facilitar la interoperabilidad entre lenguajes, los tipos de .NET Framework cumplen la especificación de lenguaje común (CLS) y, por tanto, se pueden utilizar en todos los lenguajes de programación cuyo compilador satisfaga los requisitos de CLS. Los tipos de .NET Framework son la base sobre la que se crean aplicaciones, componentes y controles de .NET. .NET Framework incluye tipos que realizan las funciones siguientes:
Representar tipos de datos base y excepciones. Encapsular estructuras de datos. Realizar E/S. Obtener Obtener acceso a información información sobre so bre tipos tipos cargados cargados.. Invocar las comprobaciones de seguridad de .NET Framework. Proporcionar: acceso a datos, interfaz gráfica para el usuario (GUI) independiente de cliente e interfaz GUI de cliente controlada por el servidor.
.NET .NET Framework Framew ork proporciona proporciona un conjunto conjunto compl com pleto eto de interfaces, interfaces, así como com o clases abstractas y concretas (no abstractas). Se pueden utilizar las clases concretas tal como están o, en muchos casos, derivar las clases propias de ellas. Para utilizar la funcionalidad de una interfaz se puede crear una clase que implemente la interfaz o derivar una clase de una de las clases de .NET Framework que implementa la interfaz. La biblioteca de clases de .NET Framework está constituida por espacios de nombres. Cada espacio de nombres contiene tipos que se pueden utilizar en el programa: clases, estructuras, enumeraciones, delegados e interfaces. Los espacios de nombres proporcionan ámbito: dos clases con el mismo nombre pueden utilizarse simultáneamente en el programa siempre que se encuentren en diferentes espacios de nombres y se califique cada nombre con el espacio de nombres correspondiente. El nombre del espacio de nombres forma parte del nombre completo del tipo ( namespace.typename). Todos los espacios espacios de nombres no mbres sumini suministrados strados por Microso Microsoft ft empi empiezan ezan por System o por Microsoft. La funcionalidad de la biblioteca de clases de .NET Framework no reside en una única DLL. Al distribuir la funcionalidad de las clases base entre varias DLL, un programa administrado no necesita cargar, en el inicio, una gran DLL, sino una o varias DLL más reducidas. De esta forma, se reduce el tiempo de inicio de un programa. Para poder utilizar espacios de nombres, antes hay que definirlos en el proyecto. Sin embargo, normalmente se utilizan tipos procedentes de espacios de nombres 33 | P a g e
P r o g r a m a ci ó n e n . N E T
Introducción
que residen en una DLL administrada. Una DLL administrada se conoce también como ensamblado. Cuando se crea un proyecto de Visual Basic o Visual C# en Visual Studio, se sigue haciendo referencia a las DLL más comunes de la clase base (ensamblados). No obstante, si se necesita utilizar un tipo incluido en una DLL a la que aún no se hace referencia, se deberá agregar la referencia de esa DLL. Convenciones de nomenclatura
Los tipos de .NET Framework utilizan un esquema de nomenclatura con sintaxis de punto lo que indica la existencia de una jerarquía. Esta técnica agrupa tipos relacionados en espacios de nombres para que se pueda buscar y hacer referencia a ellos más fácilmente. La primera parte del nombre completo, hasta el punto situado más a la derecha, es el nombre del espacio de nombres. La última parte es el nombre de tipo. Por ejemplo, System.Collections.ArrayList representa el tipo ArrayList que pertenece al espacio de nombres System.Collections. Los tipos de utilizz ar para manipul manipular ar colecci co lecciones ones de objetos o bjetos.. System.Collections se pueden utili Este esquema de nomenclatura facilita a los programadores de bibliotecas la tarea de extender .NET Framework para poder crear grupos jerárquicos de tipos y asignarles nombre de forma coherente e ilustrativa. Se supone que los programadores de bibliotecas utilizarán la siguiente directriz cuando creen nombres para sus propios espacios de nombres: NombreCompañía .NombreTecnología
El uso de modelos de nomenclatura para agrupar tipos relacionados en espacios de nombres es una forma muy útil de crear y documentar bibliotecas de clases. Sin embargo, este esquema de nomenclatura no influye en la visibilidad, el acceso a miembros, la herencia, la seguridad o el enlace. Se puede hacer la partición de un espacio de nombres en varios ensamblados y un ensamblado individual puede contener tipos de varios espacios de nombres. El ensamblado proporciona la estructura formal para el control de versiones, la implementación, la seguridad, la carga y la visibi visibililidad dad en Comm Co mmo o n Language Runtime. Runtime. Espacios de nombres
El espacio de nombres System es el espacio de nombres base para los tipos fundamentales de .NET Framework. Este espacio de nombres incluye clases que representan los tipos de datos base que utilizan todas las aplicaciones: Object (base de la jerarquía de herencia), Byte, Char, Array, Int32, String, etc. Muchos de estos tipos se corresponden con los tipos de datos primitivos que utiliza el lenguaje de programación. Cuando se escribe código utilizando tipos de .NET Framework se puede utilizar la palabra clave correspondiente del lenguaje cuando se espera un tipo de datos base de .NET Framework.
34 | P a g e
P r o g r a m a ci ó n e n . N E T
Introducción
En la tabla se muestra la clasificación de espacios de nombres que agrupan clases con co n funci funcionali onalidades dades simi s imilar lares. es. Los más m ás usados usado s son so n lo lo s sigui siguientes: Espacio de nom nombres bres System
System.Collections System.Data System.IO System.Net System.Reflection System.Runtime.Remoting System.Security System.Threading System.Web.UI.WebControls System.Windows.Forms System.XML
35 | P a g e
Utili tilidad dad de los tipos de dat datos os que cont contiene iene
Tipos muy frecuentemente frecuentemente usados, como los los tipos básicos, tablas, excepciones, fechas, números aleatorios, recolector de basura, entrada/salida en consola, etc. Colecciones de datos de uso común como pilas, colas, listas, diccionarios, etc. Manipulación de bases bases de datos. Forman F orman la denominada arquitectura A DO.N DO.NET ET. Manipulación de ficheros ficheros y otros flujos de datos. datos. Realización de comunicaciones en red. Acceso a los metadatos que acompañan a los módulos de código. Acceso a objetos remotos. Acceso a la política de seguridad en que se basa el CLR. Manipulación de hilos. Creación de interfaces de usuario basadas en ventanas para aplicaciones Web. Creación de interfaces de usuario basadas en ventanas para aplicaciones estándar. Acceso a datos en formato XML.
P r o g r a m a ci ó n e n . N E T
Introducción
BIBLIOGRAFIA Libros
Títul Título: o: Microsoft Microso ft Visual Visual Basic 6.0 Manual de referencia, referencia, Autores: Baltazar Baltaza r Birni Birnios os y Mariano Birni Birnios os,, Colección: C olección: Manuales Manuales USERS, Edito Editori rial: al: MP Edi Ediciones, ciones, 2002 20 02.. Títul Título: o: Aprenda Aprenda Visual Basic Practicando, Autor: Jos J oséé Felipe Felipe Ramirez R., Editorial: Editorial: Pearson Educaci Educación, ón, 2001. 200 1. Títul Título: o: Visual Visual Basic 6 Programación Pro gramación Cliente Cliente / Servidor, Servidor, Autores: Auto res: Michael MacDonal MacDo nald d y Kurt Kurt Cagle, Edito Editori rial: al: Paraninfo, Paraninfo, 199 1 999. 9. Títul Título: o: Aprendien Aprendiendo do Visual Visual Basic Bas ic .NET .NET en 21 Lecciones Avanz Avanz adas, Autores: Duncan Duncan Machenzie Machenz ie y Ken Ken Sharkey, Editorial: Editorial: Pearson Pearso n Educación, Educación, 2003 20 03..
Páginas Web
http://es.wiki http://es .wikipedi pedia.org/w a.org/wiki iki/Visual /Visual_Bas _Basiic
Microsoft ft Programa “Desarroll “Desarrollador ador Cinco Estrellas” Estrellas” de Microso
http://mslatam.com/latam/msdn/comunidad/dce2005/ MSDN – Microsoft.- http://msdn.microsoft.com/ http://www.microsoft.com/ http://www.desarrolloweb.com/ http://www.adrformacion.com/ http://jorgesaavedra.wordpress.com/ http://www.webestilo.com/ http://canyouhearthebits.wordpress.com/ http://www.elguille.info/net/revistas/dotnetmania/pdf/dotnetmania_8.pdf http://www.devjoker.com/ http://msdn.microsoft.com/es-ar/vstudio/default.aspx http://www.microsoft.com/es/xl/default.aspx
36 | P a g e