Desarrollo de Aplicaciones Con Visual Studio 2005

93
Desarrollo de Desarrollo de aplicaciones con aplicaciones con Visual Studio 2005 Visual Studio 2005 Ilitia Ilitia Technologies Technologies www.ilitia.com www.ilitia.com

Transcript of Desarrollo de Aplicaciones Con Visual Studio 2005

Page 1: Desarrollo de Aplicaciones Con Visual Studio 2005

Desarrollo de Desarrollo de aplicaciones con aplicaciones con Visual Studio 2005 Visual Studio 2005

Ilitia TechnologiesIlitia Technologieswww.ilitia.comwww.ilitia.com

Page 2: Desarrollo de Aplicaciones Con Visual Studio 2005

AgendaAgenda

Introducción Ilitia TechnologiesIntroducción Ilitia Technologies

Novedades en Visual Studio .NET 2005Novedades en Visual Studio .NET 2005

Desarrollo web con ASP.NET 2.0Desarrollo web con ASP.NET 2.0

Visual Studio Team SystemVisual Studio Team System

PreguntasPreguntas

Material AdicionalMaterial Adicional

Page 3: Desarrollo de Aplicaciones Con Visual Studio 2005

IntroducciónIntroducciónPresentación Ilitia TechnologiesPresentación Ilitia Technologies

Fundada a principios del 2001Fundada a principios del 2001Microsoft Partner Microsoft Partner

Dedicada al desarrollo de aplicaciones de Dedicada al desarrollo de aplicaciones de software y a la consultoría en tecnologías software y a la consultoría en tecnologías de la informaciónde la información

Areas de especializacion (Areas de especializacion (competenciascompetencias):):Soluciones de SeguridadSoluciones de Seguridad

e-business e-business

Soluciones de MovilidadSoluciones de Movilidad

Page 4: Desarrollo de Aplicaciones Con Visual Studio 2005

IntroducciónIntroducciónServicios ProfesionalesServicios Profesionales

Desarrollo de SoftwareDesarrollo de Software

Especialistas en el entorno Microsoft.NetEspecialistas en el entorno Microsoft.Net

Marco metodológico ágilMarco metodológico ágilAgile Software DevelopmentAgile Software Development, , Test Driven DevelopmentTest Driven Development

““Program Management Body Of Knowledge” Program Management Body Of Knowledge” (PMBOK) del (PMBOK) del Program Management Institute (PMI)Program Management Institute (PMI)..

Colaboradores en proyectos clave de Colaboradores en proyectos clave de Microsoft IbéricaMicrosoft Ibérica

Page 5: Desarrollo de Aplicaciones Con Visual Studio 2005

IntroducciónIntroducciónDatos de ContactoDatos de Contacto

Dirección:Dirección:Avda. cerro del águila, 9Avda. cerro del águila, 9

San Sebastián de los San Sebastián de los reyesreyes

28700 Madrid28700 Madrid

Teléfonos y Mail:Teléfonos y Mail:T 91 652 58 08T 91 652 58 08

F 91 623 84 68F 91 623 84 68

[email protected]@ilitia.com

Web:Web:www.ilitia.comwww.ilitia.com

Page 6: Desarrollo de Aplicaciones Con Visual Studio 2005

1. Novedades en1. Novedades enVisual Studio .NET Visual Studio .NET 20052005

Miguel Jiménez Miguel Jiménez / MCSD.NET/ MCSD.NETSoftware Development EngineerSoftware Development Engineer

Email: Email: [email protected]@ilitia.comBlog: Blog: http://http://blogs.clearscreen.com/migsblogs.clearscreen.com/migs

Ilitia Technologieswww.ilitia.com

Page 7: Desarrollo de Aplicaciones Con Visual Studio 2005

AgendaAgenda

IntroducciónIntroducción

CLR (Entorno de Ejecución)CLR (Entorno de Ejecución)

Novedades en LenguajesNovedades en Lenguajes

Novedades en ADO.NETNovedades en ADO.NET

Windows FormsWindows Forms

Dispositivos MóvilesDispositivos Móviles

Visual Studio Tools for OfficeVisual Studio Tools for Office

Page 8: Desarrollo de Aplicaciones Con Visual Studio 2005

IntroducciónIntroducción

Page 9: Desarrollo de Aplicaciones Con Visual Studio 2005

IntroducciónIntroducciónObjetivosObjetivos

EcosistemaEcosistema

ProductividadProductividad

ConectividadConectividadCalidadCalidad

ClickOnceClickOnce

Windows Windows FormsForms

VSTOVSTO

ASP.NETASP.NET

RendimientoRendimiento

Servicios WebServicios Web

OperacionesOperaciones

MovilidadMovilidad

Visual Studio Team Visual Studio Team SystemSystem

SQL CLRSQL CLR

VSIPVSIP

64 bits64 bits

LenguajesLenguajes

Page 10: Desarrollo de Aplicaciones Con Visual Studio 2005

IntroducciónIntroducciónPilares de Visual Studio 2005Pilares de Visual Studio 2005

Smart Client

ClickOnce

Visual Studio Tools for Office

Windows Forms

Mobility

Herramientas y ciclo de vida

Visual Studio Team System

VSIP

Desarrollo Web

ASP.NET

Mobility

Advanced Web Services

64 bit, SQL/CLR, ADO.NET, CLR, Lenguajes, BCL

Fundamentals

Page 11: Desarrollo de Aplicaciones Con Visual Studio 2005

CLR - Entorno de ejecuciónCLR - Entorno de ejecución

Page 12: Desarrollo de Aplicaciones Con Visual Studio 2005

CLR - Entorno de ejecuciónCLR - Entorno de ejecuciónGenericsGenerics

Proporciona código independiente de la claseProporciona código independiente de la claseElegante, productivo y óptimoElegante, productivo y óptimo

Utilizado en la librería de clasesUtilizado en la librería de clasesColecciones genéricas, tipos nullables…Colecciones genéricas, tipos nullables…

// Sin Generics// Sin Generics

Collection emps = new Collection();Collection emps = new Collection();

emps.Add(new Employee("1", "Ap1"));emps.Add(new Employee("1", "Ap1"));

emps.Add(new Employee("2", "Ap2"));emps.Add(new Employee("2", "Ap2"));

foreach(object emp in emps)foreach(object emp in emps)

{{

;Employee employee = (Employee)emp;Employee employee = (Employee)emp

;Console.WriteLine(employee.Nombre);Console.WriteLine(employee.Nombre)

;Console.WriteLine(employee.Apellido);Console.WriteLine(employee.Apellido)

}}

// Sin Generics// Sin Generics

Collection emps = new Collection();Collection emps = new Collection();

emps.Add(new Employee("1", "Ap1"));emps.Add(new Employee("1", "Ap1"));

emps.Add(new Employee("2", "Ap2"));emps.Add(new Employee("2", "Ap2"));

foreach(object emp in emps)foreach(object emp in emps)

}}

Employee employee = (Employee)emp;Employee employee = (Employee)emp;

Console.WriteLine(employee.Nombre);Console.WriteLine(employee.Nombre);

Console.WriteLine(employee.Apellido);Console.WriteLine(employee.Apellido);

{{

// Con Generics// Con Generics

Collection<Employee> emps = new Collection<Employee> emps = new Collection<Employee>();Collection<Employee>();

emps.Add(new Employee("1", "Ap1"));emps.Add(new Employee("1", "Ap1"));

emps.Add(new Employee("2", "Ap2"));emps.Add(new Employee("2", "Ap2"));

foreach(Employee employee in emps)foreach(Employee employee in emps)

{{

;Console.WriteLine(employee.Nombre);Console.WriteLine(employee.Nombre)

;Console.WriteLine(employee.Apellido);Console.WriteLine(employee.Apellido)

}}

// Con Generics// Con Generics

Collection<Employee> emps = new Collection<Employee> emps = new Collection<Employee>();Collection<Employee>();

emps.Add(new Employee("1", "Ap1"));emps.Add(new Employee("1", "Ap1"));

emps.Add(new Employee("2", "Ap2"));emps.Add(new Employee("2", "Ap2"));

foreach(Employee employee in emps)foreach(Employee employee in emps)

}}

Console.WriteLine(employee.Nombre);Console.WriteLine(employee.Nombre);

Console.WriteLine(employee.Apellido);Console.WriteLine(employee.Apellido);

{{

Page 13: Desarrollo de Aplicaciones Con Visual Studio 2005

CLR - Entorno de ejecuciónCLR - Entorno de ejecuciónDepuraciónDepuración

Edit & ContinueEdit & ContinueModificación del código mientras se ejecutaModificación del código mientras se ejecuta

Soportado por VB.NET, C#, ASP.NETSoportado por VB.NET, C#, ASP.NET

Más información durante la depuraciónMás información durante la depuraciónDataTipsDataTips

Inspección de objetos simplificadaInspección de objetos simplificada

Visores de tipos (XML, HTML, DataSet…)Visores de tipos (XML, HTML, DataSet…)

Page 14: Desarrollo de Aplicaciones Con Visual Studio 2005

CLR - Entorno de ejecuciónCLR - Entorno de ejecución64 bits64 bits

Nuevo CLR sobre 64 bitsNuevo CLR sobre 64 bits

Las aplicaciones funcionan tal cualLas aplicaciones funcionan tal cualNo es necesario recompilarNo es necesario recompilar

ExcepcionesExcepcionesCódigo unsafeCódigo unsafe

Acceso a APIs nativasAcceso a APIs nativas

Desarrollo desde Visual Studio 2005Desarrollo desde Visual Studio 2005Depuración transparente entre 32 y 64 bitsDepuración transparente entre 32 y 64 bits

Incluye compiladores nativos y SDK (C++)Incluye compiladores nativos y SDK (C++)

Page 15: Desarrollo de Aplicaciones Con Visual Studio 2005

Generics

Page 16: Desarrollo de Aplicaciones Con Visual Studio 2005

Novedades en LenguajesNovedades en Lenguajes

Page 17: Desarrollo de Aplicaciones Con Visual Studio 2005

Novedades en LenguajesNovedades en LenguajesPartial Classes (Tipos parciales)Partial Classes (Tipos parciales)

Soportado en todos los lenguajesSoportado en todos los lenguajes

Una clase puede separarse en varios ficherosUna clase puede separarse en varios ficherosPemite separar código generado y personalizadoPemite separar código generado y personalizado

Muy utilizado en todo el entornoMuy utilizado en todo el entornoDataSets tipadosDataSets tipados

Windows FormsWindows Forms

ASP.NETASP.NET

Page 18: Desarrollo de Aplicaciones Con Visual Studio 2005

Novedades en Lenguajes Novedades en Lenguajes VB.NET – Clases MyVB.NET – Clases My

Acceso a funcionalidad comúnAcceso a funcionalidad común““Accesos directos” a la librería de clasesAccesos directos” a la librería de clases

IncluyeIncluyeMy.ApplicationMy.Application

My.ComputerMy.Computer

My.UserMy.User

My.FormsMy.Forms

My.WebServicesMy.WebServices

My.ResourcesMy.Resources

My.SettingsMy.Settings

Page 19: Desarrollo de Aplicaciones Con Visual Studio 2005

Novedades en LenguajesNovedades en Lenguajes VB.NET – Características de C#VB.NET – Características de C#

Sobrecarga de operadores y conversionesSobrecarga de operadores y conversiones

Documentación de códigoDocumentación de código

Nuevos tipos (UShort, UInteger, ULong)Nuevos tipos (UShort, UInteger, ULong)

Operador Operador IsNotIsNot

Sentencia Sentencia UsingUsing

Compilador compatible CLSCompilador compatible CLS

Page 20: Desarrollo de Aplicaciones Con Visual Studio 2005

Novedades en LenguajesNovedades en Lenguajes VB.NET – Desarrollo con Visual VB.NET – Desarrollo con Visual StudioStudio

Code snippetsCode snippets

Ventana Inmediato en modo diseñoVentana Inmediato en modo diseño

Intellisense mejoradoIntellisense mejorado

Corrector automáticoCorrector automático

Asistente de excepcionesAsistente de excepciones

Page 21: Desarrollo de Aplicaciones Con Visual Studio 2005

Novedades en LenguajesNovedades en LenguajesC# - Métodos anónimosC# - Métodos anónimos

Permite escribir delegados “inline”Permite escribir delegados “inline”

Inferencia automática del tipoInferencia automática del tipo

Thread task = new Thread(Thread task = new Thread(

new ThreadStart(new ThreadStart(

this.Background ));this.Background ));

private void Background()private void Background()

{{

;Trace.Write("1.0");Trace.Write("1.0")

}}

Thread task = new Thread(Thread task = new Thread(

new ThreadStart(new ThreadStart(

this.Background ));this.Background ));

private void Background()private void Background()

}}

Trace.Write("1.0");Trace.Write("1.0");

{{

Thread task = new Thread(Thread task = new Thread(

delegate()}delegate()}

Trace.Write("2.0");{ );Trace.Write("2.0");{ );

Thread task = new Thread(Thread task = new Thread(

delegate()}delegate()}

Trace.Write("2.0");{ );Trace.Write("2.0");{ );

this.Load += new EventHandler(this.Load += new EventHandler(

this.FormLoad );this.FormLoad );

this.Load += new EventHandler(this.Load += new EventHandler(

this.FormLoad );this.FormLoad ); this.Load += this.FormLoad;this.Load += this.FormLoad;this.Load += this.FormLoad;this.Load += this.FormLoad;

Page 22: Desarrollo de Aplicaciones Con Visual Studio 2005

Novedades en LenguajesNovedades en LenguajesC# - IteradoresC# - Iteradores

Crear una colección en 1.1 es complejoCrear una colección en 1.1 es complejoClase auxiliar Clase auxiliar IEnumeratorIEnumerator compleja de implementar compleja de implementar

C# 2.0 simplifica el procesoC# 2.0 simplifica el procesoImplementar Implementar IEnumerableIEnumerable en la clase (puede ser tipada) en la clase (puede ser tipada)

Utilizar nueva sentencia Utilizar nueva sentencia yieldyield

public class CityCollection : IEnumerable<string>public class CityCollection : IEnumerable<string>

}}

string[] m_Cities = }"New York","Paris","London"{;string[] m_Cities = }"New York","Paris","London"{;

public IEnumerator<string> GetEnumerator()public IEnumerator<string> GetEnumerator()

{{

for(int i = 0; i<m_Cities.Length; i++)for(int i = 0; i<m_Cities.Length; i++)

;yield return m_Cities[i];yield return m_Cities[i]

}}

}}

public class CityCollection : IEnumerable<string>public class CityCollection : IEnumerable<string>

}}

string[] m_Cities = }"New York","Paris","London"{;string[] m_Cities = }"New York","Paris","London"{;

public IEnumerator<string> GetEnumerator()public IEnumerator<string> GetEnumerator()

}}

for(int i = 0; i<m_Cities.Length; i++)for(int i = 0; i<m_Cities.Length; i++)

yield return m_Cities[i];yield return m_Cities[i];

{{

{{

Page 23: Desarrollo de Aplicaciones Con Visual Studio 2005

Novedades en LenguajesNovedades en LenguajesC# - Desarrollo con Visual StudioC# - Desarrollo con Visual Studio

Auto codeAuto codeAbreviaturas de código comúnAbreviaturas de código común

RefactoringRefactoringOcho refactorizacionesOcho refactorizaciones

RenombrarRenombrar

Extraer métodoExtraer método

Encapsular campoEncapsular campo

Generar esqueletoGenerar esqueleto

……

Page 24: Desarrollo de Aplicaciones Con Visual Studio 2005

Iteradores y Refactoring

Page 25: Desarrollo de Aplicaciones Con Visual Studio 2005

Novedades ADO.NETNovedades ADO.NET

Page 26: Desarrollo de Aplicaciones Con Visual Studio 2005

Novedades en ADO.NETNovedades en ADO.NETADO.NET – Provider FactoriesADO.NET – Provider Factories

Provider Factories (System.Data.Common)Provider Factories (System.Data.Common)Permite especificar el proveedor dinamicamentePermite especificar el proveedor dinamicamente

Util para herramientas y proveedores del IDEUtil para herramientas y proveedores del IDE

Cada Data Provider tiene un nombre Cada Data Provider tiene un nombre invariableinvariable““System.Data.SqlClient” ó System.Data.SqlClient” ó

“System.Data.OracleClient”“System.Data.OracleClient”

using System.Data.Commonusing System.Data.Common

static DbProviderFactory factory = DbProviderFactories.GetFactory("provider-name")static DbProviderFactory factory = DbProviderFactories.GetFactory("provider-name")

()DbConnection con = factory.CreateConnection()DbConnection con = factory.CreateConnection

()DbCommand cmd = con.CreateCommand()DbCommand cmd = con.CreateCommand

using System.Data.Commonusing System.Data.Common

static DbProviderFactory factory = DbProviderFactories.GetFactory("provider-name")static DbProviderFactory factory = DbProviderFactories.GetFactory("provider-name")

DbConnection con = factory.CreateConnection()DbConnection con = factory.CreateConnection()

DbCommand cmd = con.CreateCommand()DbCommand cmd = con.CreateCommand()

Page 27: Desarrollo de Aplicaciones Con Visual Studio 2005

Novedades en ADO.NET Novedades en ADO.NET ADO.NET – Mejoras DataSetADO.NET – Mejoras DataSet

Rendimiento y escalabilidadRendimiento y escalabilidad

Soporte para Serialización BinariaSoporte para Serialización Binaria

Actualizaciónes por lotes (Batched Actualizaciónes por lotes (Batched Updates)Updates)

Instancias de DataTables Instancias de DataTables independientesindependientes

DataSet.RemotingFormat = SerializationFormat.BinaryDataSet.RemotingFormat = SerializationFormat.BinaryDataSet.RemotingFormat = SerializationFormat.BinaryDataSet.RemotingFormat = SerializationFormat.Binary

DataAdapter.Fill(DataTable)DataAdapter.Fill(DataTable)

DataAdapter.Fill(DataTable[ ])DataAdapter.Fill(DataTable[ ])

DataAdapter.Update(DataTable)DataAdapter.Update(DataTable)

DataTable.Load(DataReader [, load-option] [, FillErrorEventHandler])DataTable.Load(DataReader [, load-option] [, FillErrorEventHandler])

DataAdapter.Fill(DataTable)DataAdapter.Fill(DataTable)

DataAdapter.Fill(DataTable[ ])DataAdapter.Fill(DataTable[ ])

DataAdapter.Update(DataTable)DataAdapter.Update(DataTable)

DataTable.Load(DataReader [, load-option] [, FillErrorEventHandler])DataTable.Load(DataReader [, load-option] [, FillErrorEventHandler])

Page 28: Desarrollo de Aplicaciones Con Visual Studio 2005

Serializacion Binaria

Page 29: Desarrollo de Aplicaciones Con Visual Studio 2005

Windows FormsWindows Forms

Page 30: Desarrollo de Aplicaciones Con Visual Studio 2005

Windows FormsWindows FormsNuevo look & feelNuevo look & feel

Basado en estilos XPBasado en estilos XPAspecto OfficeAspecto Office

Nuevos controlesNuevos controlesGridViewGridViewDataContainerDataContainerToolbarToolbarWeb browserWeb browserBackground workerBackground worker

Nuevos LayoutsNuevos LayoutsGrid, FlowGrid, Flow

Page 31: Desarrollo de Aplicaciones Con Visual Studio 2005

Windows FormsWindows FormsVisual StudioVisual Studio

Smart tagsSmart tagsFacilita las tareas comunes con los controlesFacilita las tareas comunes con los controles

Trabajo con formularios complejosTrabajo con formularios complejosEdición rápida de propiedadesEdición rápida de propiedades

Alineamiento de controles automáticoAlineamiento de controles automático

Nuevas fuentes de datosNuevas fuentes de datosXML, objeto, servicio, base de datosXML, objeto, servicio, base de datos

Page 32: Desarrollo de Aplicaciones Con Visual Studio 2005

Windows FormsWindows FormsClick Once DeploymentClick Once Deployment

Nuevo método de distribución de aplicacionesNuevo método de distribución de aplicacionesSoporte modo offlineSoporte modo offline

Seguridad controladaSeguridad controlada

Fácil de instalar y actualizarFácil de instalar y actualizarLa aplicación detecta automáticamente los La aplicación detecta automáticamente los cambioscambios

Fácil de desinstalarFácil de desinstalarIcono en panel de controlIcono en panel de control

Posibilidad de RollbackPosibilidad de Rollback

Page 33: Desarrollo de Aplicaciones Con Visual Studio 2005

Windows Forms

Page 34: Desarrollo de Aplicaciones Con Visual Studio 2005

Dispositivos móvilesDispositivos móviles

Page 35: Desarrollo de Aplicaciones Con Visual Studio 2005

Dispositivos móvilesDispositivos móvilesCompact Framework 2.0Compact Framework 2.0

Mejoras en el entorno de ejecuciónMejoras en el entorno de ejecuciónCOM InteropCOM Interop

P/Invoke mejoradoP/Invoke mejorado

Acceso directo al dispositivoAcceso directo al dispositivoTelefonía, SMSTelefonía, SMS

Nuevos controlesNuevos controlesWebBrowserWebBrowser

BalloomsBallooms

RichInkRichInk

UserControlUserControl

……

Page 36: Desarrollo de Aplicaciones Con Visual Studio 2005

Dispositivos móvilesDispositivos móvilesSQL Server CE 3.0SQL Server CE 3.0

Integrado con SQL Server 2005 y Visual Integrado con SQL Server 2005 y Visual StudioStudio

Administración, creación y edición de bases de Administración, creación y edición de bases de datosdatos

Disponible para SmartPhonesDisponible para SmartPhones

MultiusuarioMultiusuario

Desarrollo de procedimientos y triggers Desarrollo de procedimientos y triggers con .NETcon .NET

Page 37: Desarrollo de Aplicaciones Con Visual Studio 2005

Dispositivos móviles

Page 38: Desarrollo de Aplicaciones Con Visual Studio 2005

Visual Studio Tools for OfficeVisual Studio Tools for Office

Page 39: Desarrollo de Aplicaciones Con Visual Studio 2005

Visual Studio Tools for Visual Studio Tools for OfficeOffice¿Qué es?¿Qué es?Extiende el desarrollo .NET a Office 2003Extiende el desarrollo .NET a Office 2003

Office como interfaz de nuestra aplicaciónOffice como interfaz de nuestra aplicación

Mismo modelo Code Behind que WinFormsMismo modelo Code Behind que WinFormsEl formulario es Word o ExcelEl formulario es Word o ExcelIntegrado con Visual StudioIntegrado con Visual StudioPuede usarse ClickOncePuede usarse ClickOnce

El código .NET implementa la lógicaEl código .NET implementa la lógicaAccede a nuestra aplicaciónAccede a nuestra aplicaciónActualiza el documento (DataBinding Actualiza el documento (DataBinding disponible)disponible)Responde a eventosResponde a eventos

Page 40: Desarrollo de Aplicaciones Con Visual Studio 2005

ResumenResumen

Page 41: Desarrollo de Aplicaciones Con Visual Studio 2005

Novedades Visual Studio Novedades Visual Studio 20052005ResumenResumenAumento de la productividadAumento de la productividad

Intellisense en todos sitiosIntellisense en todos sitios

Code SnippetsCode Snippets

Nuevos Controles con estilos XPNuevos Controles con estilos XP

Extension a desarrollo con Office desde .NETExtension a desarrollo con Office desde .NET

Mejoras de los lenguajesMejoras de los lenguajesGenericsGenerics

Partial ClassesPartial Classes

IteradoresIteradores

Dispositivos MovilesDispositivos MovilesNuevo Compact FrameworkNuevo Compact Framework

Integración real de los dispositivosIntegración real de los dispositivos

SQL Server CE 3.0SQL Server CE 3.0

Page 42: Desarrollo de Aplicaciones Con Visual Studio 2005

2. Desarrollo web con 2. Desarrollo web con ASP.NET 2.0 ASP.NET 2.0

Raúl AlarcónRaúl AlarcónSoftware Development EngineerSoftware Development Engineer

Email: Email: [email protected]@ilitia.comBlog: Blog: http://blogs.clearscreen.com/ragchttp://blogs.clearscreen.com/ragc

Ilitia Technologieswww.ilitia.com

Page 43: Desarrollo de Aplicaciones Con Visual Studio 2005

AgendaAgenda

IntroducciónIntroducción

ArquitecturaArquitectura

Controles ASP.NET 2.0Controles ASP.NET 2.0

Mejoras Visual Studio 2005Mejoras Visual Studio 2005

ResumenResumen

Page 44: Desarrollo de Aplicaciones Con Visual Studio 2005

IntroducciónIntroducción

Page 45: Desarrollo de Aplicaciones Con Visual Studio 2005

IntroducciónIntroducciónObjetivosObjetivos

Aumentar la productividadAumentar la productividadReducción del número de líneasReducción del número de líneas

Escenarios comunes resueltos y extensiblesEscenarios comunes resueltos y extensibles

Mejorar la experiencia de diseño en VSMejorar la experiencia de diseño en VS

Administración y gestiónAdministración y gestiónFacilitar el despliegue, configuración y Facilitar el despliegue, configuración y administraciónadministración

Rendimiento y escalabilidadRendimiento y escalabilidad

Page 46: Desarrollo de Aplicaciones Con Visual Studio 2005

ArquitecturaArquitectura

Page 47: Desarrollo de Aplicaciones Con Visual Studio 2005

ArquitecturaArquitecturaApplication Services APIs (I)Application Services APIs (I)

ASP.NET 2.0 Application Services APIs

MembershipMembership Role ManagerRole Manager PersonalizationPersonalization

Site NavigationSite Navigation Database Caching

Database Caching

ManagementManagement

Page 48: Desarrollo de Aplicaciones Con Visual Studio 2005

ASP.NET 2.0 Application Services APIs

MembershipMembership Role ManagerRole Manager PersonalizationPersonalization

Site NavigationSite Navigation Database Caching

Database Caching

ManagementManagement

ArquitecturaProvider Model Design Pattern

Providers

Windows SQL Server Custom

Provider Model Design Pattern

Access MDB

Page 49: Desarrollo de Aplicaciones Con Visual Studio 2005

ASP.NET 2.0 Application Services APIs

MembershipMembership Role ManagerRole Manager PersonalizationPersonalization

Site NavigationSite Navigation Database Caching

Database Caching

ManagementManagement

Arquitectura

Page 50: Desarrollo de Aplicaciones Con Visual Studio 2005

ASP.NET 2.0 Application Services APIs

MembershipMembership Role ManagerRole Manager PersonalizationPersonalization

Site NavigationSite Navigation Database Caching

Database Caching

ManagementManagement

ASP.NET 2.0 “Page Framework”

ArquitecturaPage Framework y Controles

Master Pages

Master Pages

Themes/Skins

Themes/Skins

CompilaciónCompilaciónLocalizaciónLocalización

Controles ASP.NET 2.0 (50+)

SecuritySecurity Web PartsWeb PartsDataData NavigationNavigation

Page 51: Desarrollo de Aplicaciones Con Visual Studio 2005

ArquitecturaArquitecturaApplication Services APIsApplication Services APIs

Membership, Role Manager, PersonalizationMembership, Role Manager, PersonalizationGestión automática de usuariosGestión automática de usuarios

Alta, registro, permisos, personalización por usuarioAlta, registro, permisos, personalización por usuario

Site NavigationSite NavigationEstructura del web y navegaciónEstructura del web y navegación

Database CachingDatabase CachingCaché automático dependiente de las consultasCaché automático dependiente de las consultas

Page 52: Desarrollo de Aplicaciones Con Visual Studio 2005

ArquitecturaArquitecturaPage FrameworkPage Framework

Master PagesMaster PagesHerencia visual para páginas web (plantillas)Herencia visual para páginas web (plantillas)

Themes y SkinsThemes y SkinsDefine el estilo de controles, páginas y websDefine el estilo de controles, páginas y websDefinidas declarativa o programáticamenteDefinidas declarativa o programáticamente

LocalizaciónLocalizaciónDeclarativaDeclarativa

CompilaciónCompilaciónBasada en clases parcialesBasada en clases parcialesPermite precompilaciónPermite precompilación

Page 53: Desarrollo de Aplicaciones Con Visual Studio 2005

Controles ASP.NET 2.0Controles ASP.NET 2.0

Page 54: Desarrollo de Aplicaciones Con Visual Studio 2005

Controles ASP.NET 2.0Controles ASP.NET 2.0Más de 50 nuevos ControlesMás de 50 nuevos Controles

Nuevos controles de datosNuevos controles de datosMantenimiento de datos sin códigoMantenimiento de datos sin códigoPaginación, ordenación…Paginación, ordenación…Enlace a cualquier fuente (XML, objeto, Enlace a cualquier fuente (XML, objeto, servicio…)servicio…)

Controles loginControles loginEnlazados con MembershipEnlazados con Membership

Web partsWeb partsFramework completo de web partsFramework completo de web parts

Otros controlesOtros controlesTreeView, Wizard, Menu…TreeView, Wizard, Menu…

Page 55: Desarrollo de Aplicaciones Con Visual Studio 2005

Mejoras Visual Studio 2005Mejoras Visual Studio 2005

Page 56: Desarrollo de Aplicaciones Con Visual Studio 2005

Mejoras Visual Studio 2005Mejoras Visual Studio 2005Entorno de DesarrolloEntorno de Desarrollo

Proyectos basados en DirectoriosProyectos basados en DirectoriosNoNo hay archivo de proyecto, hay archivo de proyecto, nono se compila en una se compila en una DLLDLL

Modificar páginas individualmente y ejecutarlas.Modificar páginas individualmente y ejecutarlas.

Preservación del Fuente HTMLPreservación del Fuente HTMLFin del reformateo en el cambio de vistas Fin del reformateo en el cambio de vistas Diseño/Fuente.Diseño/Fuente.

Opciones de Formateo Flexibles y PrecisasOpciones de Formateo Flexibles y Precisas

Validación del código fuente configurableValidación del código fuente configurableCumplir estandares (XHTML, IE3.02, Netscape) y/o Cumplir estandares (XHTML, IE3.02, Netscape) y/o normativas de accesibilidad (normativas de accesibilidad (Section 508 + WCAGSection 508 + WCAG))

Intellisense en todos sitiosIntellisense en todos sitiosCode Behind, HTML, CSS, Web.Config, Xml… Code Behind, HTML, CSS, Web.Config, Xml…

Page 57: Desarrollo de Aplicaciones Con Visual Studio 2005

Mejoras Visual Studio 2005Mejoras Visual Studio 2005Entorno de Desarrollo Entorno de Desarrollo

Mejoras en el Diseñador HTMLMejoras en el Diseñador HTMLCreación y edición de tablas mejoradaCreación y edición de tablas mejoradaGeneración de estilos CSSGeneración de estilos CSS

Soporte en tiempo de diseño para las Soporte en tiempo de diseño para las “Master Pages”“Master Pages”

Edición “WYSIWYG”Edición “WYSIWYG”

Edición de Code-Behind MejoradoEdición de Code-Behind MejoradoCódigo Limpio y más orientado a objetosCódigo Limpio y más orientado a objetosElimina la fragilidad actual.Elimina la fragilidad actual.

Page 58: Desarrollo de Aplicaciones Con Visual Studio 2005

Mejoras Visual Studio 2005 Mejoras Visual Studio 2005 Entorno de EjecuciónEntorno de Ejecución

Servidor web ASP.NET “Built-in”Servidor web ASP.NET “Built-in”No se requiere IIS para desarrollarNo se requiere IIS para desarrollar

Se desconecta automáticamente cuando se Se desconecta automáticamente cuando se cierra el IDE de VScierra el IDE de VS

Sólo acepta peticiones localesSólo acepta peticiones locales

Publish WebPublish WebFacilidad para sincronizar / publicar webs Facilidad para sincronizar / publicar webs en servidores remotosen servidores remotos

Herramienta para diseñar test de carga Herramienta para diseñar test de carga y test funcionalesy test funcionales

Page 59: Desarrollo de Aplicaciones Con Visual Studio 2005

Coffee BreakCoffee Break

Page 60: Desarrollo de Aplicaciones Con Visual Studio 2005

ASP.NET 2.0

Page 61: Desarrollo de Aplicaciones Con Visual Studio 2005

ResumenResumen

Page 62: Desarrollo de Aplicaciones Con Visual Studio 2005

Desarrollo web con ASP.NET Desarrollo web con ASP.NET 2.02.0ResumenResumenPrincipales ventajas de ASP.NET 2.0Principales ventajas de ASP.NET 2.0

Desarrollo de aplicaciones Web más fácil que nuncaDesarrollo de aplicaciones Web más fácil que nunca

Plataforma que permite mejorar la experiencia del Plataforma que permite mejorar la experiencia del usuariousuario

Actualización sin problemasActualización sin problemasFunciona en IIS5, IIS5.1 y IIS6Funciona en IIS5, IIS5.1 y IIS6

Herramientas y recomendaciones para migración de Herramientas y recomendaciones para migración de aplicaciones ASP.NET v1.1aplicaciones ASP.NET v1.1

Beta2 disponible “en breve” con licencia “Go-Beta2 disponible “en breve” con licencia “Go-Live”Live”

Versión Final para la 2ª mitad de añoVersión Final para la 2ª mitad de año

Page 63: Desarrollo de Aplicaciones Con Visual Studio 2005

Toilette Break ;-)Toilette Break ;-)

Page 64: Desarrollo de Aplicaciones Con Visual Studio 2005

3. Visual Studio Team 3. Visual Studio Team SystemSystem

Miguel Jiménez Miguel Jiménez / MCSD.NET/ MCSD.NETSoftware Development EngineerSoftware Development Engineer

Email: Email: [email protected]@ilitia.comBlog: Blog: http://http://blogs.clearscreen.com/migsblogs.clearscreen.com/migs

Ilitia Technologieswww.ilitia.com

Page 65: Desarrollo de Aplicaciones Con Visual Studio 2005

AgendaAgenda

Objetivos Objetivos

Ediciones de Visual StudioEdiciones de Visual Studio

Team ArchitectTeam Architect

Team DeveloperTeam Developer

Team TestTeam Test

Team FoundationTeam Foundation

Page 66: Desarrollo de Aplicaciones Con Visual Studio 2005

ObjetivosObjetivos

Page 67: Desarrollo de Aplicaciones Con Visual Studio 2005

Visual Studio Team SystemVisual Studio Team SystemObjetivosObjetivos

Visual Studio para todo el ciclo softwareVisual Studio para todo el ciclo software

HerramientasHerramientaspara todos para todos

los roleslos roles

CalidadCalidadcontrolablecontrolable

SeguimientoSeguimientoen tiempo realen tiempo real

DiseñadoDiseñadoparapara

OperacionesOperaciones

Jefe de proyectoJefe de proyecto

ArquitectoArquitectoDesarrolladorDesarrollador

TesterTester

InfraestructuraInfraestructura

Page 68: Desarrollo de Aplicaciones Con Visual Studio 2005

Ediciones de Visual StudioEdiciones de Visual Studio

Page 69: Desarrollo de Aplicaciones Con Visual Studio 2005

Visual Studio Team SystemVisual Studio Team SystemEdiciones Visual StudioEdiciones Visual Studio

Change Management

Work Item Tracking

Reporting

Project Site

Visual Studio

Team Foundation

Integration Services

Project Management

Pro

cess

an

d A

rch

itect

ure

Pro

cess

an

d A

rch

itect

ure

G

uid

an

ceG

uid

an

ce

Dynamic Code Analyzer

Visual Studio

Team Architect

Static Code Analyzer

Code Profiler

Unit Testing

Code Coverage

Visio and UML Modeling

Team Foundation Client

VS Pro

Class Modeling

Load Testing

Manual Testing

Test Case Management

Application Modeling

Logical Infra. Modeling

Deployment Modeling

Visual Studio

Team DeveloperVisual Studio

Team Test

Vis

ual S

tud

io In

du

stry

V

isu

al S

tud

io In

du

stry

Part

ners

Part

ners

Page 70: Desarrollo de Aplicaciones Con Visual Studio 2005

Team ArchitectTeam Architect

Page 71: Desarrollo de Aplicaciones Con Visual Studio 2005

Change Management

Work Item Tracking

Reporting

Project Site

Visual Studio

Team Foundation

Integration Services

Project Management

Pro

cess

an

d A

rch

itect

ure

Pro

cess

an

d A

rch

itect

ure

G

uid

an

ceG

uid

an

ce

Dynamic Code Analyzer

Visual Studio

Team Architect

Static Code Analyzer

Code Profiler

Unit Testing

Code Coverage

Visio and UML Modeling

Team Foundation Client

VS Pro

Load Testing

Manual Testing

Test Case Management

Visual Studio

Team DeveloperVisual Studio

Team Test

Vis

ual S

tud

io In

du

stry

V

isu

al S

tud

io In

du

stry

Part

ners

Part

ners

Visual Studio Team SystemVisual Studio Team SystemTeam ArchitectTeam Architect

Application Modeling

Logical Infra. Modeling

Deployment Modeling

Class Modeling

Page 72: Desarrollo de Aplicaciones Con Visual Studio 2005

Visual Studio Team SystemVisual Studio Team SystemTeam ArchitectTeam Architect

Diseñador de aplicaciones distribuidasDiseñador de aplicaciones distribuidasDiseño alto nivel de un sistemaDiseño alto nivel de un sistema

Validación sobre infraestructura realValidación sobre infraestructura real

Diseñador InfraestructuraDiseñador InfraestructuraServidores, configuración y requisitosServidores, configuración y requisitos

Generación y compilación de SDMsGeneración y compilación de SDMs

Diseñador de clasesDiseñador de clasesSincronización contínua en los dos sentidosSincronización contínua en los dos sentidos

Page 73: Desarrollo de Aplicaciones Con Visual Studio 2005

Visual Studio Team SystemVisual Studio Team SystemTeam Architect (2)Team Architect (2)

Page 74: Desarrollo de Aplicaciones Con Visual Studio 2005

Visual Studio Team SystemVisual Studio Team SystemTeam Architect (3)Team Architect (3)

Page 75: Desarrollo de Aplicaciones Con Visual Studio 2005

Team DeveloperTeam Developer

Page 76: Desarrollo de Aplicaciones Con Visual Studio 2005

Visual Studio Team SystemVisual Studio Team SystemTeam DeveloperTeam Developer

Change Management

Work Item Tracking

Reporting

Project Site

Visual Studio

Team Foundation

Integration Services

Project Management

Pro

cess

an

d A

rch

itect

ure

Pro

cess

an

d A

rch

itect

ure

G

uid

an

ceG

uid

an

ce

Visual Studio

Team Architect

Visio and UML Modeling

Team Foundation Client

VS Pro

Class Modeling

Load Testing

Manual Testing

Test Case Management

Application Modeling

Logical Infra. Modeling

Deployment Modeling

Visual Studio

Team DeveloperVisual Studio

Team Test

Vis

ual S

tud

io In

du

stry

V

isu

al S

tud

io In

du

stry

Part

ners

Part

ners

Dynamic Code Analyzer

Static Code Analyzer

Code Profiler

Unit Testing

Code Coverage

Page 77: Desarrollo de Aplicaciones Con Visual Studio 2005

Visual Studio Team SystemVisual Studio Team SystemTeam DeveloperTeam Developer

Análisis estático de códigoAnálisis estático de códigoExamina el código fuenteExamina el código fuente

Nomenclatura, seguridad, bugs, …Nomenclatura, seguridad, bugs, …

ProfilingProfilingTiempos de llamada en funcionesTiempos de llamada en funciones

Reservas de memoria, estado GCReservas de memoria, estado GC

Entorno integrado de pruebas unitariasEntorno integrado de pruebas unitariasGeneración automática de testsGeneración automática de tests

Cobertura de códigoCobertura de código

Page 78: Desarrollo de Aplicaciones Con Visual Studio 2005

Team TestTeam Test

Page 79: Desarrollo de Aplicaciones Con Visual Studio 2005

Visual Studio Team SystemVisual Studio Team SystemTeam TestTeam Test

Change Management

Work Item Tracking

Reporting

Project Site

Visual Studio

Team Foundation

Integration Services

Project Management

Pro

cess

an

d A

rch

itect

ure

Pro

cess

an

d A

rch

itect

ure

G

uid

an

ceG

uid

an

ce

Visual Studio

Team Architect

Visio and UML Modeling

Team Foundation Client

VS Pro

Class Modeling

Application Modeling

Logical Infra. Modeling

Deployment Modeling

Visual Studio

Team DeveloperVisual Studio

Team Test

Vis

ual S

tud

io In

du

stry

V

isu

al S

tud

io In

du

stry

Part

ners

Part

ners

Load Testing

Manual Testing

Test Case Management

Dynamic Code Analyzer

Static Code Analyzer

Code Profiler

Unit Testing

Code Coverage

Page 80: Desarrollo de Aplicaciones Con Visual Studio 2005

Visual Studio Team SystemVisual Studio Team SystemTeam TestTeam Test

Test de cargaTest de cargaGrabación de pruebas webGrabación de pruebas web

Código .NET personalizableCódigo .NET personalizable

Patrones de cargaPatrones de cargaTiempos de espera, carga de datosTiempos de espera, carga de datos

Recolección de contadoresRecolección de contadoresCon límites recomendados en cada unoCon límites recomendados en cada uno

Gestión de casos de pruebaGestión de casos de pruebaIncluye casos de IUIncluye casos de IU

Page 81: Desarrollo de Aplicaciones Con Visual Studio 2005

Team FoundationTeam Foundation

Page 82: Desarrollo de Aplicaciones Con Visual Studio 2005

Visual Studio Team SystemVisual Studio Team SystemTeam FoundationTeam Foundation

Visual Studio

Team Foundation

Pro

cess

an

d A

rch

itect

ure

Pro

cess

an

d A

rch

itect

ure

G

uid

an

ceG

uid

an

ce

Dynamic Code Analyzer

Visual Studio

Team Architect

Static Code Analyzer

Code Profiler

Unit Testing

Code Coverage

Visio and UML Modeling

Team Foundation Client

VS Pro

Class Modeling

Load Testing

Manual Testing

Test Case Management

Application Modeling

Logical Infra. Modeling

Deployment Modeling

Visual Studio

Team DeveloperVisual Studio

Team Test

Vis

ual S

tud

io In

du

stry

V

isu

al S

tud

io In

du

stry

Part

ners

Part

ners

Change Management

Work Item Tracking

Reporting

Project Site

Integration Services

Project Management

Page 83: Desarrollo de Aplicaciones Con Visual Studio 2005

Visual Studio Team SystemVisual Studio Team SystemTeam FoundationTeam Foundation

Creación de proyectos parametrizadosCreación de proyectos parametrizadosHitos, tareas, entregables…Hitos, tareas, entregables…

Creación de WorkItemsCreación de WorkItemsElementos de trabajo, no solo tareasElementos de trabajo, no solo tareas

Pueden ser bugs, o nueva funcionalidadPueden ser bugs, o nueva funcionalidad

Cambios asociados a los WorkItemsCambios asociados a los WorkItems

Page 84: Desarrollo de Aplicaciones Con Visual Studio 2005

Visual Studio Team SystemVisual Studio Team SystemTeam FoundationTeam Foundation

Gestión de códigoGestión de códigoCambios asociados a tareasCambios asociados a tareas

ShelvingShelving

Page 85: Desarrollo de Aplicaciones Con Visual Studio 2005

Visual Studio Team SystemVisual Studio Team SystemTeam FoundationTeam Foundation

Gestión de proyectosGestión de proyectosAsignación y seguimiento de tareasAsignación y seguimiento de tareas

Integración con Project y ExcelIntegración con Project y Excel

Page 86: Desarrollo de Aplicaciones Con Visual Studio 2005

Visual Studio Team SystemVisual Studio Team SystemTeam FoundationTeam Foundation

Integración ContinuaIntegración ContinuaAutomatización de Builds Automatización de Builds

Nightly BuildsNightly Builds

Page 87: Desarrollo de Aplicaciones Con Visual Studio 2005

Visual Studio Team SystemVisual Studio Team SystemTeam FoundationTeam Foundation

Gestión de proyectosGestión de proyectosAsignación y seguimiento de tareasAsignación y seguimiento de tareas

Integración con Project y ExcelIntegración con Project y Excel

Page 88: Desarrollo de Aplicaciones Con Visual Studio 2005

ResumenResumen

Page 89: Desarrollo de Aplicaciones Con Visual Studio 2005

Visual Studio Team SystemVisual Studio Team SystemResumenResumen

Favorece el trabajo en equipoFavorece el trabajo en equipo

Integrado en todo el ciclo de desarrolloIntegrado en todo el ciclo de desarrolloArquitecturaArquitectura

InfraestructuraInfraestructura

DesarrolloDesarrollo

PruebasPruebas

Gestion del proyecto desde un portalGestion del proyecto desde un portal

Integración con heramientas comunesIntegración con heramientas comunes

Page 90: Desarrollo de Aplicaciones Con Visual Studio 2005

¿ Preguntas ?¿ Preguntas ?

Page 91: Desarrollo de Aplicaciones Con Visual Studio 2005

ReferenciaReferenciaMaterial AdicionalMaterial AdicionalLibrosLibros

Refactoring, Improving the design of existing code (Martin Refactoring, Improving the design of existing code (Martin Fowler, ISBN:0201485672)Fowler, ISBN:0201485672)Test Driven Development (Kent Beck, ISBN:0321146530)Test Driven Development (Kent Beck, ISBN:0321146530)Test Driven Development in Microsoft .NET (James Newkirk, Test Driven Development in Microsoft .NET (James Newkirk, ISBN:0735619484)ISBN:0735619484)Introducing eXtreme Programming Techniques to .NET Introducing eXtreme Programming Techniques to .NET Developers (Neil Roodyn, ISBN:0321303636)Developers (Neil Roodyn, ISBN:0321303636)

EnlacesEnlaceshttp://msdn2.microsoft.com/library/default.aspxhttp://msdn2.microsoft.com/library/default.aspxhttp://www.ilitia.comhttp://www.ilitia.com

Correo ElectronicoCorreo ElectronicoMiguel Jimenez Miguel Jimenez [email protected]@ilitia.comRaúl Alarcón Raúl Alarcón [email protected]@ilitia.com

Page 92: Desarrollo de Aplicaciones Con Visual Studio 2005

Webcast teóricoWebcast teóricoTalleres en ciudadesTalleres en ciudadesAplicación MSDN VideoAplicación MSDN Videowww.DesarrollaConMSDN.comwww.DesarrollaConMSDN.com

Código de MSDN VideoCódigo de MSDN VideoCalendarioCalendarioTutorialesTutorialesSeminariosSeminariosArtículosArtículosForosForosDescuento 40% librosDescuento 40% libros

Webcast teóricoWebcast teóricoTalleres en ciudadesTalleres en ciudadesAplicación MSDN VideoAplicación MSDN Videowww.DesarrollaConMSDN.comwww.DesarrollaConMSDN.com

Código de MSDN VideoCódigo de MSDN VideoCalendarioCalendarioTutorialesTutorialesSeminariosSeminariosArtículosArtículosForosForosDescuento 40% librosDescuento 40% libros

SepSep OctOct NoNovv

DicDic EneEne FebFeb MaMarr

AbrAbr MaMayy

JunJun

.NET y .NET y Servicios Servicios

WebWeb

Desarrollo Desarrollo webweb

SmartSmartClientsClients

Visual Studio Visual Studio 20052005

SQL Server 2005SQL Server 2005

Page 93: Desarrollo de Aplicaciones Con Visual Studio 2005