Desarrollo de Aplicaciones Con Visual Studio 2005
-
Upload
roman-jesus-astorga-guzman -
Category
Documents
-
view
36 -
download
3
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
[email protected]@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: [email protected]@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: [email protected]@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: [email protected]@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 [email protected]@ilitia.comRaúl Alarcón Raúl Alarcón [email protected]@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