Saltar al contenido

Artículos, tutoriales, trucos, curiosidades, reflexiones y links sobre programación web ASP.NET Core, MVC, Blazor, SignalR, Entity Framework, C#, Azure, Javascript... y lo que venga ;)

17 años online

el blog de José M. Aguilar

Inicio El autor Contactar

Artículos, tutoriales, trucos, curiosidades, reflexiones y links sobre programación web
ASP.NET Core, MVC, Blazor, SignalR, Entity Framework, C#, Azure, Javascript...

¡Microsoft MVP!
miércoles, 26 de febrero de 2014
Curso de ASP.NET MVC 5 en CampusMVPY seguimos con los estrenos... ;) Si sólo hace unos días os presentaba mi nuevo libro sobre SignalR, llega ahora el turno a otro de los asuntos que me han tenido muy entretenido las últimas fechas: el nuevo curso de ASP.NET MVC 5 en CampusMVP.

Se trata de una revisión completa del curso de MVC 4 que tanto éxito de crítica y público ha tenido hasta la fecha, para adaptarlo por completo a las novedades presentes en la versión más reciente del marco de trabajo (en este caso la versión 5.1, aparecida en enero). El temario es, a grandes rasgos, el siguiente:
  • Introducción a ASP.NET MVC, donde realizamos un primer acercamiento al framework MVC, describimos el contexto tecnológico en el que se sitúa, y sentamos las bases sobre las que continuar el aprendizaje.
  • El siguiente módulo, la  primera aplicación ASP.NET MVC, crearemos nuestra primera aplicación partiendo de las plantillas por defecto de Visual Studio, que nos será de utilidad para comprender la estructura de este tipo de proyectos y el funcionamiento del marco de trabajo.
  • Continuaremos añadiendo funcionalidades a esta aplicación, donde introduciremos nuevas características partiendo desde cero, aprovechando la ocasión para profundizar en la creación de modelos, vistas y controladores.
  • Seguidamente estudiaremos la capa Modelo a fondo, viendo distintas formas de implementar sus componentes.
  • A continuación, nos sumergimos en la capa Controlador, detallando minuciosamente la creación de controladores, las posibilidades que nos ofrecen, y el conjunto de herramientas que nos facilita el framework para ellos, como el sistema de routing, el binding, filtros, o resultados de acciones.
  • También trataremos con gran detalle la creación de la capa Vista, donde describiremos sus tipos, implementación y mecanismos del marco de trabajo que nos facilitan la tarea, como los helpers estándar, plantillas, validadores, los helpers de Webpages, vistas para dispositivos móviles, o el sistema de bundling, entre otros, usando principalmente el motor de vistas Razor (aunque también se toca el motor ASPX).
  • En Ajax con ASP.NET MVC realizaremos un recorrido por las distintas alternativas para la introducción de Ajax en nuestros sistemas, y mostraremos la solución a escenarios comunes.
  • Veremos WebAPI, el framework para implementar servicios o APIs de nuestras aplicaciones, con una gran alineación con los protocolos de la red y el estilo arquitectural REST.
  • También trataremos cómo organizar los proyectos en Áreas, y los cambios que implican en cuanto a la estructura y funcionamiento de las aplicaciones.
  • Dedicaremos un capítulo a temas adicionales, básicamente para tratar otros aspectos no incluidos en los módulos anteriores, como la realización de pruebas unitarias y las facilidades para la resolución de dependencias, internacionalización, el despliegue de aplicaciones, o el sistema de autenticación basado en ASP.NET Identity.
  • Por último, presentamos BlogMachine y describimos sus principales componentes, sugiriendo modificaciones y ampliaciones que podrían realizarse para poner en práctica los conocimientos adquiridos.
Como venimos haciendo desde hace ya bastantes años, de una versión a otra no sólo vamos actualizando los contenidos de texto, vídeos, ejemplos y prácticas a las novedades de la última versión del framework, sino que aprovechamos cada actualización para hacerlo aún más potente. Ahora, por ejemplo, hemos incluido evaluaciones parciales para que puedas verificar tu progreso conforme avanzas o, en el último módulo del curso, una aplicación completa de ejemplo hecha desde cero para ver y tocar muchos de los conceptos tratados a lo largo del curso de forma integrada: BlogMachine.


El curso se imparte totalmente online a través de la plataforma CampusMVP, sin horarios y a vuestro propio ritmo. Podéis comenzarlo en cualquier momento y la duración del curso está estimada en 12 semanas (con una dedicación media de 6 o 7 horas por semana, dependiendo del nivel de partida).

Durante su duración tendréis acceso a una completísima documentación (más de 400 páginas) que podréis descargar una vez terminado, así como a más de dos horas y media de vídeos donde se muestran en vivo los principales conceptos tratados, aplicaciones de ejemplo, recursos adicionales, buenas prácticas y consejos del día a día que seguro convertirán MVC en vuestro marco de trabajo favorito. Además, dado que soy el tutor, contaréis con mi asistencia para resolver vuestras dudas sobre los temas tratados y ayudaros a lo largo del proceso formativo.

Si estáis interesados, sólo tenéis que ir a la tienda online de CampusMVP y apuntaros directamente. Ah, y tened en cuenta que si trabajáis en España los cursos pueden salirle gratis a vuestra empresa gracias a la formación bonificada.

¡Espero veros a muchos por allí! ;)

Publicado en Variable not found.
lunes, 24 de febrero de 2014
Enlaces interesantesAhí van los enlaces recopilados durante la semana pasada. Espero que os resulten interesantes ;-)

.Net

martes, 18 de febrero de 2014

Por fin llegó el momento que estaba esperando desde hace tiempo: tras muchos meses de trabajo y preparativos, ya está disponible mi libro “SignalR Programming in Microsoft ASP.NET” :-) ¡¡Hurra!!

Publicado directamente en inglés por Microsoft Press, ha sido desde su origen un proyecto mucho más ambicioso que mi anterior incursión en el mundo literario, que seguro recordaréis, principalmente porque se trata de un libro con una difusión, repercusión y alcance mucho mayor que el anterior, y al que hemos tenido que dedicar muchísimo esfuerzo, tiempo e ilusión todos los implicados (¡que no son pocos!) para lograr un resultado que esperamos esté a la altura de las circunstancias.

El libro tiene más de 250 páginas a través de las cuales se describen tanto temas básicos como aspectos avanzados de la programación con la versión 2 de SignalR. El índice resumido es el siguiente:
  1. Internet, asynchrony, multiuser… wow!
  2. HTTP: you are the client, and you are the boss
  3. Introducing SignalR
    Estos tres primeros capítulos introducen las aplicaciones asíncronas en tiempo real y los conceptos básicos que necesitamos conocer para trabajar con SignalR: qué es, qué nos aporta, y qué mecanismos hacen que todo esto funcione.
  4. Persistent connections En el cuarto capítulo comenzamos ya a trabajar con conexiones persistentes, tanto en el lado servidor como en el cliente, describiendo en detalle las APIs que ofrece SignalR para comunicar ambos extremos.
  5. Hubs Aquí se describe profundidad el uso de hubs, tanto en el lado cliente como en el servidor, describiendo detalladamente las herramientas disponibles para enviar y recibir datos desde ambas partes, mantener el estado, implementar trazas, y muchos otros aspectos de interés al programar hubs de SignalR.
  6. Persistent connections and hubs from other threads
    En este capítulo se describen las herramientas proporcionadas por SignalR para utilizar hubs y conexiones persistentes desde hilos de ejecución externos a dicho framework.
  7. Real-time multiplatform applications
    Este capítulo está dedicado a la publicación y consumo de servicios desde servidores y clientes no web. Se describen técnicas de self-hosting en distintos entornos, y cómo implementar clientes en plataformas como Windows 8 o Windows Phone.
  8. Deploying and scaling SignalR
    En este capítulo se muestran los fundamentos de la escalabilidad de SignalR y distintas estrategias para enfrentarse a los problemas asociados al escalado de servicios. Estudiamos los backplanes incluidos de serie en el producto e incluso cómo crear backplanes propios, y finalmente, apuntamos técnicas para mejorar el rendimiento y medir el rendimiento de nuestros sistemas.
  9. Advanced topics
    Aquí tratamos temas como autorización en Hubs, extensión de SignalR, inyección de dependencias, pruebas unitarias, intercepción de mensajes e integración con otros frameworks en cliente y servidor.
En casi todos los capítulos hay ejemplos completos y multitud de porciones de código para ver de forma práctica los conceptos mostrados. Si tenéis interés, podéis ver un índice detallado en la página del libro en O’Reilly, el distribuidor oficial de libros de Microsoft Press, e incluso hay previews para hacerse una idea de lo que encontraréis dentro.

FAQ

¿Dónde puedo comprarlo? Pues básicamente donde quieras, aunque Amazon o InformIT  pueden ser buenos puntos de partida.
¿En qué formatos está disponible? El libro se comercializa en formato digital y en papel. En el primer caso, he visto que es posible obtenerlo en ePub, Mobi y PDF.
¿Va a salir el libro en español? Pues sinceramente, no lo sé. Desde luego, a corto plazo sólo estará en inglés y a día de hoy no existen planes para publicarlo en castellano, aunque no sé si esto cambiará en el futuro.

Agradecimientos

No me gustaría acabar el post sin antes agradecer al equipo de CampusMVP, con José Manuel Alarcón al frente, la oportunidad que me han brindado para poder participar en este proyecto y la fantástica gestión y ejecución del mismo. También al amigo Javier Suárez Ruíz por su imprescindible colaboración en algunos ejemplos.

Y por parte de Microsoft Press, entre muchos otros, agradecimiento infinito a Devon Musgrave por haber apostado por este proyecto desde el principio, a nuestra editora Carol Dillingham por su gran trabajo para llevarlo a cabo y a Todd Meister por sus minuciosas revisiones técnicas. Incluso hemos tenido la inmensa fortuna de contar con revisiones y comentarios de los padres de SignalR, Damian Edwards y David Fowler, a los que también envío mi agradecimiento. Todo un lujazo, vaya :)

Por mi parte, trabajar en este libro ha sido un honor y una experiencia impresionante, dura pero muy enriquecedora. Ahora espero que os sea de utilidad, que al fin y al cabo es lo que hace que el esfuerzo valga la pena :-)

Publicado en Variable not found.
lunes, 17 de febrero de 2014
image2342423333333333333333333333333[2]Ahí van los enlaces recopilados durante la semana pasada. Espero que os resulten interesantes ;-)

Eventos

.Net

martes, 11 de febrero de 2014
Enlaces interesantesAhí van los enlaces recopilados durante la semana pasada. Espero que os resulten interesantes ;-)

Eventos

.Net

martes, 4 de febrero de 2014
ASP.NET MVCEn ASP.NET MVC, TempData es un mecanismo de lo más socorrido cuando se pretende hacer persistir información entre distintas peticiones de forma sencilla.
Hace ya bastante tiempo hablamos por aquí de cómo funciona, aunque resumidamente podríamos decir que se trata de un almacén temporal en el que podemos guardar datos desde una acción y consultarlos desde otra, aunque sea en peticiones distintas; la información se quedará almacenada hasta que sea obtenida por primera vez, momento en el que será eliminada del repositorio utilizado.

El principal problema que encontramos al utilizarlo en proyectos reales es que la información se guarda en variables de sesión, lo que en determinados escenarios puede ser muy costoso o simplemente imposible, y esto hace que descartemos su uso y que tengamos que inventar alternativas para solucionar problemas que usando TempData ya tendríamos resueltos.