1. ¿Qué hay de nuevo viejo? Desde VB 1.0 hasta VB 2010, evolución y novedades.
2. ¿Quiénes hablarán? MVP de Visual Basic y habituales de comunidades técnicas de tecnologías Microsoft: Lluis Franco PepLluisBano Jorge Serrano ¿Qué hay de nuevo viejo?
3. Agenda Introducción y evolución de VB VB hacia .NET A destacar de VB 2008 Novedades de VB 2010
4. Introducción y evolución de VB (I) Tenemos VB desde 1991 Alan Cooper fue el líder de VB 1.0 y ha intervenido también en “cosas” como Ruby Versiones previas: (1991) - VB 1.0 (versión Windows y DOS) (1992) - VB 2.0 (1993) - VB 3.0 (BBDD) (1995) - VB 4.0 (16 [VBX] y 32 bits [OCX]) (1997) - VB 5.0 y VB 5.0 CCE (ActiveX y compilación en código nativo) (1998) - VB 6.0 Runtimes para ejecutar aplicaciones: VBRUNxxx.DLL MSVBVBxx.DLL
5. Introducción y evolución de VB (III) Existen subconjuntos de VB (propietarios): VBS VBA Uso de APIs (código no manejado) Infierno de las DLL ASP como lenguaje de programación web (lenguaje interpretado), utiliza VBS VB como lenguaje evoluciona hacia la POO, que en VB 5 y VB 6 incorpora tímidamente algunas de sus características,… pero NO es suficiente
6. VB hacia .NET (I) Los programadores necesitamos MÁS ¿Qué necesitamos? POO y uso de estándares como objetivos principales Gestión de errores más “profesionales”… adios al On Error Resume Next Posibilidad de programar para diferentes plataformas… Linux, Windows, etc. Código manejado vs código no manejado Capaz de utilizar y adaptarse a las tecnologías emergentes etc
7. VB hacia .NET (II) Microsoft apuesta por un cambio radical AndersHeljsberg, (ficha por Microsoft en 1996) Padre de Turbo Pascal, Arquitecto de Delphi 1.0, Y Amigo de Pep (es el gran culpable de .NET, J# y C#) Todo bajo el paraguas de la POO Con énfasis en el uso de estándares Ofreciendo características demandadas por los programadores Posibilitando una plataforma que compita en la red y contra Java (Sun Microsystems) Capaz de usar un repositorio común donde el lenguaje sea el invitado de esa plataforma denominada Microsoft .NET Framework VB formará parte de Microsoft .NET Framework (.NET como nombre por su orientación a la red, aunque el calificativo de marketing de .NET se ha perdido actualmente)
8. VB hacia .NET (III) Partes de .NET e incluso el lenguaje C# que forma parte de él, han sido estandarizadas y “abiertas” VB como lenguaje es “reprogramado” por entero respetando muchas de las normas y reglas del lenguaje, pero adaptándolo a .NET VB es el “patito feo” por su pasado, fama ganada a pulso pero injusta en la actualidad
9. VB hacia .NET (IV) Evolución de .NET lleva incluida una evolución del lenguaje VB (I) VB .NET 2002 – VB 7.0 - Microsoft .NET 1.0 Compatibilidad con VB 6.0 (¿migración real?) VB .NET 2003 – VB 7.1 - Microsoft .NET 1.1 Mejoras en el asistente de actualización (VB 6.0 to VB .NET) VB 2005 – VB 8.0 - Microsoft .NET 2.0 Mejoras en el asistente de actualización (VB 6.0 to VB para .NET) Editar y continuar (usadas en VB 6.0 y anteriores pero no en .NET) Uso de My para acceder a clases comúnmente usadas (productividad) Uso de la palabra Using Data Sourcebinding Genéricos Clases parciales Tipos Nullable Comentarios XML Modelo de factorías para aplicaciones multi-DB (DatabaseFactories) VB 2005 – VB 8.0 - Microsoft .NET 3.0 (CLR 2.0) Operador IsNot Continue Do y ContinueWhile Documentación XML Soporte de paginación en ADO.NET WCF, WF, WPF y CardSpace
10. VB hacia .NET (V) Evolución de .NET lleva incluida una evolución del lenguaje VB (II) VB 2008 – VB 9.0 - Microsoft .NET 3.5 (CLR 2.0) Métodos de extensión Inferencia de tipos Tipos anónimos Árboles de expresiones y expresiones Lambda LINQ LINQ toObjects LINQ to XML LINQ toDataSet LINQ toSql Microsoft Entity Framework 1.0 (basado en LINQ) VB 2010 – VB 10.0 - Microsoft .NET 4.0 Tecnología: ParallelExtensions Soporte para IronPython, IronRuby y F# CodeContracts Lenguaje: Propiedades autoimplementadas Inicialización de colecciones Opción para indicar la versión específica del lenguaje a compilar Continuación implícita de línea Parámetros nombrados Parámetros opcionales DLR o DynamicLanguageRuntime (IronPython, IronRuby) Covarianza y contravarianza Entity Framework 2.0 (aka 4.0)
12. A destacar de VB 2008 (I) LINQ – LanguageINtegratedQuery El embrión de LINQ lo encontramos en Microsoft Research Añade capacidades de búsqueda de datos de forma nativa Permite localizar datos provenientes de diferentes orígenes (documentos XML, DataSet, objetos, bases de datos relacionales, matrices, clases enumerables, etc) Se pueden crear proveedores de LINQ o podemos utilizar los que ofrece Microsoft Usar LINQ aporta mayor productividad
13. A destacar de VB 2008 (II) Proveedores de Microsoft: LINQ toObjects Se utiliza con colecciones de datos en memoria LINQ to XML Convierte documentos XML a colecciones de objetos XElement Con VB manipular XML con LINQ to XML es simple LINQ toDataSet Permite acceder a los objetos de los DataSet LINQ toSql Está pensado para usarlo solo con SQL Server y SQL Server Compact Entity Framework Es un ORM (ObjectRelationalMapping) que convierte datos entre las fuentes de datos y los tipos de datos incompatibles Otros proveedores…