FIRTMAN, MAXIMILIANO / NATALE, LEONARDO
Cap¡tulo 1
Visual Studio. . . . . . . . . . . 1
Introducci¢n . . . . . . . . . . . . . _1
Versiones . . . . . . . . . . . . . . . _2
Ediciones Express . . . . . . . . . . . . . . . . . . . . . . . . _2
Visual Basic Express. . . . . . . . . . . . . . _3
Visual C# Express. . . . . . . . . . . . . _3
Visual C++ Express. . . . . . . . . . . . _3
Visual Web Developer Express. . . . _4
Edici¢n Est ndar. . . . . . . . . . . . . . . . _4
Edici¢n Profesional. . . . . . . . . . . _5
Edici¢n Team System. . . . . . . . . . . . . . . . . . . . . . . 6
Edici¢n para Arquitectos. . . . . . . . . . . . _7
Edici¢n Base de Datos. . . . . . . . . . . . . _7
Edici¢n Desarrollo. . . . . . . . . _7
Edici¢n para Pruebas. . . . . . . . . . . . . . . _7
Cambios desde Visual Studio 2005 . . _8
M£ltiples plataformas. . . . . . . . _8
M£ltiples proyectos. . . . . . . . . . . . . . . . . . _9
Nuevas caracter¡sticas visuales. . . . . . . _10
Una misma fuente para todo. . . . . . . . . . _10
Navegador de ventanas y archivos. . . _11
Accediendo a los foros. . . . . _11
Plantillas ordenadas. . . . . . . . . . . . _13
Explorador de Objetos. . . . . . . . . . . . . . . . _13
IntelliSense. . . . _13
Ventanas est ndar. . . _14
Explorando carpetas. . . . . . . . _15
Nuevas caracter¡sticas de c¢digo. . _16
Nuevos lenguajes . . . . . . . . . . _16
Mejorando nuestro c¢digo. . _16
JavaScript . . . . . . . . . . . . . . . _18
IntelliSense. . . . . . . . . . . . _18
Depuraci¢n. . . . . . . . . . . . . . . . . . . . . . . . . . . _18
Nuevas caracter¡sticas
para Windows Forms. . . . . . . . . _19
.NET Framework Client Profile. . . . . _19
ClickOnce. . . . . . . . . . . . . . . . _20
Windows Presentation Foundation. . . _21
Servicios de aplicaci¢n cliente. . _22
Nuevas caracter¡sticas para ASP.NET. _23
Proyectos Web. . . . . . _23
M£ltiples plataformas. . . . . . . . . . . . . . . . . _24
Nuevos controles. . . . _24
ListView. . . . . . . . . . . . . . . . . . . . . . . . . . . . . _24
DataPager. . . . . . . . . . . _24
LinqDataSource. . . . . _26
Dise¿ador HTML. . . . _26
Trabajando con hojas de estilo. . . . _27
Administrar estilos. . . . . . . . . . . . . _28
Propiedades de CSS. . . . . . . . . . . . _30
Aplicar estilos. . . . . . . . _30
AJAX. . . . . . . . _30
AJAX Control Toolkit . . . _31
Nuevas caracter¡sticas Mobile. . _33
.NET Compact Framework 3.5. . . . _33
Power Toys para .NET Compact
Framework 3.5.. . . . . . . _35
Creando aplicaciones. . . . . . . . . . . . _35
Emulador 3.0. . . . . . . . . . _37
SQL Server Compact 3.5. . . . . . . . . . . . . . . . . 38
Pruebas de unidad. . . . . . . . . _40
Cap¡tulo 2
.NET Framework 3.5. . . . . . . _43
Introducci¢n. . . . . . . 43
Novedades en la versi¢n 2.0. . . . . . . . . _43
Novedades en la versi¢n 3.0. . . . . _44
Windows CardSpace. . . . . . . _45
Introducci¢n. . . . . . . _45
Qu? es. . . . . . . . . . . _46
Crear una tarjeta. . . . . . . . _46
C¢mo funciona. . . . . . . . . . . . . . . _49
Utilizando nuestra tarjeta digital. . . . . . _50
Windows Communication Foundation 50
Introducci¢n. . . . . . . . . . . . . . . . _50
Qu? es. . . . _51
Conceptos fundamentales. . . . . . . . . . . . . _51
Contrato de Servicio. . _52
Implementar el Contrato de Servicio 52
Alojar el servicio y exponer
puntos de acceso. . . . . . . . . . . . _52
Configurar el cliente. . . . . . . . _55
Creando un servicio y un cliente. . . . . . _55
Servicio . . . . . . . . . . . . . . _55
Cliente. . . . . . . . . . . . _60
Potenciando WCF. . . . . . . . . . . . . . _65
Windows Workflow Foundation. . . . . . . . 65
Introducci¢n. . . . . . . . . . . . . . _65
Qu? es. . . . . . . . . . . . . . . . _66
Dise¿ador visual. . . . . . . . . . . . . _69
Actividades. . . . . . . . . . . . . . . _70
Creando un flujo de trabajo. . . _71
Potenciando WWF. . . . . . . _76
Windows Presentation Foundation. . . _77
Introducci¢n. . . . . . . _77
Qu? es. . . . . . . . . . . . . . . . . . . . . . . _77
Aplicaciones independientes. . _78
Aplicaciones del explorador . . . . . . _78
XAML. . . . . . . . . . . . . . . _79
Herramientas. . . . . . . . . . . . . . _81
Expression Design. . . . . . . . . . . . . . _81
Expression Blend . . . . . . . . . . . . . _81
Visual Studio. . . . . . . . . . . . . . _81
Novedades WPF 3.5 y
Visual Studio 2008 . . . . . . . . . . . _82
Novedades desde WPF 3.5. . . . . . . . _82
Novedades desde Visual Studio
2008 SP 1. . . . . . . . . . . . . _84
Ejemplo de aplicaci¢n WPF. . . . . . . . . . . . _86
Cap¡tulo 3
C# 3.0 89
Introducci¢n. . . . . . . . . . . . . . . _89
La evoluci¢n en C#. . . . . . . . _89
Caracter¡sticas incorporadas
en .NET Framework 2.0. . . . . . . . . . . _90
Gen?ricos. . . . . . . . . . . . . _90
Nuestra primera clase gen?rica. . . _93
Utilizando ClaseGen?rica. . . . . . . . . . . _94
Creando m?todos gen?ricos . . _96
Iteradores. . . . . . . . . . . . . _97
Qu? son. . . . . . . . . . . . . . . . . . . . _98
Iteradores + Gen?ricos: La uni¢n
hace la fuerza. . . . . . . . . . . . . _101
M?todos An¢nimos. . . . . . . . . . . . . . . . _102
Algunas consideraciones. . . . . . . . . . . _104
Incorporaciones en C# 3.0. . . . . . . . . . . . . . . _104
M?todos Parciales. . . . . . . . . . . . . . _104
Tipos Impl¡citos. . . . . . . . . . . . . . . . . . . . . _105
Inicializadores de objetos . . . . . . . . . . . . . . . _108
Trabajando con colecciones. . . . . . . _113
Tipos An¢nimos. . . . . . . . . . . _114
M?todos extensores. . . . . . . . . . . . . . . . _117
Expresiones Lambda. . . . . . . . . . _121
Predicados y Proyecciones. . . . _123
Expresiones de consulta. . . . . . . . _124
Cap¡tulo 4
Visual Basic 2008 129
Introducci¢n. . . . . . . . . . . . . . . . _129
La evoluci¢n en VB . . . . . . . . . . . . . . . . _129
Visual Basic .NET. . . . . . . . . . . . . . . . . . . _130
Caracter¡sticas incorporadas
en .NET Framework 2.0. . . _131
Gen?ricos. . . . . . . . . . . . . . _131
Nuestra primera clase gen?rica. . . _134
Utilizando clase gen?rica. . . . . . . . . . _135
Creando m?todos gen?ricos . . _136
Clases Parciales. . . _137
Objeto My. . . . . . . . . . . . . . _138
Objetos Disponibles. . . . . . . . . _139
Sobrecarga de operadores. . . . . . . . . . . . . . _140
Operadores Unarios
(un par metro) . . . _142
Operadores Binarios
(dos par metros). . . . . . . . _142
Otros cambios menores. . . . . . . . . . . . . . . _142
Operador IsNot. . . . . . . . . . . . _142
Definici¢n de Arrays. . . . . . . . . . . . . _142
Instrucci¢n Continue. . . . . . . _142
Tipos sin Signo. . . . . . . . . . . . . . _143
Comentarios XML. . . . . . . . . . . . . . . . _143
Instrucci¢n using. . . . . . . . . . . . . . . _143
Operador TryCast. . . . . . . . . . . . _143
Incorporaciones en Visual Basic 2008. _143
Nullable Types. . . . . . . . . . _143
Operador Ternario. . . . . . . . . . . . . . . _144
Tipos Impl¡citos. . . . . . . . . . . . . . . . . . _144
Inicializadores de objetos . . . . . . . . _146
Trabajando con colecciones. . . . . . . _148
Tipos An¢nimos. . . . . . . . . . . . . . . . _149
M?todos extensores. . . _149
Expresiones Lambda. . . . . . . . . . . . . . _152
M?todos Parciales. . . . . . . . . . . . . . _153
Literales XML. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . _153
Literal de elemento XML. . . . . . . _154
Literal de Documento XML. . . . . _154
Expresiones Incrustadas. . . . _155
Expresiones de consulta. . . . . . . . . _155
Cap¡tulo 5
LINQ. . . . . . . . . . . . _159
Qu? es. . . . . . . . . . . . . . . . . . . . _159
Por qu? se lo necesita. . . . . . . . . . . . . _159
Sintaxis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . _161
Sintaxis de m?todos. . . . _161
Sintaxis de Consulta . . . . . . . . . . _163
Operadores. . . . . . . . . . . . . . . . . . _164
Operadores de selecci¢n. . . . . . . . . . . _164
Operadores de Restricci¢n. . . . . . _165
Operadores de Ordenaci¢n. . . . _166
Operadores de Agrupaci¢n. . . . . . . . _167
Operadores de Elemento. . . . . . . . . . . _168
Operadores de Agregaci¢n. . . . . . . . . 168
Operadores de concatenaci¢n. . . _169
Operadores de divisi¢n. . . . . . . _169
Operadores de Conjuntos. . . . . . . . . . _170
Otros operadores. . . . . . . . _171
Combinando las consultas. . . . . . . . . _171
Ejecuci¢n de consultas. . . . . . . . . . . . . . . _172
Tipos de expresiones. . . . . . _174
LINQ a Objetos. . . . . . . . . . . . . . . . _174
Ejemplo 1. . . . . . . . . . . . . . . . . _174
LINQ a XML . . . . . . . . . . . . . . . . . _181
Construcciones funcionales . . . . . . . _182
Centricidad en los elementos. . . . . . 184
Espacio de nombres y prefijos. . . . _184
Accediendo a los valores. . . . . . . _185
M?todos para operar en XML. . . . . _186
LINQ a SQL. . . . . . . . . . . . . . . . _195
Entidades de clases. . . . . _195
El DataContext. . . . . . . . . . . . . . _196
LinqDataSource. . . . . . . . . . . . _203
LINQ a DataSet. . . . . . . . . . . . . . . . _204
DataSet no tipado. . . . . . . . . . . . . _204
DataSet tipados. . . . . . . . . . . . . . . . . . . . . . . 206
CopyToDataTable. . . . . . . . _207
DataRowComparer. . . . . . . . . . . . _207
Cap¡tulo 6
ASP.NET. . . . . . . . . . . . . . . . . . . . . . . . . . . . . _209
Historia. . . . . . . . . . . . . . . . . . _209
Pasado. . . . . . . . . . _209
Presente. . . . . . . . . . _210
Futuro. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Proyectos ASP.NET. . . . . . . . . . . . . . . . . . . . . . _211
Diferencias en Visual Studio. . . . . . . _211
Tipos de Aplicaciones Web. . . . . . . . . . . . . _212
Formularios Web. . . . . . . _212
ASP.NET AJAX. . . . . . . . . . . . . . _212
ASP.NET MVC. . . . . . . . . . . . . . _213
Datos Din micos. . . . . . . . . . . . .213
Fundamentos. 214
Controles Web. 214
Cambios en el objeto Page. 215
Servicios. 215
Modelo de Trabajo. 215
Configuraci¢n. 219
Asistentes de configuraci¢n . 220
Peque¿os cambios, grandes soluciones. 222
ControlState. 223
Foco. 223
Navegaci¢n Cruzada. 224
Directorio ra¡z de la aplicaci¢n. 226
Validaci¢n en Grupos. 226
MasterPages. 227
Introducci¢n. 227
P gina Principal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
P gina de Contenido. 229
Contenido por defecto . 230
Themes y Skins. 230
Introducci¢n. 230
Utilizaci¢n. 231
Skins. 231
Temas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
Skin por defecto. 232
Especificaci¢n de Temas. . . . . . . . . . . . 232
Temas globales. 232
Controles DataSource. 233
SQLDataSource. 234
Trabajando con ConnectionStrings. _234
Trabajando con SQL. 235
Filtrado. 236
Operaciones de Actualizaci¢n. 236
Par metros. 237
Actualizando la clave primaria. 240
Cach? de Datos. 240
ObjectDataSource. . . . . . . . . . . . . . . . . . . . . . . . . . 241
Conect ndonos a Capa de Datos. 241
Conect ndonos a Capa de L¢gica. _243
Parametrizando los listados. . . . . . . . 244
XmlDataSource . 246
SiteMapDataSource. 246
LinqDataSource. 247
Filtrando datos. 248
Seleccionando resultado. . . . . . . . . . . . 248
Otras posibilidades. 248
EntityDataSource. 249
Trabajando con Datos. 250
Enlaces. 250
Enlace simple. 250
Enlace doble v¡a. 251
Enlace a XML. 251
Controles. 251
Controles de Lista . 252
GridView. 254
La evoluci¢n del DataGrid. 254
El control . 255
Paginaci¢n. 256
Ordenamiento. 257
Edici¢n y Eliminaci¢n. 257
Opciones Avanzadas. . . . . . . . . . . . . . . . . 258
DetailsView. 259
¿Qu? es?. 259
Sintaxis. 260
Paginaci¢n. 261
FormView. 261
ListView. 262
Plantillas B sicas. 263
Paginando resultados. 264
Plantillas Avanzadas. 265
Trabajando con grupos. 265
Controles de Visualizaci¢n. 266
ImageMap. 266
HiddenField. 267
Literal. 267
FileUpload. 268
Wizard. 268
MultiView. 273
Substitution. 274
Localize. 275
Controles de Navegaci¢n. 275
TreeView. 275
SiteMapPath. 279
Menu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Identificaci¢n de Usuarios. 281
Introducci¢n. 281
Autenticaci¢n por Formularios. 281
Membership. 282
Clase Membership. 282
Clase MembershipUser. . . _283
Roles. . . _284
Controles. . . . . . . . _284
Login. . . . . . . . . . . . . _284
LoginName. . _286
LoginStatus. . . . . . . . . . . . . . . _286
LoginView. . _286
PasswordRecovery. . . _287
ChangePassword. . . . . _288
CreateUserWizard. . . _288
Perfiles de Usuario. . . . . . . . . . . . . . . _290
¿Qu? es un Perfil?. . . . _290
Definici¢n de los Perfiles. . . . . _291
Accediendo al perfil . . . . . . . . . . . _291
WebParts. . . . . . . . . . . . . . . . . . . . . . . . . . . _291
Qu? son. . . . . _291
Conceptos. . . _292
Controles. . . . . _292
Nuevos frameworks. . . . . . . . . . . _293
Dynamic Data. . . . . _293
Creando un proyecto . . . . _295
Maestro-Detalle. . . . . _297
Funcionamiento. . . . . . . . _297
Personalizaci¢n b sica. . . . . . . _298
Personalizaci¢n avanzada. . . . . . _299
Manualmente din micos. . . . _301
URL Routing . . . . . _301
Ruteo por IIS. . . . . . . . . . . _302
Controles Silverlight. . . . . . . . . . . . . . . . . _302
MediaPlayer. . . . . . . . . . . . . . . . . _302
Contenido Silverlight. . . . _303
Web Platform Installer. . . . . _303
Lenguajes Din micos. . . . . . . . . . . _304
Cap¡tulo 7
AJAX y MVC. . . . . . . . . . . . . . . . . . . . . . . . . . . . _305
ASP.NET AJAX. . . . . . . . . . . . . . . _305
AJAX y RIA . . . . . . . . . . . . . . . _305
El framework. . . . . _305
Historia. . . . _305
AJAX. . . . . . . . . . . . . . . . . . . . . . . . . . . . . _305
Librer¡a de Cliente. . . . . . . . . . . _306
Librer¡a de Servidor. . . . . . . . . . . . _308
Configuraci¢n. . . . . . _308
Control de errores. . . . _310
ScriptManagerProxy. . . . . . . . _311
M?todos de P gina. . . . . . . . . . . . _312
Using System.Web.Services. . . . . _313
Servicios Web. . . . . . . . . . . . . . . . . _315
JSON. . . . . . . . . . . . . . . . . . . . . . . . . . . . _319
Actualizaci¢n Parcial. . . . . . . . . . . _320
Introducci¢n. . . . . . . . . . . _320
UpdatePanel. . . . . . . . . . . . . . . . . . _320
Paneles m£ltiples. . . . . . . . . . . _323
Aviso de Progreso. . . . . . _326
Cron¢metro. . . . . . . . . . . _327
AJAX Control Toolkit . . . . . . . . . . . . . . . _329
¿Qu? es?. . . . . . . . . . . . . . . . . . . . . . . _329
Requisitos. . . . . . _329
Controles. . . . . . . . . . _331
Extensores. . . _331
Framework de Animaci¢n. . . . . . . . . _336
jQuery . . . . . . . . . . . . . . _337
¿Qu? es?. . . . . . . . . . . . . . . . . . . . . _337
Relaci¢n con ASP.NET. . . . _338
Futuro de ASP.NET AJAX. . . . . . . . . . . . _338
ASP.NET MVC. . . . . . . . . . . . . . . . . . . . . . . . . _339
El patr¢n MVC. . . . . . . . . . _340
Modelo. . . . . . . . . . . . _340
Vista. . . . . . . . . . . . . . . . _340
Controlador. . . . _341
Framework. . . . . . . . . . . . . . . . . . . . . . . . . . _341
Ruteo din mico. . . . . . . . . . _341
¿Qu? puede hacer un controlador?. 342
Creando un sitio MVC. . . . . . _342
Introducci¢n. . . _342
Defininiendo el modelo. . . _344
Defininiendo los controladores. . . . _344
Definiendo las vistas. . . . . . . . . . . . _346
Creando otra acci¢n . . . . . . . . . . . . . _348
HTML Helpers. . . . . . . . . . . . _349
Datos de la Vista . . . . . . . . _349
Devolviendo JSON. . . . . . . . . . . . . . . . . . . . 350
Seguir con MVC. . . . . . . . . . . . _350
Cap¡tulo 8
Introducci¢n a la programaci¢n para
Windows Mobile
M s de 20 minutos de video sobre estos cuatro
puntos:
1- Familias de dispositivos.
2- Repaso por VS2008 y Emuladores.
3- Mi primera aplicaci¢n Mobile.
4- Datos locales, primera aproximaci¢n.
Cap¡tulo 9
Visual Studio 2010 y .NET 4.0
Video adelanto de las pr¢ximas versiones de
las herramientas de desarrollo de Microsoft:
1- Cambios en la interfaz.
2- Repaso de novedades de .NET 4.0.
3- Lo nuevo en ASP.NET 4.0.
4- Las versiones disponibles.
Visual Studio se ha caracterizado a lo largo de sus distintas versiones por superarse a sí mismo. Desde la versión 2008, incorpora nuevas tecnologías y funcionalidades que permiten al desarrollador mejorar su productividad y crear soluciones escalables y de alto rendimiento, aprovechando las características de los nuevos entornos.
Está pensando para aquellos desarrolladores Web, móviles y de escritorio que utilicen Visual Basic, C# y ASP.NET y que necesiten actualizarse desde Visual Studio 2003 o 2005, reforzando conceptos nuevos de C# 3.0, Visual Basic 9.0 y las versiones de .NET Framework, hasta la 3.5 SP1. Este libro también presenta las bases para el .NET Framework 4.0, utilizando las nuevas librerías de LINQ, ASP.NET AJAX, ASP.NET MVC y Windows Presentation Foundation, con la posibilidad de acceder a una certificación que avale la experiencia y los conocimientos adquiridos.
Cómo actualizarse a:
C# 3.0
Visual Basic 9.0
ASP.NET 3.5 SP1 y 4.0
LINQ
MVC
Nivel: Intermedio - Avanzado