Jorge Serrano - MVP Visual Developer - Visual Basic

 

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.

Publicado por Jorge Serrano | 7 comment(s)
Archivado en:

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.

Publicado por Jorge Serrano | 10 comment(s)
Archivado en:

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

Publicado por Jorge Serrano | 7 comment(s)
Archivado en:

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

Publicado por Jorge Serrano | 2 comment(s)
Archivado en:

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

Publicado por Jorge Serrano | 1 comment(s)
Archivado en:

 

¡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$.

 

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.

Publicado por Jorge Serrano | con no comments
Archivado en:

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!

Publicado por Jorge Serrano | 1 comment(s)
Archivado en:

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

Publicado por Jorge Serrano | 6 comment(s)
Archivado en: ,

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

Publicado por Jorge Serrano | con no comments
Archivado en:

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

Publicado por Jorge Serrano | con no comments
Archivado en:

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

Publicado por Jorge Serrano | 4 comment(s)
Archivado en:

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.

Publicado por Jorge Serrano | con no comments
Archivado en:

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

Publicado por Jorge Serrano | 1 comment(s)
Archivado en:

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.

Publicado por Jorge Serrano | 2 comment(s)
Archivado en:

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 { getset; }
}

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.

Visual Studio 2010 introduce muchas mejoras e interesantes características algunas de las cuales son extensiones de un "mundo" hacia el "otro", y en el caso concreto de esta entrada, el uso de Caching que se hacía en Web a Windows, en aplicaciones de escritorio, con WPF o WinForms.

Hay momentos en el desarrollo Web, que nos interesa mantener datos o informaciones en caché, que por motivos determinados no nos interesa estar consultando constantemente.
Esa posibilidad se materializa en el ambiente Web gracias al objeto System.Web.Caching.Cache [http://msdn.microsoft.com/es-es/library/system.web.caching.cache.aspx].

El caso es que el trabajo con datos cacheados se hizo tan popular y necesario, que muchas aplicaciones Windows utilizan esta librería.
El problema es que se producía un mal uso del ensamblado System.Web.dll que debíamos referenciar para poder usar el objeto caché de ASP.NET, pero como digo, en un ambiente Windows, anti-natural si se me permite la expresión con el propósito del ensamblado que estaba diseñado para ser utilizado en un ambiente Web.

Funcionar funcionaba, ahora bien, no es la mejor práctica sin lugar a dudas, y muchas aplicaciones de escritorio la utilizan.

Por esa razón, la gente de Microsoft empezó a pensar en cómo crear objetos que permitieran de forma más liviana, ofrecer los mecanismos de cacheo que posee las aplicaciones Web en un ambiente Windows utilizando sus ensamblados.

Así, surgió el ensamblado System.Runtime.Caching.dll que es propio de .NET Framework 4.0 y que contiene dos clases principales.
La primera de esas clases tiene como misión abstraer los tipos con el fin de implementar tipos personalizados de caché.
La segunda de esas clases implementa en memoria un objeto de caché concreto a través de la clase System.Runtime.Caching.MemoryCache.

Quizás, la mejor forma de ver esto es haciendo un ejemplo práctico que nos muestre como trabajar con datos cacheados en una aplicación Windows, y así comprenderemos mucho mejor todo esto.

Iniciaremos una nueva aplicación Windows en C# con Visual Studio 2010 y agregaremos a la ventana tres controles Button y dos controles Label, tal y como se muestra a continuación:

 

Dentro de nuestra aplicación, deberemos realizar diferentes acciones.

Por un lado, agregaremos una referencia al ensamblado System.Runtime.Caching.dll.
Este ensamblado no se encuentra en la ventana de referencias de .NET, sino que deberemos ir a la ruta [C:\WINDOWS\Microsoft.NET\Framework\v4.0.21006\System.Runtime.Caching.dll] para seleccionarlo.

Una vez seleccionado, observaremos que el ensamblado aparece en las referencias con un icono de aviso.
Esto es debido a que la aplicación Windows por defecto, está como Microsoft .NET Framework 4 Client Profile, por lo que el ensamblado indicado no forma parte del paquete distribuible Clien Profile (para más información, ver la entrada anterior que escribí en mi blog sobre esto) y de ahí que salga el aviso en las referencias del proyecto.
Haremos clic con el botón derecho del ratón sobre el proyecto y seleccionaremos la opción Propiedades.
En las propiedades del proyecto, seleccionaremos como Target framework a ".NET Framework 4".

Una vez hecho esto, Visual Studio 2010 nos avisará de que estamos cambiando la opción de distribución.
Indicaremos que sí, y seguiremos adelante.
Lo primero es que el ensamblado que aparecía con un icono de advertencia, ha desaparecido y podemos importar el namespace al proyecto y trabajar con sus clases y miembros.

Una vez que hemos llegado a este punto, nos focalizamos ya en el código de nuestra aplicación.

La primera acción será la de agregar nuestro namespace a la cabecera de la clase del formulario a través de la siguiente instrucción:

using System.Runtime.Caching;

Finalmente, nos centraremos en el resto del código de nuestro ejemplo que es el que se indica a continuación:

/// <summary>
/// Cargamos el formulario.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Form1_Load(object sender, EventArgs e)
{
    
// Inicializamos los controles Label a blanco.
    
this.label1.Text = "";
    
this.label2.Text = "";
// Form1_Load


/// <summary>
/// Creamos un objeto ObjectCache, y 
/// referenciamos a MemoryCache.
/// </summary>
private ObjectCache cacheName = MemoryCache.Default;


/// <summary>
/// Metodo para cargar los datos de cache de ejemplo.
/// </summary>
private void LoadCacheData()
{
    
// Mostramos el mensaje que indica que se estn cargando los datos de la cache.
    
this.label2.Text = "Cargamos los datos a la cache";
    
// Declaramos un objeto para las politicas.
    
CacheItemPolicy policy = new CacheItemPolicy();
    
// Indicamos la prioridad de la politica.
    policy.Priority = 
CacheItemPriority.Default;
    
// Preparamos un contenido para guardar en la cache.
    
string name = "Antonio " + DateTime.Now.ToString();
    
// Almacenamos el contenido anterior en la cache.
    cacheName.Set(
"name", name, policy);
// LoadCacheData


/// <summary>
/// Cargamos y mostramos los datos de cache.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
    
// Obtenemos los datos de la cache.
    
string name = cacheName["name"as string;
    
// Si lo que obtenemos es nulo, es porque 
    
// no hay datos cargamos en la cache.
    
if (name == null)
    {
        
// No hay dados en la cache... => cargarmos los datos.
        LoadCacheData();
    }
    
// Mostramos el mensaje que indica que se muestran los datos de la cache.
    
this.label1.Text = "Mostramos los datos de la cache :: " + cacheName["name"].ToString();
// button1_Click


/// <summary>
/// Eliminamos la cache.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button2_Click(object sender, EventArgs e)
{
    
// Eliminamos los datos de la cache.
    cacheName.Remove(
"name"null);
    
// Mostramos el mensaje que indica que se 
    
// han eliminado los datos de la cache.
    
this.label1.Text = "Eliminamos los datos de la cache";
    
this.label2.Text = "";
// button2_Click


/// <summary>
/// Modificamos los valores de la cache.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button3_Click(object sender, EventArgs e)
{
    
// Preparamos un nuevo contenido para la cache.
    
string name = "Luis " + DateTime.Now.ToString();
    
// Preparamos una nueva politica para los datos de la cache.
    
CacheItemPolicy policy = new CacheItemPolicy();
    
// Establecemos la prioridad de la politica.
    policy.Priority = 
CacheItemPriority.Default;
    
// Indicamos una expiracion de 5 segundos.
    policy.AbsoluteExpiration = 
DateTimeOffset.Now.AddSeconds(5);
    
// Establecemos los valores nuevos de la cache con su politica nueva.
    
// La expiracion sera de 5 segundos.
    
// Pasados esos 5 segundos, el contenido de la cache se borrara.
    cacheName.Set(
"name", name, policy);
    
// Mostramos el mensaje que indica que los
    
// datos de la cache se han eliminado.
    
this.label1.Text = "Modificamos los datos de la cache (5 segundos para consultar)";
    
this.label2.Text = "";
// button3_Click

Este ejemplo tiene como misión crear datos en la caché si no existen (primer botón), eliminar los datos de la caché (segundo botón), modificar/crear datos en la caché con una expiración de 5 segundos (tercer botón), pasados los cuales, los datos de la caché se eliminarán automáticamente. Si jugamos con estas tres opciones, comprenderemos mejor aún el comportamiento y funcionamiento de Caching.

Como podemos observar, el funcionamiento de System.Runtime.Caching es muy similar al Caching de System.Web, eso es así porque la gente de Microsoft ha querido hacer esto de forma que la gente que está familiarizada con el Caching de Web, no encuentre muchos cambios con respecto al nuevo ensamblado de Caching que ha creado Microsoft.

Continúo comentando alguna de las incorporaciones de Visual Studio 2010, y en concreto, una que tiene por nombre Client Profile, si bien, Client Profile se deja ver ya en .NET Framework 3.5 SP1, es en .NET Framework 4.0 cuando adquiere más importancia.

En Microsoft han pensado que la distribución de aplicaciones WPF y aplicaciones de Windows, se hace a veces excesivamente pesada a costa de distribuir el Framework de .NET.

Ese Framework se ha hecho bastante pesado y a veces para usar solo una parte.

Es por todo ello, que Microsoft ha decidido crear dos paquetes... bueno... uno nuevo solamente en realidad.
Uno de esos paquetes es el paquete de distribución tradicional, el que denominan .NET Framework 4.0 ó .NET Framework 4.0 full y que todos conocemos muy bien.
El otro y nuevo, es el .NET Framework 4.0 Client Profile.

Este paquete, .NET Framework 4.0 Client Profile, contiene únicamente una parte de librerías del Framework, aquellas que Microsoft ha estimado como las más usadas o más comunes para las aplicaciones de escritorio WPF y Windows.

Los paquetes Client Profile en .NET Framework 4.0 están disponibles tanto para sistemas de 32 bits como para sistemas de 64 bits, a excepción del procesador IA64.

Respecto a los tamaños del Client Profile, éstos se han reducido drásticamente desde la Beta 1 a la Beta 2.
Para un entorno de 32 bits por ejemplo, el tamaño ha pasado de 34 Mb a 31 Mb, y para ambos entornos, 32 bits y 64 bits, ha pasado de 71 Mb a 47 Mb.

Desde mi punto de vista, ésto del Client Profile no me termina de convencer del todo, pero entiendo que la gente de Microsoft lo habrá hecho por alguna razón o interés general, así que de momento me quedo a la espectativa.

Finalmente, debo indicar que dentro del entorno de desarrollo, haciendo clic con el botón derecho del ratón sobre el proyecto y seleccionando la opción Propiedades del menú emergente, accederemos a las propiedades del proyecto, dentro de las cuales encontraremos la parte definida como Target framework dento de la cual, podremos seleccionar el tipo de compilación que queremos realizar, con Client Profile (por defecto para una aplicación WPF y Windows), o con el framework completo.

También podemos acceder a esta opción desde las opciones avanzadas del compilador.

Para terminar, querría dejar dos enlaces con información de Client Profile para la Beta 1 [http://blogs.msdn.com/jgoldb/archive/2009/05/27/net-framework-4-client-profile-introduction.aspx] y para la Beta 2 [http://blogs.msdn.com/jgoldb/archive/2009/10/19/what-s-new-in-net-framework-4-client-profile-beta-2.aspx], sacadas de un blog de Microsoft. En el segundo de los enlaces, encontraremos cuadros comparativos bastante descriptivos así como informaciones de utilidad y qué partes del Framework se incluyen en el Client Profile.

Nota previa: Aunque la siguiente entrada tiene su foco puesto en VB como lenguaje, es igualmente aplicable a C#.

Dentro de nuestras aplicaciones nos encontramos con situaciones en las que tenemos que evaluar si una cadena de texto tiene información o no.

Podemos preguntar si una cadena es nula o está vacía de la forma siguiente:

Dim test As String
If
 (test Is Nothing Or
    test = ""Then
    MessageBox.Show("nulo o vacio")
End If

La ejecución de estas instrucciones en Visual Basic 2010 nos mostrará un mensaje en pantalla con el mensaje de nulo o vacío.

Si cambiamos las líneas anteriores por estas otras donde el único cambio es la asignación de una cadena vacía en la variable test:

Dim test As String = "" 
If
 (test Is Nothing Or
    test = ""Then
    MessageBox.Show("nulo o vacio")
End If

Seguimos obteniendo el mismo resultado.

Ahora bien, Visual Studio nos proporciona un método que simplifica bastante la pregunta acerca de una cadena, si es nula o vacía.

Ese método es el método IsNullOrEmpty.

El código anterior quedaría entonces enormemente simplificado de la siguiente manera:

Dim test As String
If
 (String.IsNullOrEmpty(test)) Then
    MessageBox.Show("nulo o vacio")
End If

Sin embargo, si modificamos el código por este otro:

Dim test As String = " "
If (String.IsNullOrEmpty(test)) Then
    MessageBox.Show("nulo o vacio")
End If

Observaremos que ahora el método IsNullOrEmpty no detecta que la cadena es una cadena vacía, ya que el espacio en blanco hace que no sea vacía.

Sin embargo, la diferencia entre el espacio en blanco y una cadena vacía es a veces discutible y muy estrecha.

Para algunos, un espacio en blanco representa un caracter (el 32 para más señas), sin embargo, para otros... ese espacio en blanco no contiene información relevante en según que procesos y les gustaría que fuera detectado como cadena vacía. ¿Quién tiene la razón?.

Por esto y para resolver el problema, aparece en escena el método IsNullOrWhiteSpace que ha sido incluido en .NET Framework 4.0 y por ende en Visual Studio 2010, el cual nos indica si una cadena es nula o vacía, entendiendo por vacía el espacio o espacios en blanco.

El ejemplo anterior último para quien quiera tratar el carácter 32 (espacio en blanco) como cadena vacía, quedaría representado de la siguiente manera:

Dim test As String = " "
If (String.IsNullOrWhiteSpace(test)) Then
    MessageBox.Show("nulo o vacio")
End If

En esta oportunidad, nuestra cadena con un espacio en blanco, será interpretada como cadena vacía, o mejor dicho, se entenderá que no hay caracteres representativos entiendo como único caracter no representativo el caracter 32.

En mi caso, antes de este método tenía implementada una función extensible que hacía esta acción. Ahora, esa función extensible pasará a mejor vida gracias a este nuevo método de Visual Studio 2010.

No sé vosotros, pero yo uso Visio en muchísimas ocasiones para preparar documentos de requerimientos, diseños técnicos, documentos de pruebas, manuales, artículos en revistas, etc.

Como usuario de Visio, me gusta y mucho ver qué características trae las nuevas versiones de Visio.

El caso de esta entrada no es contar qué cosas nuevas trae o traerá Visio 2010, sino ofrecer la posibilidad de acceder a la versión Beta pública de Visio 2010 que aparecerá en las próximas semanas.

La gente de Microsoft ha creado un nuevo sitio [http://visiotoolbox.com/2010/] a través del cual escribir un mensaje de correo electrónico para que nos notifiquen automáticamente cuando aparece la versión de prueba para tener acceso a ella.

En esa web encontraremos detalles e información sobre la nueva versión de Visio.

La Web por otro lado, tiene aspecto Visio como no podía ser de otra forma. :-)

Espero que sea del agrado de más de uno.

Publicado por Jorge Serrano | con no comments
Archivado en:
Más artículos Página siguiente >