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
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.