590 likes | 832 Views
Novedades en Visual Studio 2005. <Ponente> <Email> <Cargo> <Empresa>. Agenda. Introducción Entorno de ejecución Novedades en los lenguajes .NET Desarrollo web con ASP.NET Windows Forms Dispositivos móviles Visual Studio Tools for Office Team System. Introducción. Ecosistema.
E N D
Novedades enVisual Studio 2005 <Ponente> <Email> <Cargo> <Empresa>
Agenda • Introducción • Entorno de ejecución • Novedades en los lenguajes .NET • Desarrollo web con ASP.NET • Windows Forms • Dispositivos móviles • Visual Studio Tools for Office • Team System
Ecosistema Productividad Calidad Conectividad IntroducciónObjetivos VSTO Windows Forms ASP.NET SQL CLR Lenguajes ClickOnce Rendimiento Servicios Web Operaciones Movilidad 64 bits Visual Studio Team System VSIP
IntroducciónPilares de Visual Studio 2005 Herramientas y ciclo de vida Desarrollo Web Smart Client ClickOnce Visual Studio Tools for Office Windows Forms Mobility ASP.NET Mobility Advanced Web Services Visual Studio Team System VSIP Fundamentals 64 bit, SQL/CLR, ADO.NET, CLR, Lenguajes, BCL
Entorno de ejecuciónGenerics • Proporciona código independiente de la clase • Elegante, productivo y óptimo • Utilizado en la librería de clases • Colecciones genéricas, tipos nullables… ‘ Sin genéricos Dim emps As New Collection emps.Add(New Employee(1, "Foo")) emps.Add(New Employee(2, "Bar")) For Each obj As Object In emps Try DirectCast(obj, Employee).UseMe() Catch End Try Next ‘ Con genéricos Dim emps As New Collection(Of Employee) emps.Add(New Employee(1, "Foo")) emps.Add(New Employee(2, "Bar")) For Each emp As Employee In emps emp.UseMe() Next
Entorno de ejecuciónDepuración • Edit and Continue • Modificación del código mientras se ejecuta • Soportado por VB.NET, C#, ASP.NET • Más información durante la depuración • DataTips • Inspección de objetos simplificada • Visores de tipos (XML, HTML, DataSet…)
Entorno de ejecución64 bits • Nuevo CLR sobre 64 bits • Las aplicaciones funcionan tal cual • No es necesario recompilar • Excepciones • Código unsafe • Acceso a APIs nativas • Desarrollo desde Visual Studio 2005 • Depuración transparente entre 32 y 64 bits • Incluye compiladores nativos y SDK (C++)
Novedades en los lenguajesTipos parciales • Soportado en todos los lenguajes • Una clase puede separarse en varios ficheros • Pemite separar código generado y personalizado • Muy utilizado en todo el entorno • DataSets tipados • Windows Forms • ASP.NET
Novedades en los lenguajesVB.NET – Clases My • Acceso a funcionalidad común • “Accesos directos” a la librería de clases • Incluye • My.Application • My.Computer • My.User • My.Forms • My.WebServices • My.Resources • My.Settings
Novedades en los lenguajesVB.NET – Características de C# • Sobrecarga de operadores y conversiones • Documentación de código • Nuevos tipos (UShort, UInteger, ULong) • Operador IsNot • Sentencia Using • Compilador compatible CLS
Novedades en los lenguajesVB.NET - Desarrollo con Visual Studio • Code snippets • Ventana Inmediato en modo diseño • Intellisense mejorado • Corrector automático • Asistente de excepciones
Novedades en los lenguajesC# - Métodos anónimos • Permite escribir delegados “inline” • Inferencia automática del tipo Thread task = new Thread( new ThreadStart( this.Background )); private void Background() { Trace.Write("1.0"); } Thread task = new Thread( delegate(){ Trace.Write("2.0");} ); this.Load += this.FormLoad; this.Load += new EventHandler( this.FormLoad );
Novedades en los lenguajesC# - Iteradores • Crear una colección en 1.1 es complejo • Clase auxiliar IEnumerator compleja de implementar • C# 2.0 simplifica el proceso • Implementar IEnumerable en la clase (puede ser tipada) • Utilizar nueva sentencia yield public class CityCollection : IEnumerable<string> { string[] m_Cities = {"New York","Paris","London"}; public IEnumerator<string> GetEnumerator() { for(int i = 0; i<m_Cities.Length; i++) yield return m_Cities[i]; } }
Novedades en los lenguajesC# - Desarrollo con Visual Studio • Auto code • Abreviaturas de código común • Refactoring • Ocho refactorizaciones • Renombrar • Extraer método • Encapsular campo • Generar esqueleto • … • Integrado con Visual Studio
Desarrollo web con ASP.NETObjetivos • Aumentar la productividad • Reducción del número de líneas • Escenarios comunes resueltos y extensibles • Mejorar la experiencia de diseño en VS • Administración y gestión • Facilitar el despliegue, configuración y administración • Rendimiento y escalabilidad
Role Manager Personalization Membership Site Navigation Management Database Caching ASP.NET 2.0 Application Services APIs Providers Desarrollo web con ASP.NETArquitectura Provider Model Design Pattern Windows SQL Server Custom Access MDB
Role Manager Personalization Membership Site Navigation Management Database Caching ASP.NET 2.0 Application Services APIs Desarrollo web con ASP.NETArquitectura
Security Data Navigation Web Parts Role Manager Personalization Membership Controles ASP.NET 2.0 (50+) ASP.NET 2.0 “Page Framework” Site Navigation Management Database Caching ASP.NET 2.0 Application Services APIs Master Pages Themes/Skins Localización Compilación Desarrollo web con ASP.NETArquitectura
Desarrollo web con ASP.NETApplication Server APIs • Membership, Role Manager, Personalization • Gestión automática de usuarios • Alta, registro, permisos, personalización por usuario • Site Navigation • Estructura del web y navegación • Database Caching • Caché automático dependiente de las consultas
Desarrollo web con ASP.NETPage Framework • Master Pages • Herencia visual para páginas web (plantillas) • Themes y Skins • Define el estilo de controles, páginas y webs • Definidas declarativa o programáticamente • Localización • Declarativa • Compilación • Basada en clases parciales • Permite precompilación
Desarrollo web con ASP.NETControles • Nuevos controles de datos • Mantenimiento de datos sin código • Paginación, ordenación… • Enlace a cualquier fuente (XML, objeto, servicio…) • Controles login • Enlazados con Membership • Web parts • Framework completo de web parts • Otros controles • TreeView, Wizard, Menu…
Desarrollo web con ASP.NETVisual Studio 2005 • No necesita IIS • Directamente desde el sistema de archivos • Mantenimiento del código HTML • Autoformato disponible • Validación configurable • Intellisense mejorado • Mucha mayor riqueza de diseño • Editor de tablas • Masterpages y controles de usuario en diseño
Windows FormsNuevo look & feel • Basado en estilos XP • Aspecto Office • Nuevos controles • GridView • DataContainer • Toolbar • Web browser • Background worker • Nuevos Layouts • Grid, Flow
Windows FormsVisual Studio • Smart tags • Facilita las tareas comunes con los controles • Trabajo con formularios complejos • Document outline • Edición rápida de propiedades • Alineamiento de controles automático • Nuevas fuentes de datos • XML, objeto, servicio, base de datos
Windows FormsClick Once • Nuevo método de distribución de aplicaciones • Soporte modo offline • Seguridad controlada • Fácil de instalar y actualizar • La aplicación detecta automáticamente los cambios • Fácil de desinstalar • Icono en panel de control • Posibilidad de Rollback
Dispositivos móvilesCompact Framework 2.0 • Mejoras en el entorno de ejecución • COM Interop • P/Invoke mejorado • Acceso directo al dispositivo • Telefonía, SMS • Nuevos controles • WebBrowser • Ballooms • RichInk • UserControl • …
Dispositivos móvilesSQL Server CE 3.0 • Integrado con SQL Server 2005 y Visual Studio • Administración, creación y edición de bases de datos • Disponible para SmartPhones • Multiusuario • Desarrollo de procedimientos y triggers con .NET
Visual Studio Tools for Office¿Qué es? • Extiende el desarrollo .NET a Office 2003 • Office como interfaz de nuestra aplicación • Mismo modelo Code Behind que WinForms • El formulario es Word o Excel • Integrado con Visual Studio • Puede usarse ClickOnce • El código .NET implementa la lógica • Accede a nuestra aplicación • Actualiza el documento (DataBinding disponible) • Responde a eventos
Desarrollador Tester Arquitecto Jefe de proyecto Infraestructura Visual Studio Team SystemObjetivos • Visual Studio para todo el ciclo software Diseñado para Operaciones Seguimiento en tiempo real Herramientas para todos los roles Calidad controlable
Process and Architecture Guidance Visual StudioTeam Architect Visual StudioTeam Developer Visual StudioTeam Test Logical Infra. Modeling Change Management Work Item Tracking Reporting Project Site Integration Services Project Management Dynamic Code Analyzer Static Code Analyzer Code Profiler Code Coverage Visio and UML Modeling Team Foundation Client VS Pro Class Modeling Load Testing Manual Testing Application Modeling Unit Testing Test Case Management Deployment Modeling Visual Studio Industry Partners Visual StudioTeam Foundation Visual Studio Team SystemEdiciones Visual Studio
Logical Infra. Modeling Deployment Modeling Application Modeling Class Modeling Process and Architecture Guidance Change Management Code Profiler Work Item Tracking Reporting Project Site Integration Services Project Management Dynamic Code Analyzer Code Coverage Unit Testing Visio and UML Modeling Team Foundation Client VS Pro Load Testing Manual Testing Static Code Analyzer Test Case Management Visual Studio Industry Partners Visual Studio Team SystemTeam Architect Visual StudioTeam Architect Visual StudioTeam Developer Visual StudioTeam Test Visual StudioTeam Foundation
Visual Studio Team SystemTeam Architect • Diseñador de aplicaciones distribuidas • Diseño alto nivel de un sistema • Validación sobre infraestructura real • Diseñador Infraestructura • Servidores, configuración y requisitos • Generación y compilación de SDMs • Diseñador de clases • Sincronización contínua en los dos sentidos
Dynamic Code Analyzer Static Code Analyzer Code Profiler Code Coverage Unit Testing Process and Architecture Guidance Team Foundation Client Change Management Work Item Tracking Reporting Project Site Integration Services Project Management Class Modeling VS Pro Load Testing Manual Testing Application Modeling Logical Infra. Modeling Visio and UML Modeling Test Case Management Deployment Modeling Visual Studio Industry Partners Visual Studio Team SystemTeam Developer Visual StudioTeam Architect Visual StudioTeam Developer Visual StudioTeam Test Visual StudioTeam Foundation