Desarrollo de Aplicaciones Con Visual Studio 2005

Post on 04-Aug-2015

37 views 3 download

Transcript of 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

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

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

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

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

info@ilitia.cominfo@ilitia.com

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

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: miguel@ilitia.commiguel@ilitia.comBlog: Blog: http://http://blogs.clearscreen.com/migsblogs.clearscreen.com/migs

Ilitia Technologieswww.ilitia.com

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

IntroducciónIntroducción

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

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

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

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);

{{

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…)

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++)

Generics

Novedades en LenguajesNovedades en Lenguajes

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

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

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

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

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;

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];

{{

{{

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

……

Iteradores y Refactoring

Novedades ADO.NETNovedades ADO.NET

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()

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])

Serializacion Binaria

Windows FormsWindows Forms

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

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

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

Windows Forms

Dispositivos móvilesDispositivos móviles

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

……

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

Dispositivos móviles

Visual Studio Tools for OfficeVisual Studio Tools for Office

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

ResumenResumen

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

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: raul@ilitia.comraul@ilitia.comBlog: Blog: http://blogs.clearscreen.com/ragchttp://blogs.clearscreen.com/ragc

Ilitia Technologieswww.ilitia.com

AgendaAgenda

IntroducciónIntroducción

ArquitecturaArquitectura

Controles ASP.NET 2.0Controles ASP.NET 2.0

Mejoras Visual Studio 2005Mejoras Visual Studio 2005

ResumenResumen

IntroducciónIntroducción

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

ArquitecturaArquitectura

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

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

ASP.NET 2.0 Application Services APIs

MembershipMembership Role ManagerRole Manager PersonalizationPersonalization

Site NavigationSite Navigation Database Caching

Database Caching

ManagementManagement

Arquitectura

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

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

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

Controles ASP.NET 2.0Controles ASP.NET 2.0

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…

Mejoras Visual Studio 2005Mejoras 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…

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.

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

Coffee BreakCoffee Break

ASP.NET 2.0

ResumenResumen

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

Toilette Break ;-)Toilette Break ;-)

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: miguel@ilitia.commiguel@ilitia.comBlog: Blog: http://http://blogs.clearscreen.com/migsblogs.clearscreen.com/migs

Ilitia Technologieswww.ilitia.com

AgendaAgenda

Objetivos Objetivos

Ediciones de Visual StudioEdiciones de Visual Studio

Team ArchitectTeam Architect

Team DeveloperTeam Developer

Team TestTeam Test

Team FoundationTeam Foundation

ObjetivosObjetivos

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

Ediciones de Visual StudioEdiciones de Visual Studio

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

Team ArchitectTeam Architect

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

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

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

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

Team DeveloperTeam Developer

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

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

Team TestTeam Test

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

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

Team FoundationTeam Foundation

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

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

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

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

Visual Studio Team SystemVisual Studio Team SystemTeam FoundationTeam Foundation

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

Nightly BuildsNightly Builds

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

ResumenResumen

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

¿ Preguntas ?¿ Preguntas ?

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 miguel@ilitia.commiguel@ilitia.comRaúl Alarcón Raúl Alarcón raul@ilitia.comraul@ilitia.com

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