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

18 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!
Mostrando entradas con la etiqueta novedades. Mostrar todas las entradas
Mostrando entradas con la etiqueta novedades. Mostrar todas las entradas
martes, 25 de noviembre de 2014
imageSeguimos con esta serie sobre las novedades de C# 6, y esta vez le toca el turno a una solicitada característica que recientemente ha entrado a formar parte de las elegidas para formar parte de esta nueva versión de nuestro lenguaje favorito: la interpolación de cadenas.

Dado que aún se encuentra en desarrollo no es posible probarlo de forma sencilla, por lo que de momento tendremos que conformarnos con sacar conclusiones basándonos en la discusión de diseño en Codeplex y de la documentación existente. Avisan además que la especificación puede ser modificada, por lo que todo lo que digamos aquí aún puede variar algo, aunque mayormente será (espero) válido.
martes, 18 de noviembre de 2014
imageSeguimos hablando de las novedades de C# 6, y en esta ocasión nos centraremos en una interesante característica cuyo nombre, sinceramente, no estoy seguro de ser capaz de traducir de forma correcta del original “Expression bodied function members”. Quizás sería algo así como “expresiones en cuerpo de miembros de función”, pero bueno, lo importante no es el nombre sino el concepto, así que vamos a centrarnos en él.

martes, 28 de octubre de 2014
imageSeguimos con la serie donde vamos desgranando las novedades de C# 6, y en esta ocasión vamos a ver algunas mejoras en el uso de bloques try/catch, a las que seguro podremos sacar buen partido.

En este post trataremos dos temas distintos. En primer lugar, comentaremos la introducción del soporte de await en bloques catch/finally, y seguiremos con la nueva capacidad de filtrado de excepciones.

Vamos a ello :-)
martes, 21 de octubre de 2014
image33En otras ocasiones hemos hablado de novedades que acompañarán a la próxima revisión de C# que nos ahorraban algo de tiempo y pulsaciones de tecla a la hora de codificar algunos escenarios bastante frecuentes, a la vez que mejoraban la legibilidad.

Pues en esa misma línea, vemos ahora una nueva forma de inicializar colecciones clave-valor, como son los diccionarios. Ciertamente es un cambio bastante pequeño, de los que fácilmente podrían pasar desapercibidos junto a otras novedades de mayor peso, pero creo que también vale la pena conocerlo.
jueves, 16 de octubre de 2014
imageHace unos días mostrábamos por aquí el nuevo operador nameof que acompañará a C# 6, y cuya función, resumidamente, es obtener el nombre a nivel de código de la variable o miembro a la que se aplica:



En los comentarios de este post, el amigo Kiquenet se preguntaba qué incidencia podía tener el uso de este operador en el rendimiento de nuestras aplicaciones, y esa duda es la que vamos a responder muy rápidamente ahora.
martes, 7 de octubre de 2014
imageCuando los lenguajes evolucionan, no todas las novedades son espectaculares ni revolucionan la forma de escribir nuestro código. A veces la cosa va simplemente de añadir pequeños detalles que nos hacen la vida más fácil y ayudan a evitar errores.

Y hoy hablaremos de uno de ellos: el nuevo operador nameof, que acompañará a C# a partir de su versión 6.
martes, 30 de septiembre de 2014
C#
[Actualizado 16-Nov-2014] El equipo de diseño del lenguaje C# ha decidido finalmente no incluir esta característica en la versión 6. En fin, fue bonito mientras duró :(

Seguimos comentando novedades que encontraremos en la próxima versión de C#, y en esta ocasión vamos a ver una nueva característica que, sin resultar espectacular, sí nos va a proporcionar una fórmula más cómoda y concisa para resolver algunos escenarios bastante habituales.

Seguro que os resulta familiar el siguiente código, más que nada porque lo habréis escrito decenas o cientos de veces:


martes, 23 de septiembre de 2014
En posts anteriores hemos hablado del operador de navegación segura “.?” y de la inicialización de propiedades automáticas, y vamos a comentar ahora otra de las novedades de la versión de C# que viene en camino, pero que en esta ocasión no tengo claro que sea un avance en la dirección correcta. Os lo cuento y ya decidís vosotros ;-)

Hay escenarios en los que en el interior de una clase utilizamos de forma intensiva miembros estáticos de otras clases. Un ejemplo habitual podemos encontrarlo en componentes que hagan mucho uso de System.Math para la realización de cálculos matemáticos, o incluso en el conocido System.Console:




martes, 16 de septiembre de 2014
Novedades de C# 6.0Hace algún tiempo comentamos alguna de las novedades que se incluirán en la próxima versión de C#, concretamente el nuevo operador de navegación segura “?.”, pero la cosa no acaba aquí: se avecinan un buen número de cambios que prometen seguir mejorando nuestro lenguaje favorito :-)

Por ejemplo, una nueva característica que tendremos disponible es la inicialización de propiedades automáticas, algo que antes también podíamos hacer, aunque de forma menos directa.
martes, 8 de julio de 2014
SignalROtra de las novedades que acompañan a la versión 2.1 de SignalR, y que sin duda puede resultar interesante en muchos escenarios, es la capacidad de tener desde los hubs una pista sobre el motivo por el que se desconectó un cliente, cosa que hasta ahora no era posible utilizando las herramientas que nos proporcionaba el framework de forma directa.

En versiones previas de SignalR, cuando en un hub recibimos el evento OnDisconnected() en realidad no sabemos si este cierre ha sido “educado”, es decir, provocado explícitamente por el cliente como consecuencia de una acción, como puede ser que el usuario haya decidido salir de la aplicación, o bien se ha debido a un problema en el software o comunicaciones (imaginad, por ejemplo, que se cae la conexión a internet).
miércoles, 25 de junio de 2014
SignalRHace pocos días se ha publicado la revisión 2.1 de SignalR que, aparte de corregir bugs, introduce algunas funcionalidades que pueden resultar interesantes en muchos escenarios. En cualquier caso, como se podría esperar de una revisión de este calado, no rompen con nada existente ni resultan cambios espectaculares, simplemente aportan algunas características que no fueron incluidas en la versión 2.0 por falta de tiempo, o que han surgido con posterioridad.

En esta serie de posts  recorreremos las características más interesantes incluidas en esta revisión, y comenzaremos tratando la nueva capacidad de hacer llamadas al lado cliente desde los Hubs utilizando tipado fuerte.
martes, 10 de junio de 2014
Microsoft ASP.NETHay muchos escenarios, y relativamente habituales, en los que es interesante lanzar una tarea desatendida, en segundo plano, desde una aplicación ASP.NET: manipulación de archivos, envío de mensajes, acceso a recursos externos costosos, procesos de colas, generación de archivos, etc.

En general, es un enfoque que puede interesarnos siempre que se trate de realizar un trabajo pesado, que no requiera intervención alguna por parte del usuario ni siquiera para darle feedback del progreso o terminación, y que pueda ejecutarse de forma independiente a las peticiones HTTP que acceden a la aplicación.
martes, 3 de junio de 2014
ASP.NET MVCLa revisión 5.2 de ASP.NET MVC, cuya release candidate acaba de anunciarse, introduce algunas pequeñas mejoras en los helpers de generación de listas desplegables de esas que, aunque no son imprescindibles, sí nos simplifican un poco la vida a la hora de construir formularios. Estos cambios son:
  • La capacidad de agrupar elementos en una lista usando el tag <optgroup> de HTML.
  • La posibilidad de deshabilitar elementos individuales, de forma que aunque aparezcan en la lista no puedan ser seleccionados.
Vamos a verlas en detalle.
miércoles, 14 de mayo de 2014
Microsoft ASP.NETHace un par de días, en el marco del TechEd Norte América, además de presentar la RTM de Visual Studio 2013 Update 2, cambios en Azure y muchos otros productos,  se anunciaron las principales novedades que se incluirán en ASP.NET vNext, la próxima versión de la pila de tecnologías de desarrollo para la web de Microsoft. Y como no podía ser de otra forma, han provocado un revuelo importante en la comunidad por el calado y trascendencia de algunas de estas novedades.

Aunque todavía no se conocen todos los detalles, sí tenemos ya bastantes datos sobre hacia dónde se va  encaminando ASP.NET y en qué están trabajando los distintos equipos de desarrollo en Redmond. Pero antes que nada, un pequeño disclaimer: Todo lo que os voy a contar a continuación no es definitivo, ni completo, ni probablemente correcto al 100%, pero al menos os puede servir como idea de por dónde van los tiros ;-)
lunes, 24 de marzo de 2014
ASP.NET MVC lifecycleProbablemente muchos ya estaréis al tanto, pero es algo tan sumamente interesante que no podía dejar de comentarlo por aquí. Resulta que hace unas semanas publicaron en el sitio oficial de ASP.NET MVC un documento en PDF que detalla minuciosamente el ciclo de vida de este tipo de aplicaciones: Lifecycle of an ASP.NET MVC 5 Application. Imprescindible.

Los impacientes podéis descargar directamente el PDF siguiendo este enlace e ignorar el resto de este post si lo creéis conveniente ;-P. Para los que tengáis algo más de tiempo, os resumo lo que vais a encontrar en él.
martes, 11 de marzo de 2014
ASP.NET MVCEstá claro que Bootstrap ha calado hondo en los productos de la familia ASP.NET como marco de trabajo “oficial” para la maquetación de las páginas o vistas. Tanto es así, que incluso hay una característica introducida en la revisión 5.1 de MVC para facilitar el trabajo con el mismo, aunque siendo estrictos, puede beneficiar también al que opte por otro framework o incluso prefiera soluciones más artesanas.
martes, 4 de marzo de 2014

El operador “?.”, también llamado safe navigation operator, era la característica más demandada para el lenguaje C# en Uservoice, uno de los principales canales utilizado por Microsoft para obtener feedback e ideas a aplicar en nuevas versiones de sus productos, y parece que definitivamente se está considerando la posibilidad de incluir este útil azucarillo sintáctico tanto en C# como en VB.

Para los que no lo conozcáis, se trata de una construcción que permite acceder a propiedades de objetos sin temor a las null reference exceptions lanzadas cuando estos objetos son nulos.
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.
martes, 29 de octubre de 2013
ASP.NET MVC 5Hace poco pudimos vivir un día de esos en los que Microsoft publica nuevas versiones de todo. O casi: ASP.NET MVC 5, Web API 2, SignalR 2, Entity Framework 6, o Visual Studio 2013, entre otros. Muchas novedades que aprender, descubrir, probar… y sobre las que escribir, sin duda ;-)

ASP.NET MVC 5 es, quizás, el producto con menos cambios y novedades de todos los citados anteriormente. Ojo, esto no tiene por qué ser necesariamente malo: quiere decir que nuestro querido framework ha alcanzado ya un nivel de madurez importante y no necesita grandes cambios para seguir dándonos todo lo que necesitamos para crear aplicaciones web. Sin embargo, no puedo negar una cierta desazón ante la falta de esas novedades espectaculares que han venido acompañando entregas anteriores (¿recordáis cuando llegó Razor? ¡Uaaaaau!).

Pero antes que nada, deciros que ASP.NET MVC 5 completo (tooling y ensamblados) está disponible en estos momentos exclusivamente en Visual Studio 2013. Si utilizamos Visual Studio 2012 podemos descargar y utilizar los binarios usando Nuget, pero no habrá soporte a nivel de IDE hasta mediados de Noviembre, cuando se prevé que será lanzada una actualización del entorno.

Y dicho esto, vamos a comentar los cambios más destacados que acompañan a esta nueva versión.