
Nos anuncian desde el MIX que se está celebrando en Las Vegas (USA) varias noticias muy interesantes con la Web.
La primera de ellas tiene que ver con ASP.NET MVC 2 RTM que ya ha sido anunciado como versión final.
En mi caso, cuando intento instalarlo me indica que es incompatible con ASP.NET MVC 2 RC, así que me toca desinstalar ASP.NET MVC 2 y las ASP.NET MVC 2 Visual Studio 2008 Tools y ASP.NET MVC 2 Visual Studio 2010 Tools. Haciéndolo así, sí me deja instalarlo sin problemas.
Otra novedad es Microsoft ASP.NET Silverlight 4 RC. Creo que queda claro que Visual Studio 2010 (.NET Framework 4.0) va a tratar de alinear todos sus productos a esa versión 4.0, por lo que parece también claro, que en Abril (el 12 de Abril) tendremos Visual Studio 2010 cargado de la versión final de ASP.NET MVC 2 RTM y de ASP.NET Silverlight 4. Eso sin contar con todas las novedades que trae la nueva versión junto a Entity Framework 4.
Otra de las noticias que se han dejado caer tiene que ver con Microsoft Windows Phone 7, el cual previsiblemente, también será incluido en el entorno de desarrollo junto a su SDK y demás "cachivaches".
En resumen, las novedades de este nuevo año 2010 parecen ser muchas y todas ellas, muy interesantes... incluyendo ese Courier por el que muchos suspiramos ver y tocar...
¿Alguien da más?.
NOTA: Para instalar ASP.NET MVC 2 RTM, desinstala las tools de MVC 2 y accede a este enlace.

Introducción
Una de las novedades más destacables de Visual Basic 2010 se denomina Implicit Line o línea implícita.
Todo recordaremos que para escribir una sentencia de Visual Basic en varias líneas, debíamos hacer uso del caracter especial guión bajo (_).
Un ejemplo de esto es el siguiente (Visual Basic 2008 y anteriores, incluyendo Visual Basic 6 y anteriores):
MessageBox.Show( _
"Ejemplo")
¿Cómo funciona la línea implícita en Visual Basic 2010?
La novedad incorporada en el lenguaje, en Visual Basic 2010, nos permite escribir también código como por ejemplo:
Dim value As Integer = 1
MessageBox.Show(
"Valor " &
value)
Dim information As String = String.Empty
For I As Integer = 0 To 10
information &=
I & Environment.NewLine
Next
MessageBox.Show(information)
En este ejemplo, podemos ver como hemos concatenado diferentes partes del código pertenecientes a la misma instrucción, incluyendo el uso del símbolo & ó &=.
¿Cómo se utiliza?
Por un lado, no debemos olvidar que esto no es la panacea, es decir, no se puede utilizar así queramos y como queramos. Es necesario aplicar algunas reglas y sobre todo el sentido común.
Escribir lo siguiente por ejemplo:
For I As Integer = 0 To 10
information &=
I
& Environment.NewLine
Next
Hará que el compilador nos devuelva un error en tiempo de diseño: Syntax error.
El mensaje de error creo que es significativo y muy claro. Se trata de un error de sintáxis, y es que Visual Basic 2010 permite escribir instrucciones más o menos, como nos venga en gana, pero no realmente como queramos, sino como Visual Basic nos permita.
La forma de resolver el problema anterior es escribiendo el siguiente código:
For I As Integer = 0 To 10
information &=
I _
& Environment.NewLine
Next
Nótese que hemos indicado detrás de la letra I el carácter guión bajo (_) que indica que la instrucción continúa en la siguiente línea.
Del mismo modo, tampoco sería correcto emplear algo similar a:
For I As Integer = 0 To 10
information &=
I & Environment.NewLine
Next
En este ejemplo, hemos escrito un salto de carro (Intro) entre information &= y la siguiente parte de su instrucción.
Una vez más, para resolver este problema, deberíamos haber utilizado el carácter de continuación de línea, dejando nuestro ejemplo como:
For I As Integer = 0 To 10
information &=
_
I & Environment.NewLine
Next
De esta manera, hay varias reglas muy generales y útiles. Me dejaré alguna seguramente, pero con sentido común se pueden obtener.
Así, no se puede hacer uso de línea implícita después de un atributo, después de una coma o de un punto (invocación de método), después de un operador binario o de una claúsula LINQ, después de un carácter (, {, ), }, <% ó >%.
Hay más situaciones, y no es cuestión de enumerar una a una cuales son, pero sirva esto como patrón a tener en cuenta, sin olvidarnos del caracter de separación de toda la vida (_) y de un uso adecuado de esta característica.
¿Y esto de la línea implícita es bueno?
La palabra "bueno" es muy genérica, quizás podríamos decir ¿apropiado?.
Como todo, tiene sus pros y sus contras.
Es cierto que es más cómodo, ahora bien, esto en manos de un talibán informático, un destroyer del código o un descerebrado programador, puede ser una herramienta con efectos similares al una bomba H.
Podríamos pensar en el código spaguetti o en la ofuscación... teniendo esto... ¿para qué queremos esas herramientas?.
A veces es bueno llevar algo al borde del caos para organizar y ordenar las tareas y todo lo que nos rodea. Esta característica es un buen ejemplo de ello.
A mí me gusta y me parece interesante, pero debemos ser consecuentes con su uso. Podríamos caer en la tentación de usarlo por sistema y hacer un código difícilmente mantenible.
Es por ello, que debemos hacer un uso moderado e inteligente de esta característica, tabular si es preciso, comentar el código y ordenarlo su fuera preciso, y actuar de forma responsable.
Lo demás, será actuar como un poseso salido de sí y generando código que tenga un efecto colateral más dañino que el propio beneficio que se trataba de buscar.
Así que... usarlo sí, pero con inteligencia.

Introducción
A partir de ahora y durante el tiempo que dure, voy a tratar de hablar de las novedades de Visual Basic 2010, nueva versión del lenguaje de Visual Basic que hará aparición en versión RTM a partir del próximo 12 de Abril de 2010.
A lo largo de estas novedades, profundizaremos más o menos en cada una de las nuevas características del lenguaje, tratando cada tema de forma independiente y haciendo ejemplos prácticos que sirvan de ayuda.
El índice de esta sección será actualizado conforme vaya agregando nuevos apartados sobre las novedades de Visual Basic 2010. Espero que lo disfruteis.
Alineación de productos
Un aspecto importante a tener en cuenta, es el que tiene que ver con la alineación de productos.
La gente de Microsoft tenía diferentes áreas de desarrollo. Una de ellas estaba enfocada en la parte principal de lo que conocemos todos como .NET Framework.
Existía igualmente comunicación entre este área y otras dos diferentes (hay muchas más, pero para simplificarlo) que eran las áreas de lenguaje Visual Basic y la de lenguaje de C#.
Desde la aparición de .NET Framework, estas áreas de lenguaje iban un poco por libre. La Comunidad ha expresado en muchas ocasiones su malestar debido a que algunas de las novedades de C# no estaban presentes en las nuevas versiones de Visual Basic y viceversa.
Esas molestias no tenían gorra de fanáticos del lenguaje, tenían siempre el mismo fondo... ¿porqué los equipos de lenguaje van a su "bola"?.
En Visual Studio 2008, Microsoft recortó enormemente esa distancia, pero no era suficiente. Sin embargo, en Visual Studio 2010, esa distancia ya no existe (prácticamente no), y todas aquellas características que tenía Visual Basic 2008 y que no estaban implementadas en C#, ya están implementadas en C# 4.0. Por su parte, todas las características de C# que no estaban implementadas en Visual Basic 2008, ya están implementadas en Visual Basic 2010.
Con esto, se ha logrado unificar el modelo de avance de los lenguajes de desarrollo para lograr acoplarlos en cuanto a avances, novedades y soportes.
Antes, un programador de C# decía que podía hacer cosas que un programador de Visual Basic no podía. De la misma forma, un programador de Visual Basic decía que podía hacer cosas que un programador de C# no podía.
No era realmente así, aunque algo de verdad había, pero ahora ya por fin, podemos decir que esa diferencia es prácticamente inapreciable.
Espero que disfrutes en este caso, de las novedades incorporadas a Visual Basic 2010 y que tengas en cuenta que no tiene nada que envidiar a C#, de la misma forma que C# tampoco tiene nada que envidiar de Visual Basic.
No olvides nunca, que el lenguaje es la capa, caparazón o envoltura de lo que hay por debajo, el Framework. Escribe en lo que más te guste o en lo que te digan, pero sobre todo, disfruta.
Índice:
0 - Introducción
1 - Implicit Line o línea implícita
Enlaces de este blog que podrían interesarte:
Todas las entradas sobre Visual Studio 2010 en este blog
Todas las entradas sobre Visual Basic 2010 en este blog

Ya se ha publicado el material de la charla de ayer que se hizo en MADNUG (Grupo de Usuarios de Madrid) sobre las Novedades de Visual Basic 2010.
El material que he subido, está formado por la presentación en formato PowerPoint 2007 (400 Kb) y un documento pdf que corresponde con la misma presentación (800 Kb) por si alguien se lo quiere llevar en su eReader o lo que considere oportuno.
Los ejemplos los publicaré uno a uno en diferentes entradas que tengo pensadas poner en este blog desde hace meses, y que por fín una vez tenemos la versión RC (Release Candidate) de Visual Studio 2010 y que he comprobado que no varía nada en cuanto a estas novedades, me he decidido a exponer.
Sintonizad el blog porque esas entradas empezarán en breve.
Material de la charla:
Presentación (PDF - 400 Kb)
Presentación (PowerPoint 2007 - 800 Kb)
Saludos.

Microsoft ha abierto en la página de descargas de subscripción MSDN la posibilidad de que descarguemos la versión RC (Release Candidate) de Visual Studio 2010.
Desde hace tan solo unas horas, es posible descargar esta ultimísima versión de Visual Studio 2010 antes de que aparezca ya la definitiva versión RTM.
En siguiente enlace te llevará a la página principal de MSDN Microsoft USA. Tanto desde este enlace como desde el de la página de MSDN en español, accederemos a nuestra subscripción MSDN (para quien la tenga) y desde allí podremos descargar el Visual Studio 2010 RC.

Es por todos sabido que Oracle ha recibido la luz verde definitiva por parte de la Unión Europea para adquirir Sun, y con ello lo que Sun había adquirido meses atrás, hablo en concreto de MySql.
MySql es o era (no sé bien cuál de los dos calificativos es el correcto) el sistema de bases de datos Open Source más famoso y utilizado en el mundo.
Sin embargo, ahora tenemos que Sun forma definitivamente parte de Oracle, y Oracle tiene ahora la "pata" de máquinas de Sun, la "pata" de lenguajes con Java, y la "pata" de bases de datos con MySql, pero Oracle es famosa precisamente por tener un gestor de bases de datos muy poderoso, el propio Oracle que da nombre a la compañía, así que, ¿qué hacer con MySql?. Hay que tener en cuenta además, que la sombra de Oracle es alargada y lo suficientemente ancha como para ocultar a MySql de la faz de la tierra. La incertidumbre por lo tanto, es bastante grande con respecto al futuro de MySql.
De momento no ha hecho nada "raro" con MySql, sin embargo, hay mucha gente que comenta que Oracle va a empezar a cobrar soporte con MySql y en el futuro... ya veremos qué... igual incluso hasta desaparece...
Aún y así, un irreducible finlandés no se va a quedar de brazos cruzados.
Hablo de Ulf Michael Widenius a quién se le conoce con el apodo de Monty (acceso al blog de Monty).
Monty es el principal autor de MySql y miembro fundador de MySql AB, empresa que fue adquirida en Febrero de 2008 por Sun Microsystems como comentaba anteriormente.
Con la venta de MySql, Monty se embolsó parece ser, cerca de 16 millones de €, y en Febrero de 2009 dejó Sun para montar una nueva compañía. Los motivos por los que dejó Sun no están claros, pero yo tengo mi opinión al respecto que más adelante argumentaré.
Lo peor para Sun (hoy día Oracle), es que Monty se ha puesto a crear un nuevo motor de bases de datos de datos teniendo en mente a MySql y agregándoles "esas" cosas que quería haberle agregado a MySql en su día y que por las razones que sean, no ha podido llevar a cabo.
La iniciativa de Monty tiene que ver sobre todo con la adquisición de Sun por parte de Oracle.
Adquisición maestra, ya que se ha manejado la situación estratégica de forma expecional.
Primero Sun compra MySql. Todo normal y coherente.
Luego Oracle compra Sun, y aquí aparecen las dudas.
Monty duda de la compra (seguramente se sintió engañado como amante de un sistema gestor de bases de datos abierto).
El departamento de la libre competencia de la Unión Europea analiza entonces si vulnera la libertad, pero aunque Oracle y Sun tienen un frente común en el mundo de las bases de datos, no es menos cierto que al tener Sun sus departamentos de Hardware y Software con Java a la cabeza, se ha hecho claramente la vista gorda sobre MySql.
Sin dudas, dejadme que piense que esto ya estaba pactado de ante mano y Monty fue engañado. Quitaron a MySql, y así Oracle solo tendría un único competidor real y de importancia, hablo de SQL Server. Al menos a Monty le quedó la tranquilidad de haberse hecho rico. Pero Monty es como comentaba antes, un hombre irreducible y tenía pensado vengar su honor como si de un duelo se tratara.
En Internet apareció entonces una iniciativa impulsada por el propio Monty para salvar a MySql, hecho que motivó que Monty se adentrara en esta aventura.
El producto en el que anda trabajando se llama MariaDB. El nombre de Maria se debe a su hija menor.
En realidad, MariaDB es un branch o rama que parte del código base de MySql.
La empresa de Monty encargada de llevar a cabo la aventura de MariaDB se llama Monty Program AB.
El icono elegido por Monty en este caso es una foca, icono que posiblemente utilice para sus distribuciones.
Ahora bien... ¿cuál es la versión actual de MariaDB?.
La versión actual es MariaDB 5.1.41 RC que está basada en MySql 5.1.
Monty afirma que esta versión es estable, aunque no quiere decirlo muy alto porque es una versión en desarrollo y por lo tanto, no debería ser utilizada en producción.
El caso es que a Sun (hoy día Oracle) le ha salido un grano en el culo, porque el irreducible Monty no tiene pensado dejar tirada a la Comunidad y va a hacer todo lo posible por sacar adelante el proyecto de MariaDB. Por su hija y por él mismo, va a luchar para prevalecer su honor.
Una noticia que personalmente celebro.

El pasado 27 de Enero de 2010 Apple presentó tal y como adelanté en mi blog su iPad, es decir, su eReader PC.
Muchos son los comentarios que he leído en la red desde entonces.
Lo gracioso de verdad es que tanto muchos de esos comentarios como el que hago yo ahora mismo, son comentarios basados en la teoría, porque nadie ha hecho comentarios realistas del uso del dispositivo durante al menos varios días.
Media hora o un par de horas como mucho, no son ni suficientes para poder valorar adecuadamente un producto, pero como el que tiene boca se equivoca y hay muchas personas que ya han hablado sobre el dispositivo, me voy a permitir el lujo de equivocarme hasta el fondo comentando algunos pareceres al respecto del iPad.
En primer lugar, comentaré que es un gusto tener en el mercado la posibilidad de disponer de un dispositivo como el iPad, y más sabiendo que Apple está detrás,... y no lo digo por el propio Apple en sí, sino porque Apple tiene gusto (mucho gusto) a la hora de diseñar sus dispositivos, y el iPod es una buena muestra de ello.
Sin embargo, siempre hay "peros".
Un "pero" que he leído hasta la saciedad es el que dice que el iPad no es otra cosa que un iPhone más grande.
Vale, vamos a suponer que eso es cierto... es como un iPhone pero más grande... ¿es que eso es tan malo o negativo como para criticar al iPad?.
A mi modo de ver, no es un argumento concluyente. Más bien me parece un argumento muy pobre, o mejor dicho, una pataleta.
Otra cosa es la crítica que ha recibido Apple respecto a dos aspectos que sí creo que son importantes.
Hablo del soporte Hardware y del soporte Software.
Por un lado, tiene la posibilidad de utilizar WiFi y Bluetooth, y utilizando un accesorio adicional, conexiones 3G.
No está nada mal si tenemos en cuenta que para ello nos tenemos que rascar el bolsillo.
Sin embargo, la conexión 3G es solo para datos y no para llamadas telefónicas, algo que ya no es tan "bonito", así que sería un 3G/2 si se me permite la expresión.
Otro aspecto relativo al Hardware es la ausencia de WebCam. ¿Es Skype y aplicaciones similares un problema para el iPad?.
En la era Web 2.0 ó incluso 3.0 como algunos comentan ya, un dispositivo de estas características sin WebCam es si se me permite el símil, como un coche con tres ruedas.
Andar anda, pero ya puestos... ¿qué le cuesta ponerle la cuarta rueda?.
Indudablemente y por otro lado, el iPad adolece de algunas características Software muy importantes hoy día.
Las más sobresalientes son la no disponibilidad de un entorno multitarea y la ausencia de soporte Flash.
La imposibilidad de hacer dos cosas al mismo tiempo es algo que hoy día es impensable en un sistema como el presentado por Apple.
Pero la crítica más feroz que ha sufrido Apple desde el pasado miércoles tiene que ver con una empresa, de nombre Adobe para más señas.
Resulta que el iPad no soporta Flash, y el bueno de Steve Jobs comenta que la gente de Adobe es muy vaga y que el futuro es HTML 5, al mismo tiempo que arremete contra Google (noticia El Mundo).
¿Para qué va a decir que se han equivocado y que ha sido una cagada no incluir soporte Flash?.
Es lo que tiene querer ser el primero que sacar un dispositivo como este para hacer creer al mercado que las demás empresas van a la cola y que simplemente han copiado sus ideas (en esto la empresa de la manzana es una experta).
Pero honestamente creo que no le falta razón a Steve cuando comenta que HTML 5 es el futuro, pero decir que la gente de Adobe es una vaga o que el lema de Google (Don't be evil) es una basura o calificativos similares, es a mi modo de ver perder la referencia de la realidad y muestra cierto nerviosismo por parte de Steve, sabedor a buen seguro de que la han cagado (diciéndolo claramente con todas las letras).
Quizás no se han dado cuenta de que aunque HTML 5 sea el futuro, el presente no es HTML 5, por lo tanto, el no soporte de Flash le deja en muy mal lugar al iPad antes de que llegue a las tiendas.
Tanto es así, que incluso Apple ha tenido que rectificar un anuncio del dispositivo en el que se veía a un ejecutivo navegar por una Web con Flash.
El resultado es que era una manipulación y han tenido que modificar el anuncio para que apareciera la página Web con la típica marca de Apple de error de carga de Flash. ¿Error?. Vamos a suponer que sí, pero no da buenas vibraciones la verdad.
Es evidente creo yo por los comentarios de Steve, que pese a su nerviosismo justificado, la guerra de Apple con otras empresas está abierta y que como decía yo en mi entrada de Enero, la guerra no ha hecho nada más que empezar.
Aún y así, me surge una duda bastante grande creo yo.
¿Es realmente la iPad digna de empezar por la letra "i"?.
Si la letra "i" es Internet, no.
Si la letra "i" es inteligencia, creo que tampoco.
Si la letra "i" es de incompleto, igual sí.
Vamos... que en mi opinión, la "i" se ha desvanecido.
Como me comentaba el otro día mi compañero de fatigas Marino Posadas, a Apple se le conoce porque mientras el resto de empresas tienen clientes, Apple tiene creyentes.
Eso, más la distorsión de la realidad (CDR), hace que muchos apoyen a Apple sin pararse a pensar más (el CDR es lo que tiene).
De momento, Steve Jobs no se ha metido con Microsoft, pero ya le llegará su turno. La diana de sus dardos son de momento Adobe y Google.
A mi juicio habrá que esperar el movimiento de otras empresas este año y el próximo respecto a los dispositivos eReader PC, porque este tipo de dispositivos van a aparecer poco a poco, y el hecho de que tengamos más opciones es lo mejor que nos puede ocurrir a los consumidores.

El pasado día 18 tuve la oportunidad de leer una entrada de un medio impreso muy conocido en España (El Mundo) en el que según se citaba en la noticia, Alemania recomendaba no usar Internet Explorer para garantizar la seguridad, invitándoles a los usuarios a buscar una alternativa a Internet Explorer. A este pais, se le unió horas después Francia.
La noticia para un usuario de grado medio-bajo es una noticia alarmante, y a buen seguro que lo primero que hizo un usuario dentro de ese grupo de conocimiento informático fue hacer caso al gobierno alemán y francés por el supuesto de que viniendo de un organismo estatal, estarían más formados y serían veraces sus afirmaciones.
Sin embargo, en mi opinión lo que comentaron ambos gobiernos fue una verdad a medias e interesada, y eso aunque muchos se empeñen en hacerlo creer así es en realidad una mentira, y en su fondo una completa manipulación. Es decir, en modo resumen, es un bluf (Real Academia de Lengua Española: bluf = Montaje propagandístico que, una vez organizado, se revela falso). Me alarma mucho ver como la sociedad actual es incapaz de analizar todas las situaciones de la vida con la templanza oportuna y no dejarse llevar por los alarmismos interesados y por la falta de rigor.
El Gobierno Alemán y Francés comentaron que las versiones 6, 7 y 8 de Microsoft Interner Explorer (todas en resumidas cuentas) son las que están bajo el paragüas de un reciente agujero de seguridad a través del cual se realizaron los ataques a Google, Adobe y otras empresas. Lo cierto es que IE 6 fue el navegador utilizado para realizar los ataques a través de una conocida vulnerabilidad en la que Microsoft estaba trabajando desde Septiembre-Octubre. IE 8 es un navegador que aún dentro de ese radio de acción, quedaba menos comprometido (no sin ello, necesita su parche de seguridad igualmente).
Verdad a medias de Francia y Alemania como digo, porque aunque el fallo exista y sea así, no es menos cierto que otros navegadores Web tienen más vulnerabilidades actualmente que Internet Explorer y no por ello vamos a dejar de usarlos (yo utilizo tres concretamente contando con IE). Por lo tanto, si nos fijamos bien, se trata de una noticia manipulada para buscar un fondo de segundo plano, desprestigiar a Microsoft haciéndola acreedora de ser la única culpable.
Microsoft actualmente ha creado un parche (El Pais) que resuelve (no sé aún si en parte o completamente, aunque presumiblemente completamente) la vulnerabilidad principal de IE y denunciada por Mcafee.
Aún y así, debemos tener siempre presente los conceptos básicos (los básicos, repito) de seguridad: Actualización del Sistema Operativo y con ello de aplicaciones Software instaladas en los equipos (Office, Outlook, Acrobar Reader, IExplorer, Firefox, etc), un Firewall correctamente configurado, actualizado y funcionando, un antivirus correctamente instalado, actualizado y funcionando, y un sistema antimalware correctamente instalado, actualizado y funcionando.
De todos los modos, muchos usuarios pensamos que con tener lo anteriormente comentado y un navegador Web es suficiente para no estar "desprotegido", y ahí es donde pecamos.
Reconozco que un usuario de nivel medio-bajo no tiene porqué saberlo, pero es recomendable que el navegador Web esté actualizado y correctamente configurado (niveles de seguridad, etc). El aspecto "correctamente configurado" es vital, como lo es el no usar nunca un navegador Web en un servidor (y menos en un ISA Server o similar).
Hay muchísima gente que utiliza aún un navegador Web Internet Explorer 6 ó 7. Yo siempre que puedo, actualizo o recomiendo actualizar los navegadores Web de Internet Explorer a la versión 8, y el Firefox a la última versión cuando éste me avisa en sus actualizaciones automáticas (al igual con Chrome).
Pero... aún y así no estamos exentos de riesgos (en todos los paquetes Software, no solo en los de Microsoft).
Sin embargo, afirmar que no se use IE cuando hay otros navegadores con más vulnerabilidades es como matar moscas a cañonazos, pero para quien no lo sepa y en concreto con respecto a Francia y Alemania, comentaré que ambos paises han estado apoyando iniciativas Open Source últimamente (Alemania invierte en Open Source y Francia invierte en Open Source), por lo que dejadme que comente que dentro de la vulnerabilidad existente en IE y en otros navegadores (muchas otras vulnerabilidades) y que son reales, la afirmación de NO usar IE e instalar otro navegador, no solo es un bluf y una manipulación, sino un intento de dinamitar políticamente a Microsoft, confundir a la gente, indicar con el dedo acusador a un cabeza único de turco en la agresión cibernética de hackers "supuestamente" chinos contra varias empresas utilizando una vulnerabilidad de IE 6, y tratar de potenciar lo que desde hace tiempo viene apoyando el gobierno alemán y francés, que es una visión única... el antiMicrosoft. Todo lo que huela a Microsoft no es bueno y hay que cambiarlo.
Allá cada cual con lo que hace y cómo lo hace.
Al fin y al cabo, cada día que pasa estoy más convencido de que estamos perdiendo el norte, la perspectiva de la vida, de la autocrítica y de la honestidad, y de la templanza ante las situaciones del día a día, y lo peor de todo es que los gobiernos actuales casi sin excepción en cada pais, están cada vez manipulando más a la sociedad haciendo proclamas populistas (a lo mejor soy yo el que está equivocado, que todo puede ser).

jQuery ha sacado a la luz su nueva versión de su JavaScript Framework, posiblemente uno de los más famosos y utilizados en el mundo, jQuery v1.4.
A mí por lo menos, me encanta.
Para esta salida que ha tenido lugar ayer 14 de Enero, jQuery ha preparado un sitio especial donde encontrar material e información de esta nueva versión.
El sitio lo encontrarás aquí: http://jquery14.com/.
A lo largo de 14 días, irán poniendo material sobre esta nueva versión, algo que recomiendo a quien quiera saber algo (lo que sea) sobre jQuery v1.4.
Respecto al código de jQuery en sí, podremos acceder a la información mínima (23 Kb) de jQuery v1.4 (ideal para producción) en:
http://code.jquery.com/jquery-1.4.min.js
O bien a la información extensa (156 Kb) de jQuery v1.4 (ideal para desarrollo) en:
http://code.jquery.com/jquery-1.4.js
Ahora bien, si lo que queremos es utilizar jQuery v1.4 en Visual Studio, entonces deberemos además, utilizar otro fichero para habilitar el Intellisense.
Sin embargo y ahora mismo, no he visto publicado este fichero en ningún sitio (es de suponer que lo publicarán en las próximas horas o días).
http://code.google.com/p/jqueryjs/downloads/list
Aún y así, Google posee ya ha creadi una url a la que enlazar nuestro código en producción directamente para utilizar la librería jQuery, y ya ha actualizado su servidor para almacenar la nueva versión de jQuery.
La url de Google es:
http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js
De todos los modos, quizás te preguntes cuales son los cambios de esta nueva versión.
Todos los cambios los podrás consultar en este enlace:
http://api.jquery.com/category/version/1.4/
Acerca del rendimiento, la gente de jQuery ha reescrito muchos de los métodos del Framework buscando una mejora en el rendimiento.
Las llamadas de funciones internas se ha reducido enormemente. En este caso, pongo una imagen de la gente de jQuery que ayuda a comprender mejor esto último que comento:

Ahora bien, si lo que quieres es acceder a la API Cheat Sheet de jQuery v1.4, comentarte que "alguien" ya lo ha hecho por nosotros:
http://www.futurecolors.ru/jquery/
Ahora solo queda decir... que pongámonos con las manos en la masa y a disfrutar de esta nueva versión de jQuery v1.4.
P.D.: gracias a Gisela por el chivatazo vía Twitter (me habéis contagiado con el dichoso Twitter).

Otro de los productos que Microsoft mostrará en este 2010 será Microsoft Project 2010.
La nueva versión de Microsoft Project es más intuitiva e incorpora mejoras en cuanto a la conectividad y la colaboración.
Ahora tenemos también a nuestra disposición el "famoso" Ribbon de Microsoft que mejora la navegabilidad y experiencia del usuario.
Las mejoras incorporadas tienen también relación con la posibilidad de compartir de una mejor forma la información con el resto de aplicaciones Office.
Los datos y tiempos se pueden ver ahora de una forma más atractiva y mejorada.
Para saber más información sobre el producto, visita la web oficial:
http://www.microsoft.com/global/project/2010/en/us/RichMedia/secondary/project_overview.html
Existen en sí, más mejoras, pero la mejor forma de ver que es lo nuevo y como es, es probándolo.
Si quieres descargar y probar Microsoft Project 2010 Beta (disponible en español también), entonces no dudes en hacer clic en el siguiente enlace:
http://www.microsoft.com/project/2010/en/us/default.aspx

¡Apple al ataque!
Varios rumores apuntan a que Apple lanzaría el próximo mes
de Marzo su Tablet PC tipo eReader (eReader PC si se me permite).
El nombre del dispositivo no está claro, pero algunos sitios
en Internet apuntan a que el nombre elegido sería iSlate.
Su tamaño, unas 3 veces la del actual iPhone.
Su peso, 1,250 Kg aproximadamente.
Su aspecto, muy similar al iPhone pero con características
añadidas.
Batería inicial para 5 horas.
Almacenamiento flash de 64 Gb.
Soporte Wifi y posibilidad de navegar por Internet a través
del navegador web Safari.
Como sistema operativo, una variante del sistema operativo
OSx para sacar el máximo rendimiento del dispositivo sin restar prestaciones.
Evidentemente, soporte pdf e iTunes, y quizás un lector de
CD/DVD.
El precio oscilaría entre 500$ y 1000$, aunque finalmente
estaría entre 800$ y 1000$.
Financial Times indica por su parte, que Apple estaría
planificando el anuncio preliminar de este dispositivo para el próximo 19 de
Enero de 2010, aunque el anuncio oficial tendría realmente lugar el próximo 26
de Enero de 2010.
El caso es que Steve Jobs se ha tomado muy en serio esta
aventura y está personalmente liderando el proyecto.

¡Microsoft al contragolpe!
Al igual que con los dispositivos móviles, la reacción de
Microsoft está en marcha, pero ¿llega tarde?... porque al menos y según parece,
no cumple el dicho de que quien golpea primero golpea dos veces.
Si bien se han filtrado videos en YouTube sobre lo que
"podría" llegar a ser Courier, el que parece que va a sacar su
producto antes va a ser Apple.
La capacidad de Microsoft nadie la pone en duda, y aunque
fueron los primeros en filtrar datos de su proyecto, llegarían tarde al
lanzamiento del producto, ganándoles Apple por la mano.
¿Pero es intencionado?. Si yo estuviera en la posición de
Microsoft, dejaría que Apple sacara su dispositivo primero, porque así podría
conocer los precios de la competencia y ajustar mis precios, por lo que
Microsoft devolvería la moneda a Apple.
No obstante, Microsoft Courier es una alternativa muy a
tener en cuenta que se parece muchísimo a la que Apple sacaría a la luz, y que
se apresura a sacar cuanto antes sabedora de que Microsoft tiene muy avanzado
su proyecto interno.
Uno de los valores diferenciales sería que Courier agregaría
características muy interesantes y novedosas con respecto a Apple y con
respecto a cualquier eReader PC.
En este caso, es más parecido a un folleto o cuadernillo
digital que a un Tablet PC, de hecho, su denominación real es la de Booklet,
aunque a mí me gusta llamarlos eReader PC.
El sistema operativo base sería un subconjunto de Windows 7
enfocado exclusivamente en sacar el mayor provecho y rendimiento del
dispositivo.
El tamaño del dispositivo sería de unos 18 centímetros.
Utilizaría las capacidades multitouch de Windows 7.
Soporte Wifi y Bluetooth, y cámara incorporada.
Permitiría escribir, dibujar y agregar anotaciones o
marcadores con un lápiz adicional (al más puro estilo Pocket PC) además de la posibilidad
de utilizar las manos para interactuar con el dispositivo.
Posibilidad de navegar por Internet.
Capacidades para ver fotografías, redimensionarlas, capturar
parte de las mismas, etc.
Agenda incorporada.
Posibilidades adicionales de la mano de la tecnología
utilizada en Microsoft OneNote.
El precio es hoy por hoy desconocido, así como el disco
duro, si lleva lector de tarjetas SD/micro SD/etc, la duración de la batería o
si el dispositivo integraría más posibilidades como capacidades Live (Messenger,
Email, etc).
Acceso al video de YouTube.

En todos los casos, estaríamos hablando de dispositivos
enfocados a la lectura electrónica (eReader's) pero con capacidades mínimas de
un PC, es decir, capacidad de escuchar música mientras uno lee o toma
anotaciones, capacidad de ver películas, navegar por Internet, enviar y recibir
correos electrónicos, etc.
Lo que sí es cierto, es que Microsoft está empujando y mucho
todo lo relativo a la UX, y Courier podría ser el principio serio de una nueva
época en las interfaces de Microsoft, iniciadas especialmente con la XBox y
Zune HD.
¿Y Google?
Google estaría planeando también un eReader.
Los rumores indican que llevan unos 18 meses trabajando en
su proyecto.
Al parecer habría llegado a un acuerdo con HTC para diseñar
y preparar su eReader PC.
Poco o nada se sabe aún de este dispositivo.
El posible "bicho" del tándem Google-HTC tendría
un aspecto similar al que se indica a continuación:

Asus
Asus por ejemplo, estaría preparando un dispositivo bajo el
paraguas de Eee y con el apoyo incondicional de Nvidia.
Su pantalla podría tener un tamaño de entre 18 y 20
centímetros.
Su sistema operativo sería Linux de distribución Android o
Chrome OS.
Como chip, el sistema contaría con un Nvidia Tegra 2 y una
CPU ARM.
El chipset y la tarjeta gráfica sería de Nvidia igualmente.

Freescale Semiconductor
Freescale tiene su origen en Motorola. Quizás con este
nombre tengamos más claro quién está realmente detrás.
El dispositivo sería multitouch y de unos 18 centímetros.
El sistema operativo de este dispositivo sería Linux o
Android.
Dispondrá de Wifi y Bluetooth.
El microprocesador sería un RISC de ARM.
La memoria RAM sería de 512 Mb.
El disco duro oscilaría entre 4 Gb y 64 Gb, con posibilidad
de ampliar este espacio a través de tarjetas micro SD.
Sobre el precio, podría ser la opción más competitiva de
todas, ya que los rumores indican que no superaría los 200$.
-small.jpg)
Como podemos observar, este año 2010 tiene pinta de ser muy interesante con respecto a los eReader PC.
Veremos lo que nos depara. De momento, el principio de año parece que va a ser movidito.

Hablando de lo que a tecnologías Microsoft especialmente se
refiere, este año 2010 que acabamos de estrenar promete ser un año excitante e
ilusionante en cuanto a novedades.
Windows 7
Windows 7 ya ha hecho aparición, y aunque es una novedad que
pertenece al año 2009 recién acabado, en el 2010 se impulsará de manera clara.
Veo a Windows 7 como el relevo serio de Windows XP y Windows
Vista.
En mi particular caso, defensor a ultranza de Windows XP y
con preferencia de éste sobre Windows Vista, admito que mis ordenadores van a
cambiar a Windows 7.
Razones tengo y muchas: flexibilidad, rapidez, seguridad,
actualización, mejoras, rendimiento, etc.
http://windows.microsoft.com/
SharePoint 2010
SharePoint 2010 está ya ahí.
SharePoint 2007 molaba, pero tenía "sus cosas".
SharePoint 2010 mola más, y aunque tenga también "sus
cosas", es una mejora sustancial que hay que tener muy en serio y estar
preparado para afrontar el cambio de la forma más satisfactorio y positiva.
http://sharepoint2010.microsoft.com/Pages/
Office 2010
¿Qué decir del paquete ofimático más utilizado en todo el
mundo?.
A mí Office 2007 me costó un poco usarlo en un primer
momento. No voy a mentir si digo que el Ribbon era para mí un poco lioso, y que
acostumbrado a encontrar las cosas en Office 2003 y versiones anteriores,
Office 2007 me supuso en cuanto a navegabilidad un paso atrás.
Sin embargo, la gente de Microsoft estaba empeñada en que
esa estructura de navegabilidad era la que aportaba mayor experiencia al
usuario, y lo cierto es que una vez superadas las primeras semanas con Office 2007, todo me resultaba mucho más cómodo.
La nueva versión sigue la estela dejada por Office 2007
mejorando lo presente, porque no solo de Ribbon vive el hombre.
http://www.microsoft.com/office/2010/es/
http://blogs.technet.com/office2010/
Visio 2010
En lo que a mí respecta, Visio es una de esas herramientas
que utilizo frecuentemente a la hora de crear documentos, manuales, etc.
Para mí, una imagen vale más que mil palabras, y un gráfico,
una imagen o un diagrama, explica o aclara de un solo vistazo un montón de
frases y palabras.
Este año 2010 traerá una versión más actualizada de Visio
2010.
Una vez más, habrá que acostumbrarse al Ribbon.
http://www.microsoft.com/office/2010/es/visio/
Silverlight 4
Alegría alegría.
¿Será Silverlight 4 el precursor de la muerte de WPF?.
Si
hace pocos meses Microsoft anunció Silverlight 3, ahora tenemos a Silverlight 4
a la vuelta de la esquina.
No dudo ni un ápice en decir que WPF no morirá, pero sí es muy posible
que sea el nuevo "apestado".
Ahora mismo hay un debate abierto muy interesante sobre si
Silverlight 4 será el entorno de desarrollo a utilizar por defecto o no.
Quizás sea un concepto nuevo de desarrollo de aplicaciones
Web y aplicaciones de escritorio, que ahora sí, están más cerca que nunca.
Eso sí, si nos dedicamos al desarrollo de aplicaciones en
diferentes ámbitos, tampoco conviene cerrar los ojos o mirar hacia otro lado, ya que otras empresas
están también impulsando sus ideas y tecnologías (Google o Adobe por poner dos ejemplos).
La guerra de Internet y los navegadores Web está ahí, pero
también la de los sistemas operativos, la nube y... los dispositivos móviles.
¿Y qué relación tiene esto con Silverlight y los desarrollos
Web y de escritorio?. Evidentemente mucho en cuanto al uso de plataformas y tecnologías
dispares y variadas (Windows/Linux, Firefox, Internet Explorer, Opera, iPhone,
Windows Mobile, Android, etc)... pero en lo que a tecnologías Microsoft se
refiere y en concreto a Windows como sistema operativo (o Linux de la mano de Moonlight aunque con reservas), parece que pocas dudas
caben.
http://silverlight.net/getstarted/silverlight-4-beta/
Surface vNext
Parece ser que estará basado en WPF 4 y en Windows 7
multitouch.
Por el momento, no hay demasiada información al respecto, pero en los próximos meses oiremos hablar más de esto.
http://blogs.msdn.com/surface/
Azure
No es lo mismo estar en las nubes, que estar en la nube, y
es que las modas muchas veces mandan o indican las pautas a seguir, y para
ello, no podemos estar en la parra (si se me permite esta expresión) y perder
comba con el movimiento tecnológico actual sobre el que todas las empresas
importantes están poniendo sus miras (Google, Sun, Microsoft por poner varios ejemplos).
Azure es la tecnología o plataforma de Microsoft que está
impulsando desde hace algunos meses y que permitirá subir nuestras aplicaciones
en diferentes DataCenters desperdigados por todo el mundo.
http://www.microsoft.com/windowsazure/products/
Windows Mobile 7
Parece ser que Microsoft empujará más que nunca a Windows
Mobile 7.
Hay muchísimos rumores al respecto, y 0 patatero sobre
información. Incluso hay dudas de que realmente el nuevo sistema operativo móvil de Microsoft se llame Windows Mobile, o que incluso hagan algo "híbrido" con Android... muchos rumores,... quizás demasiados, y nada de información.
El caso es que Microsoft sacó hace unos meses Windows Mobile 6.5, y parece
ser que despidió a mucha gente o todo el equipo que formaba parte de Windows
Mobile.
El cambio obedecería a un giro de timón que podría dejarse
ver a lo largo de este 2010.
Ganas hay, e incertidumbre también.
Veremos que nos depara el 2010 sobre este tema.
http://www.microsoft.com/windowsmobile/en-us/
Visual Studio 2010, Microsoft .NET Framework 4
Aunque parecía claro y seguro que la nueva plataforma de
desarrollo vería la luz en el mes de Marzo próximo, las últimas noticias
indican que hay cambios en las fechas y que se retrasará unas semanas.
Hay que entender que el entorno de desarrollo utiliza
muchísimas tecnologías y que el retraso de fechas podría deberse a cualquiera
de ellas o al propio entorno.
Las quejas más grandes que ha recibido Microsoft desde que
la beta se abriera para que la gente se la bajara e instalara ha tenido que ver
con el rendimiento especialmente.
Además de esto, es lógico pensar que hay otros aspectos a
tener en cuenta como los productos emergentes que formarán parte de la
herramienta y que podrían haber causado el retraso.
Lo que es seguro, es que en este 2010 tendremos Visual Studio.
http://www.microsoft.com/spain/visualstudio/
Microsoft Courier
Basado en Windows 7, Microsoft estaría preparando un eReader
con funcionalidades multitouch.
Que quereis que os diga, me encanta la idea.
Un eReader capaz de actuar de acuerdo a nuestros gestos o
acciones sobre la pantalla al más puro estilo iPhone.
Estirar, encoger, mover, pasar páginas, etc...
Si sale tal y como lo pintan, puede ser una alternativa muy
interesante.
Me aventuro a adelantar no obstante, que el problema
seguramente sea el precio, pero esto ya lo iremos viendo en este 2010.
http://gizmodo.com/5365299/courier-first-details-of-microsofts-secret-tablet?skyline=true&s=x
Microsoft Windows Live Messenger 2010
Los rumores apuntan a que la nueva versión del cliente de
conversación online de Microsoft, integraría Tuenti, Facebook y Twitter.
Un cliente con el cuál poder añadir entradas en las redes
sociales más extendidas y usadas en todo el mundo, sin perder las
características propias del Messenger.
Otras posibles novedades y mejoras para el 2010.
Seguro que me dejo muchas... pero pensemos en algunas de
ellas que han visto la luz tímidamente o que verán la luz en este 2010 como
versión inicial o como actualización de una versión ya existente...
Microsoft Exchange Server 2010 (http://www.microsoft.com/spain/exchange/2010/whatsnew.mspx)
Microsoft Project 2010 (http://blogs.technet.com/office2010/)
MVC (http://blogs.msdn.com/adonet/)
Cardspace 2.0 - "Geneva"
(http://blogs.msdn.com/card/)
vNext (http://blogs.msdn.com/adonet/)
Project Natal (http://www.xbox.com/en-US/live/projectnatal/)
...
A nivel ejecutivo, Microsoft podría ver cambios en su
cú***, al menos, así lo indican algunos medios que ponen a Ballmer en el
disparadero.
Me parecen comentarios exagerados, pero los pongo aquí por
formar parte de otro punto de vista y opinión.
http://2010.newsweek.com/top-10/tech-predictions/Microsoft-Pushes-Out-Steve-Ballmer.html
Sea como sea, este 2010 promete ser un año ilusionante, cargadito de novedades... ya haremos balance el año que viene.
De momento, estaremos preparados para todo lo que se nos viene encima.
¡A disfrutarlo!

Feliz Navidad, Felices Fiestas y Feliz y Próspero Año 2010
Hola a todos/as.
Aprovecho mi blog para desearos a vosotros, vuestros familiares y amigos unas muy felices fiestas, una Feliz Navidad y Feliz y Próspero Año 2010.
Espero que el año 2010 sea mejor que este 2009 en lo personal y profesional, y que ante todos tengamos salud, amor y paz.
Dejo el dinero aparte porque con que no nos falte, nos podemos dar por satisfechos, ya que en estas fechas, hay mucha gente que está necesitada y está pasándolo mal, asi que pidamos al nuevo año que sea más justo con quien más lo necesita.
Un saludo a todos, y en lo que respecta al apartado técnico, prepararos para el 2010 porque va a estar muy muy entretenido.
Jorge

A estas alturas, casi no hace falta decirlo (creo), pero por si acaso, no viene de más comentar dónde podemos encontrar el acceso directo a la ISO de Visual Studio 2010 Ultimate Beta 2.
¿Qué es Visual Studio 2010?. Ahí si que no voy a gastar de momento, tiempo en explicarlo. Creo que sobran las palabras.
¡Que lo disfruteis!
Referencias
Acceso directo a la página de descarga de Microsoft de Visual Studio 2010 Ultimate Beta 2

Microsoft ha publicado la documentación offline de Microsoft Silverlight 4 Beta para que accedamos a ella desde cualquier puesto de trabajo sin tener que estar conectados a la red Internet.
La documentación tiene un tamaño de 66 Mb que una vez descomprimidos se convierte en un fichero de ayuda de Windows (chm) de consulta sobre Silverlight 4.
Referencias
Acceder a la página de descarga de la documentación de Microsoft Silverlight 4 Beta
Acceso directo a la descarga de la documentación

Si eres de esos espíritus inquietos que desean conocer "algo más" de Parallel Programming y su estrecha relación con .NET Framework 4 y por ende con Visual Studio 2010, entonces aquí encontrarás algo de información para saciar tu sed.
Aunque la información que te comento está en inglés, no es por ello menos interesante.
Se trata de 3 artículos en formato pdf y como digo, en inglés, que abarcan varias tareas.
El primero de los documentos tiene una extensión de 17 páginas, seguida de otras 28 páginas que tiene el segundo documento (un poco más completo), y finaliza con las 11 páginas del tercer y último documento dedicado más a cuando usar PLINQ y Parallel.ForEach.
Una documentación muy interesante que conviene mirar y repasar.
Referencias
Acceso directo a la página de descarga de Microsoft (los 3 documentos, aproximadamente 2.6 Mb).

A estas alturas, el que más o el que menos, ya habrá oído hablar de Silverlight 4, y es que los chicos de Redmond quieren hacernos la vida imposible,... eso está claro.
Si eres de esos que te gustaría como a mí, hincarle el diente a Silverlight 4 (en fase beta), entonces te sugiero instalarte Visual Studio 2010 Beta 2 sino lo has hecho aún, y descargarte e instalarte las Microsoft Silverlight 4 Tools para Visual Studio 2010 Beta 2.
La descarga de estas herramientas tiene un tamaño de 26 Mb, y puede ser instalado también en Visual Web Developer 2010 Express Beta 2.
Además de contener plantillas para proyectos de Silverlight 4, también contiene plantillas para proyectos de Servicios RIA.
El paquete, se encargará de instalar todo el Software necesario para trabajar con Silverlight 4, su SDK correspondiente y todo lo relativo a los Servicios WCF RIA.
Referencias
Acceso directo a la página de Microsoft de descarga del Microsoft Silverlight 4 Tools para Visual Studio 2010 Beta 2.
Microsoft ha publicado el paquete Microsoft Sharepoint 2010 Beta Developer Training Kit, o lo que es lo mismo, unas guías que tienen como objetivo indicarle al desarrollador como crear aplicaciones y utilidades para SharePoint 2010.
La descarga tiene un tamaño de 42 Mb y está en inglés.
Dentro del fichero que descargaremos, encontraremos laboratorios, presentaciones de PowerPoint y ejemplos.
Como requisitos más destacables, tendremos que tener Visual Studio 2010 Beta 2 y SharePoint 2010 Beta.
Espero que te resulte útil.
Referencias
Acceso directo a la página web de Microsoft para descargar el Microsoft Sharepoint 2010 Beta Developer Training Kit (42 Mb - en inglés).

El último evento del año de MADNUG tiene un sabor especial... el que deja la sincronización de datos y Microsoft Sync Framework.
José Miguel Torres, MVP de Compact Framework, nos contará el Microsoft Sync Framework como marco de desarrollo ideado específicamente para entornos de sincronización heterogéneos.
Conoceremos qué es Microsoft Sync Framework, que proveedores podemos utilizar, y cómo utilizarlos, así cómo el papel de este marco de desarrollo en la plataforma Azure y otros interesantes aspectos que veremos en este nuevo encuentro.
La agenda queda marcada por los siguientes puntos:
- ¿Que es Microsoft Sync Framework?
- Escenarios de sincronización: entendiendo la complejidad.
- Sync Services for ADO.NET & Sync Services for File Systems & Sync Services for SSE
- MS Sync Framework y Azure
Para registrarnos en el evento, deberemos acceder al siguiente enlace.
Esperamos veros allí, no obstante, desde MADNUG aprovechamos la ocasión para desearos una FELIZ NAVIDAD y un PRÓSPERO AÑO NUEVO 2010.
A continuación os indico una serie de enlaces de Microsoft Sync Framework que espero os sea de utilidad:
Blog del equipo de trabajo de Microsoft Sync Framework
Descarga de Microsoft Sync Framework 2.0 SDK (18/10/2009)
Ejemplos e información sobre Microsoft Sync Framework
Algunas entradas sobre Microsoft Sync Framework en diferentes blogs:
http://blogs.microsoft.co.il/blogs/gilf/archive/2009/01/10/getting-started-with-microsoft-sync-framework.aspx
http://blogs.msdn.com/salvapatuel/archive/2008/01/15/design-the-sync-framework.aspx
http://blogs.msdn.com/sync/archive/2008/03/20/sync-samples-new-microsoft-sync-framework-code-gallery.aspx
Sabemos que es un aviso/invitación precipitada, pero bueno, creo que merece y mucho la pena.
Esperamos veros por allí.
Saludos.

Hay veces en las que desarrollando una aplicación Software, nos interesa obtener los elementos de una colección que contienen o que no contienen un conjunto de elementos.
Para ello, en LINQ hacemos uso de la extensión Contains.
De cara a SQL, esto sería similar a la instrucción que ejecutamos con la palabra IN.
SELECT * FROM Tabla WHERE campo NOT IN ('', '', ...)
La mejor forma de entender bien el funcionamiento de Contains, es verlo con un ejemplo.
El siguiente ejemplo es únicamente demostrativo y esta escrito en C#.
Comenzamos por crear una clase muy simple de productos frutales por decir algo:
public class Product
{
public string fruit { get; set; }
}
Y finaliza con el código de ejemplo demostrativo de LINQ y Contains:
string[] fruits = new string[] { "Peras", "Platanos" };
List<Product> productsCollection = new List<Product>();
productsCollection.Add(new Product() { fruit = "Naranjas" });
productsCollection.Add(new Product() { fruit = "Peras" });
productsCollection.Add(new Product() { fruit = "Limones" });
productsCollection.Add(new Product() { fruit = "Platanos" });
var productElements = from element in productsCollection
where !(fruits.Contains(element.fruit.ToString()))
select element;
productsCollection = productElements.ToList();
foreach (var item in productsCollection)
{
MessageBox.Show(item.fruit);
}
Como podemos ver en este ejemplo, creamos una colección de frutas y una matriz con el nombre de dos frutas.
Lo que queremos obtener son todas las frutas que no estan contenidas en la matriz.
Es decir, todas las frutas que no son ni Peras ni Platanos.
En SQL estándar serían las frutas NOT IN ('Peras', 'Platanos').
Adicionalmente, también podemos hacer uso de las funciones Lambda, por lo que todo el funcionamiento anterior, se resumiría de la siguiente manera (equivalente de la anterior):
string[] fruits = new string[] { "Peras", "Platanos" };
List<Product> productsCollection = new List<Product> {
new Product { fruit="Naranjas" },
new Product { fruit="Peras" },
new Product { fruit="Limones" },
new Product { fruit="Platanos" }
};
productsCollection = productsCollection.Where((n) => !(fruits.Contains(n.fruit.ToString()))).ToList();
foreach (var item in productsCollection)
{
MessageBox.Show(item.fruit);
}
Espero que quede clara (para quien lo necesite) la funcionalidad, beneficios y usos de Contains en LINQ.
Más artículos
Página siguiente >