[Libro] JQuery: El framework Javascript de la Web 2.0

En este post quiero haceros mención de un libro que he tenido el placer de leer gracias a Ediciones Eni con la que estoy colaborando revisando algunos de sus libros.

En este caso se trata de un libro de Jquery llamado: “jQuery: El framework Javascript de la Web 2.0” escrito por Luc VAN LANCKER.

El libro está formado por 13 capitulos, donde se habla de todo lo relativo a Jquery, pasando desde una introducción, el uso de selectores, eventos, efectos, plugins, AJAX…

Para “alegrar” el texto, podemos encontrar bastantes ejemplos de código. Además de incluir dichos fragmentos (descargables desde la página web de la editorial), el autor va a explicandolos de forma clara y concisa.

Libro totalmente recomendable para introducirse en el desarrollo con  JQuery.

Saludos

PD: Os pongo el enlace al libro

[Tip] Constructores estáticos para tus ViewModels [WIN8]

Aunque ya he hablado en alguna ocasión de esta característica, una de las grandes novedades de .NET 4.5 es la introducción de Async y Await para “facilitar” la escritura de código que tiene que ejecutarse de forma asíncrona.

Para el desarrollo de aplicaciones para la Store de Windows 8, es una de las cosas mas importantes que hay que tener en cuenta, y de hecho gran parte de la funcionalidad de la API del propio WINRT ya es asíncrona lo que nos facilita mucho la vida.

En este post, quiero hablaros de una cosa que es bastante importe a la hora de hacer nuestros desarrollos.

Bien, ni los constructores de una clase ni las propiedades pueden ser “calificados” como asíncronos.

Centrándonos en el apartado del constructor, probablemente nos gustaría invocar a algún método asíncrono para por ejemplo llenar una lista de elementos que se van a mostrar en pantalla. Bien, mi recomendación para subsanar esto, es la definición de un método estático al que calificaremos como “async” y dentro de dicho método invocaremos al constructor de nuestra clase, y a las acciones asíncronas de la misma. Para ilustrar esto os expongo un pequeño ejemplo:

   1:  public class MyViewModel : baseViewModel
   2:  {
   3:       public MyViewModel()
   4:      {
   5:   
   6:      }
   7:     private async Task LongTask()
   8:    {
   9:         await Task.Delay(10);
  10:     } 
  11:     public static async Task<MyViewModel> Create()
  12:     {
  13:          var vm = new MyViewModel();
  14:          await vm.LongTask();
  15:          return vm;
  16:   
  17:     }
  18:  }

¿Cómo lo asignamos al contexto de nuestra vista?

Vamos a utilizar el método OnNavigatedTo:

 protected override async void OnNavigatedTo(NavigationEventArgs e)
        {
            this.DataContext= await MyViewModel.Create();
        }

Espero que os resulte de utilidad.

 

Saludos