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!
martes, 13 de noviembre de 2012
KnockoutHa pasado ya tiempo desde el último (y primer ;-)) post que escribí sobre Knockout, en el que hicimos una pequeña introducción al patrón Model-View-ViewModel y a Knockout.js, e incluso llegamos a implementar un pequeño ejemplo de código para ver cómo funcionaba el invento.

También presentamos en aquél momento dos conceptos que resultaban básicos para Knockout.js:
  • El binding, que es el mecanismo que permite mapear datos y acciones de la vista a propiedades y métodos del View-Model.
  • Las propiedades observables, que son aquellas a las que el framework realiza seguimiento de cambios con objeto de actualizar, cuando sus valores cambien, los elementos que dependan de ellas.
Estos dos conceptos están muy relacionados, y es conveniente tener claro de qué forma.
lunes, 12 de noviembre de 2012
Algunos mensajes que genera ASP.NET MVC utilizan el idioma en el que hayamos instalado el framework. Por ejemplo, si hemos descargado la versión en inglés de MVC 4 y estamos usando en sistema operativo en español, podemos encontrarnos con textos de error como los mostrados en la siguiente captura de pantalla:



lunes, 29 de octubre de 2012

Blogger invitado

Blogger invitado

Óscar Sotorrío Sánchez

Desarrollador independiente, MCP C#

Eterno aprendiz en esto de las tecnologías .NET y en especial con ASP.NET. Admirador de la filosofía de Internet y entusiasta de los nuevos modelos de negocio que rigen este mundillo. Blog: oscarsotorrio.com
Los closures, en castellano cierres o clausuras, son una potente característica de JavaScript que también podemos encontrar en otros lenguajes como C#, Objective-C, Eiffel y otros. Este concepto, que tradicionalmente pertenece a la programación funcional, tiene su origen en el lenguaje de programación Scheme.

En este artículo vamos a comenzar por identificar en el código cuándo se producen los closures para luego ver qué tienen de especial. Después pasaremos a ver algunos comportamientos que nos servirán para terminar completamente de entender cómo funcionan. Para finalizar, veremos un par de ejemplos de aplicaciones prácticas.
image7_thumb_thumb_thumb_thumb_thumbEstos son los enlaces publicados en Variable not found en Facebook y Twitter, del 22 al 26 de octubre de 2012. Poquilla cosa, he tenido una semana algo complicada, pero espero que al menos os resulten interesantes :-)

.Net

martes, 23 de octubre de 2012
Fundamentos de JavaScript y AJAX para desarrolladores y diseñadores webDurante los últimos días he tenido ocasión de disfrutar de la lectura del libroFundamentos de JavaScript y AJAX para desarrolladores y diseñadores web”, y no quería dejar de comentarlo por aquí.

Se trata de la obra más reciente del maestro José Manuel Alarcón, nacida con un ambicioso objetivo: ser útil tanto para desarrolladores  experimentados que buscan reforzar y ampliar sus conocimientos en Javascript, como para aquellos que desean comenzar trabajar con el lenguaje sin haber tenido contacto previo con el mismo.

Y desde luego, nadie mejor que el autor para conseguirlo: dilatada y reconocida experiencia en el mundo web, en Javascript (publicó su primer libro sobre el tema hace más de diez años), y una forma de escribir muy amena y cercana que hace que las trescientas ochenta páginas del libro se lean con mucha facilidad.

El índice completo podéis consultarlo en Scribd, pero, a grandes rasgos, el libro está dividido en los siguientes bloques:
  • Una amplia introducción al lenguaje, en cuyos primeros siete primeros capítulos se comienza a presentar Javascript desde cero, introduciendo ordenada y progresivamente conceptos como las variables, tipos de datos, funciones, operadores, estructuras de control de flujo, uso de matrices, textos, fechas o temporizadores, siempre usando ejemplos simples y directos.

    A pesar de que esta primera parte se destina sobre todo a los programadores noveles, me la he zampado por completo y puedo asegurar que he aprendido bastante con ella.

    El capítulo 8, que cerraría este bloque, cambia el ritmo de forma considerable entrando en aspectos avanzados, como la definición de objetos, constructores, el uso del siempre intrigante “this”, la herencia basada en prototipos, closures, y ocultación de miembros, entre otros interesantes asuntos.
          
  • Una vez conocido el lenguaje Javascript, a continuación se nos muestra cómo utilizarlo en el contexto de un navegador, realizando un completo recorrido por el DOM y las técnicas que nos permiten manipularlo de forma directa, sin usar jQuery ni frameworks similares. Aprenderemos a localizar elementos de la página, recorrerlos, realizar consultas dinámicas, y a modificar el contenido de la página en tiempo de ejecución.

    También se estudia en profundidad el tratamiento de eventos, su funcionamiento interno, los distintos modelos soportados por los navegadores, y cómo implementarlos de forma eficiente, por supuesto sin necesidad de emplear marcos de trabajo externos. Es, además, una referencia completísima de los eventos disponibles para cada tipo de elemento y la forma de procesarlos sin caer en particularidades de navegadores concretos.

    Para cerrar este bloque, se dedica un capítulo exclusivamente a hablar de Ajax, el uso del objeto XMLHttpRequest para enviar y recibir información  y los problemas más habituales que surgen cuando usamos esta técnica de intercambio de datos entre cliente y servidor. También se describen soluciones para la comunicación cross-site como JSONP (JSON with Padding), estudiado muy en profundidad, y CORS (Cross-Origin Resource Sharing).
     
  • Un último bloque muy orientado a la práctica, en el que se describen errores más comunes y la forma de trazar y depurar aplicaciones Javascript utilizando herramientas integradas en los navegadores, donde encontramos mecanismos similares a los que estamos acostumbrados en entornos de desarrollo como logs, profilers o breakpoints.
     
  • Por último, se dedica un capítulo en exclusiva para ver cómo lidiar con las misteriosas expresiones regulares, donde se demuestra que con la base adecuada no son tan fieras como parecen ;-)
Todos estos contenidos vienen, además, acompañados de innumerables ejemplos, trucos, consejos prácticos,  referencias históricas y anécdotas mediante las cuales se entienden los motivos de algunas de las “cosas raras” que vemos hoy en día al programar con Javascript, y que hacen aún más amena la lectura.

Con toda seguridad, un must have para todos los que aún no conocen Javascript y desean entrar por la puerta grande, y también para todos los que ya habíamos entrado hace años pero nos hemos ido dejando algunos detalles por el camino ;-)

Publicado en Variable not found.
lunes, 22 de octubre de 2012
image7_thumb_thumb_thumb_thumb_thumbEstos son los enlaces publicados en Variable not found en Facebook y Twitter, del 15 al 19 de octubre de 2012. Espero que os resulten interesantes :-)

.Net