Publicación del inglés original: Martes, 7 de julio de 2009 a las 14:59 PST por Somasegar
Esta tarde estuve en las finales de Imagine Cup 2009.
Fue una gran experiencia que la ceremonia de entrega de premios de Imagine Cup se celebrara a los pies de la pirámide Giza en El Cairo: uno de los sitios más antiguos e históricos construidos por el ser humano.
Piense en las innumerables semanas, meses y años de diseño detallado que tuvieron que tener lugar para imaginar el resultado final. Por supuesto, una persona sola no genera este tipo de estructuras… la cantidad de colaboración, horas y trabajo en equipo que conlleva es increíble. Construidas hace más de 4.500 años, una de las partes más sorprendente de estas pirámide es la precisión de los diseños de arquitectura de la antigüedad. Incluso hoy todavía se debate cómo se pudieron crear estas estructuras.
El concurso de programación de Imagine Cup lo comenzamos hace 7 años. En 2003, participaron unos 1.000 estudiantes de unos 11 países diferentes. En 2009 participaron más de 300.000 estudiantes procedentes de 100 países del mundo. Estos últimos 7 años han sido un viaje excepcional. Imagine Cup es ese tipo de competición que permite a los estudiantes presentar su pasión por la tecnología convirtiendo sus ideas en realidad.
Yo personalmente me sorprendo de la creatividad, pasión y deseo por tener un impacto positivo en este mundo que los estudiantes que participan tienen en común. Estas ganas por innovar conducen a ideas avanzadas que nos servirán a nosotros también en el futuro, lo que me recuerda de lo que fui testigo el año pasado en las finales de Imagine Cup.
El año pasado, hubo un equipo de Irlanda que utilizó un desarrollo incrustado para crear una forma nueva y eficaz de transformar combustible diesel a combustible de plantas. Decidieron ser usuarios de su propia invención y alquilaron un camión para conducir desde Irlanda hasta París, donde se celebraban las finales de Imagine Cup, utilizando el combustible que desarrollaron. Cuando cruzaban el Euro Túnel hasta Francia se les rompió el camión. NO debido a combustible, como podríamos pensar, sino debido a otras dificultades mecánicas. Se quedaron bloqueados y no tenía el dinero o seguro para arreglar el camión. La pregunta que ellos mismos se hicieron fue: "¿Llegaremos a tiempo a la competición?" Terminaron por llamar a su ADE (Academic Developer Evangelist) local y fueron capaces de obtener ayuda local para arreglar el camión. Afortunadamente, llegaron a tiempo para las finales de Imagine Cup y quedaron en segundo puesto. La pasión que estos estudiantes tuvieron para resolver problemas, queriendo demostrar en un ejemplo real lo que alguien puede hacer con la tecnología y el software, es una lección de determinación para todos nosotros.
¡Namaste!
Publicación del inglés original: viernes, 19 de junio de 2009 a las 23:15 PST por Somasegar
Hace ocho meses, Microsoft anunció la disponibilidad de Microsoft BizSpark, un programa que ayuda a compañías de nueva creación proporcionando software de Microsoft, soporte y visibilidad sin ningún gasto inicial.
Hoy me complace anunciar que más de 15.000 compañías de nueva creación se han unido a BizSpark hasta la fecha.
Las compañías que participan reciben plataformas y herramientas de desarrollo de Microsoft íntegras, como por ejemplo, Windows Server, SQL Server, Visual Studio y Expression Studio. Disponible en 99 países, BizSpark no requiere exclusividad y muchas empresas de código abierto independientes están aprovechando BizSpark para probar la interoperabilidad de sus aplicaciones o aumentar el número de plataformas de cliente que pueden alcanzar.
Las 15.000 compañías que participan son innovadoras en áreas como redes sociales, servicios de software, asistencia sanitaria, educación, movilidad, entretenimiento y finanzas. Estas compañías tienen éxito creando en plataformas de Windows e incluyan nombres, como: ZocDoc (en inglés), Tweba (en inglés), SquareClock (en inglés), Eduify (en inglés), StackOverflow (en inglés), Sobees (en inglés), MixedInKey (en inglés), Develomatic (en inglés).
A continuación describimos algunas de las compañías innovadoras que recientemente se han unido a BizSpark.

Después de ver Microsoft Surface en diciembre de 2008, Nicolas Chaillan se inspiró para crear after-mouse (en inglés) para la generación de experiencias de usuario táctil personalizada para Windows 7 y Surface. After-mouse usa WPF y Silverlight para generar experiencias enriquecidas con interfaces multi tacto para agencias de viajes, minoristas, agencias inmobiliarias en Europa entre otros. La producción de licencias de BizSpark permite a after-mouse crear soluciones con la tecnología de Microsoft.
En la figura siguiente, una aplicación de un bar y restaurante de after'mouse que permite a los invitados realizar sus pedidos directamente desde su mesa.


Establecida en Silicon Valley, Curse (en inglés) es un portal para los juegos en línea de varios jugadores (MMO). El sitio proporciona foros, wikis, revisiones, descargas, blogs, vídeos y otros recursos para jugadores MMO. Curse se centra en contenido generado por el jugador y permite a los jugadores crear sus propias páginas. Curse incluye portales de juegos para World of WarCraft, StarCraft y Age of Conan.
Curse ahora tiene un total de 1,4 millones de usuarios y está creciendo rápidamente. Su sitio web tiene tres servidores web de IIS 7 y una sola base de datos servidor que ejecuta SQL Server 2008. El cliente de escritorio de Curse recibe datos de un servicio web de .NET escrito en C# que se ejecuta en sólo dos servidores web de IIS 7. En propias palabras del presidente de Curse, "Atribuyo gran parte de nuestro éxito en el rendimiento y estabilidad de la tecnología de Microsoft y la productividad que ofrece mediante herramientas de desarrollo de Microsoft. Continuaremos usando exclusivamente la tecnología de Microsoft. La generación de la próxima versión del cliente de Curse está en desarrollo y se está generando en Windows Presentation Foundation, y con un servicio de alojamiento integrado en ASP.NET MVC."
Lokad (en inglés), una empresa de nueva creación francesa de 5 personas creada en 2007, proporciona previsiones de negocio en línea y estadísticas a los clientes de minoristas, fabricación y sectores de centro de llamada. Envíe a Lokad sus datos históricos, tales como ventas, flujos de dinero, volúmenes de llamada y petición de cliente y se le envían previsiones. El equipo de matemáticos en Lokad permite a las empresas comerciales a sacar partido de las previsiones de última generación empresarial operativas con una inversión mínima. La aplicación web de Lokad está escrita para .NET 3.5 y hace uso de LINQ para interactuar con datos de SQL Server. Además, Lokad fue uno de las primeras empresas independientes en utilizar servicios de Windows Azure en su entorno de producción.
Es interesante ver el tipo de trabajo innovador que estas compañías hacen mediante las herramientas y plataformas de Microsoft.
Para obtener más información o unirse a BizSpark, visite BizSpark en Startup Zone (en inglés).
¡Namaste!
Publicación del inglés original: viernes, 5 de junio de 2009 a las 21:12 PST por Somasegar
A medida que la web sigue jugando un papel cada vez más central en habilitar a las personas a crear y entregar experiencias y aplicaciones para consumidores de todo el mundo, es importante tener una herramienta actualizada a estándares web modernos y relevantes para las necesidades de los diseñadores web.
Anteriormente este año en MIX 09, publicamos una vista previa de Expression Web SuperPreview for Internet Explorer (en inglés). Esta es una herramienta que ayuda a los diseñadores de web a diagnosticar problemas de diseño de página a través de varios exploradores. SuperPreview se publicará como una función de Expression Web 3 y SuperPreview for Internet Explorer estará disponible como descarga gratuita. Estamos dando el toque final a Expression Web 3 ahora y estará disponible durante el verano de 2009.
Aquí va un vistazo rápido a algunas de las características nuevas de Expression Web 3, incluido SuperPreview.
SuperPreview
SuperPreview es una herramienta que muestra se mostrará una página en múltiples exploradores y ayuda a diagnosticar la causa raíz de las diferencias de presentación. Nos damos cuenta de que los clientes tienen la opción de elegir su explorador preferido - y también los diseñadores web. Por desgracia, todos los exploradores no presentan las páginas exactamente igual, por lo que es importante probar las páginas a través de varios exploradores para garantizar la fidelidad de diseño y la compatibilidad.
SuperPreview muestra el aspecto que tendrá una página web en varios exploradores, incluidos IE6, IE7, IE8 y Firefox 3. Puede ver las páginas web en paralelo o como una superposición y utilizar las reglas, guías y zoom para identificar con precisión las diferencias de diseño. Incluso puede superponer la página en la parte superior de una imagen de Photoshop para comprobar que es visualmente aproximada al diseño original. A continuación, puede ver cómo pequeñas diferencias de representación entre Firefox 3 y IE6 puede afectan la apariencia del sitio Web.

Desde el anuncio SuperPreview en MIX09, hemos agregado muchas características nuevas. Ahora puede ver HTML Document Object Model (DOM) de la página en cada explorador. Mientras hace clic en los elementos en la representación visual, aparecen seleccionados en el DOM.

Cuando selecciona un elemento HTML, Expression Web también muestra una pequeña burbuja con información adicional, como el tamaño, la distancia desde la izquierda y la distancia desde la parte superior. Cuando estos valores difieren de lo que deben ser, se resaltan las diferencias. A continuación, se muestran los valores de Left (distancia desde la izquierda), Top (distancia desde la parte superior) y Height (altura) diferentes en texto rojo.

A menudo, deseará obtener una vista previa de la página web con diferentes resoluciones para asegurarse de que los clientes reciben una gran experiencia en cada resolución de pantalla. Puede seleccionar una resolución de representación predefinida para su explorador, o escribir cualquier resolución con la opción Tamaño del explorador.

Por último, si está desarrollando una aplicación web ASP.NET o PHP y desea obtener una vista previa de un archivo ASPX o PHP, se iniciará SuperPreview ASP.NET o PHP para representar la página y mostrarla tal y como aparecería en cada explorador.
Vista previa instantánea
SuperPreview es una función útil si desea utilizar un conjunto completo de herramientas para validar que la página web aparece como desea en varios exploradores. Mientras que diseñar una página sin embargo, quizás desee echar un vistazo rápido a la evolución de una página en otros exploradores.
Vista previa instantánea muestra una vista previa local de páginas HTML, ASPX o PHP y la actualiza en tiempo real mientras edita el formato, lo que le ahorra el tiempo y esfuerzo de cargar la página en un explorador para comprobar los cambios de formato.

El panel de vista previa instantánea se puede arrastrar y acoplar en cualquier lugar en Expression Web 3 – incluso en un monitor secundario. En la esquina superior izquierda del panel, puede elegir el explorador para la representación de página en vista previa instantánea. Vista previa instantánea representa la página con fidelidad basándose en el explorador elegido. Utiliza la tecnología de SuperPreview por lo que la representación es totalmente precisa, con el motor de representación real del explorador.
Publicar con SFTP o FTPS
Nos damos cuenta de que la web es un lugar diverso, de modo que los diseñadores web necesitan una herramienta tan compatible con estándares de publicación como sea posible. Expression Web 3 es compatible con sitios de publicación que utilizan WebDAV, FTP, SFTP o FTPS a varios destinos con estado de progreso de publicación en tiempo real. Expression Web 3 también admite varios destinos de publicación por sitio y transferencia de archivos multicanal para un rendimiento rápido.

PSD de Photoshop
Con Expression Web 3, hemos mejorado considerablemente las capacidades y flujo de trabajo cuando se trabaja con archivos de Photoshop. Al importar un archivo PSD, puede simplemente elegir las capas que desea importar en el sitio Web. Puede guardar las capas como JPG, PNG o GIF y escala de la imagen antes las de guardar capas individuales en Expression Web 3. Si el archivo de origen ha cambiado, Expression Web 3 le pide que lo actualice.

Vídeo de Silverlight
Expression Web 3 le permite codificar rápidamente e insertar vídeo de Silverlight en su sitio Web con una amplia gama de características de codificación y transcodificación utilizando Expression Encoder 3. Puede incluso elegir el conjunto de máscaras de Reproductor de vídeo que mejor coincida con los gráficos del sitio. Expression Encoder 3 admite VC-1 de alta calidad y vídeo H.264 Silverlight para la transmisión secuencial.

Otras mejoras en Expression Web 3 incluyen compatibilidad con el sistema de control de código de Team Foundation Server y Deep Zoom Composer para generar imágenes arbitrariamente grandes en las que poder hacer zoom.
Para obtener más información, visite el Blog del equipo Expression Web (en inglés).
¡Namaste!
Publicación del inglés original: lunes, 1 de junio de 2009 a las 21:38:00 PST por Somasegar
Cuando los desarrolladores desean aprender cómo generar software en plataformas de Microsoft, es fundamental que les resulte fácil el buscar contenido y conectar con otros usuarios. Microsoft Developer Network ofrece documentación, artículos, blog, vídeos y foros de ayuda a más de 20 millones de visitantes cada mes.
Durante los últimos meses, el equipo de MSDN ha realizado cientos de actualizaciones en el sitio web de MSDN. Muchos de ellos son cambios sutiles de los que puede ni darse cuenta, pero que juntos ayudan a los programadores a encontrar fácilmente información actual y relevante en el sitio con un aspecto coherente. Quiero compartir con ustedes dos cambios que contienen la esencia de estas actualizaciones.
El contexto lo es todo
Recibimos firmes comentarios de la comunidad de desarrolladores que desean permanecer dentro del centro de desarrollo en su idioma tanto como sea posible, mientras exploran el contenido en MSDN. Mediante esos comentarios, el equipo de MSDN ha implementado una actualización a los foros de MSDN que integra los foros dentro del centro de desarrollo. Cuando un usuario en el Centro de desarrollo de Visual Basic va a los foros, ve los foros de Visual Basic. Que el usuario tenga una experiencia coherente dentro de la misma ubicación garantiza que el contenido y las actividades que le interesan sean importantes y estén relacionados.

Esta actualización de los foros tiene muchas otras características, incluida la carga más rápida del editor de texto enriquecido, actualizaciones a las listas de preguntas más frecuentes que para muestra las contribuciones de los últimos 30 días y la opción para los moderadores "Marcar como contestada" en la vista previa de la conversación.
Haga oír su voz
Obtener comentarios de la comunidad es esencial para realizar mejoras en MSDN. Para facilitar el compartir ideas y sugerencias para la mejora de MSDN, hemos agregado un vínculo "Site Feedback" en la parte inferior de cada página inglesa (excepto en la biblioteca). Al hacer clic en este vínculo, muestra una ventana independiente donde puede escribir sus comentarios.

Al hacer clic en el botón "Submit", se genera un correo electrónico que se envía directamente al equipo de MSDN. El equipo lee cada correo y utiliza sus sugerencias para entender mejor los tipos de problemas con los que la comunidad se encuentra en el sitio y solucionarlos. Como siempre, puede notificar un problema con un producto de Microsoft en Microsoft Connect (en inglés) o hacer preguntas del producto en los foros de MSDN.
He destacado dos ejemplos de los muchos cambios que hemos realizado en MSDN para ofrecer una mejor experiencia para los desarrolladores en línea. Conecte ya con millones de programadores en MSDN y envíe sus comentarios para ayudarnos a hacer MSDN incluso mejor.
¡Namaste!
Publicación del inglés original, lunes, 18 de mayo de 2009 a las 11:15 PST por Somasegar
Hoy publicamos la beta 1 de Visual Studio 2010 y .NET FX 4. Si tiene una subscripción a MSDN, ya se puede descargar la versión beta desde aquí (en inglés). Para el resto del mundo, la versión beta estará disponible el miércoles.
Durante los últimos meses he hablado de la gran cantidad de características nuevas e interesantes que se encuentran en Visual Studio 2010 y .NET 4. Puede ver estas características y muchas más en versión beta 1. Tenemos más trabajo por delante para finalizar las características de algunos de los escenarios y obtener los niveles adecuados de calidad y rendimiento. Pero hemos progresado tanto que queremos empezar a recibir sus comentarios.
Como con cualquier proceso de desarrollo de software, obtener los comentarios del cliente en su momento nos ayuda a crear mejores productos. Así que estamos deseando recibir sus comentarios sobre esta versión beta.
Para averiguar cómo descargar la versión beta y dónde compartir sus comentarios, visite la página de producto de Visual Studio 2010 (en inglés).
¡Namaste!
Publicación del inglés original, viernes, 8 de mayo de 2008 a las 10:05 PM PST por Somasegar
Hoy hemos publicado en MSDN DevLabs un lenguaje .NET para crear aplicaciones paralelas: Axum.
Axum permite a los desarrolladores generar aplicaciones escalables y fiables fácilmente para escenarios multi-procesador utilizando la eficacia y la comodidad de .NET Framework. Axum hace uso de varios conceptos para habilitar la programación paralela a prueba de errores:
- Dominios de estado aislado, que le ayudan a evitar dependencias implícitas en el código que pueden tener como resultado errores de concurrencia difícil de encontrar. Los dominios le permiten ser más productivo ya que se tiene que preocupar menos de la simultaneidad y se puede centrar más en los algoritmos y el código.
- Los agentes son subprocesos de control que procesan mensajes de forma asincrónica para mantenerse escalable y con capacidad de respuesta. Axum emplea un modelo de bloqueo cooperativo que utiliza las latencias para realizar trabajo significativo. Los agentes que desean recibir un mensaje se bloquean, lo que permite que otro agente pueda ejecutarse en su lugar.
- El paso de mensajes no es siempre posible: en determinadas situaciones lleva demasiado trabajo. Con Axum, tiene la opción de indicar mediante declaración cómo un agente pretende utilizar el estado de dominio. El compilador hará que los agentes cumplan las intenciones establecidas y el tiempo de ejecución programará los agentes en consecuencia para mantener la seguridad.
- En Axum, la simultaneidad viene predeterminada. Todos los agentes se ejecutan simultáneamente a menos que se les restrinja explícitamente. Esto significa que usted dedica menos tiempo a escribir código multiproceso y más tiempo en su código.
- Los agentes pueden alojarse en un único proceso, en un proceso independiente o en un equipo distinto. Este modelo de programación unificado significa que no necesita volver a escribir el código cuando desee ejecutarlo en un escenario distribuido.
Puede descargar Axum (en inglés) desde DevLabs, decirnos qué piensa del proyecto (en inglés) y mantenerse al día (en inglés).
¡Namaste!
Publicación del inglés original, miércoles 29 de abril, 7:37PM PST, por Somasegar
Hoy el equipo ha publicado Visual Studio 2008 AJAX Profiling Extensions (extensiones de generación de perfiles de AJAX para Visual Studio 2008), una nueva y potente herramienta para medir el rendimiento de las partes de las aplicaciones web que ejecuta JavaScript dentro del explorador web.
Las extensiones de generación de perfiles de AJAX proporcionan por primera vez una visibilidad necesaria de iteraciones de clientes web a menudo complejas. No es necesario descargar e instalar ningún software adicional, complementos o controles ActiveX en el equipo donde se ejecuta el código de cliente web de AJAX para utilizar las extensiones de generación de perfiles de AJAX a fin de recopilar datos de tiempo de ejecución de JavaScript. Además, funciona con cualquier explorador web, incluida, por supuesto, la versión más reciente de Internet Explorer.
Las extensiones de generación de perfiles de AJAX son un complemento a las herramientas de rendimiento que están disponibles en Visual Studio Team System 2008 Development Edition y Visual Studio Team Suite, que permiten crear perfiles para el código de JavaScript de cliente en la aplicación de AJAX.
Desarrollada en colaboración con Microsoft Research, las extensiones de generación de perfiles de AJAX automáticamente escriben funciones JavaScript para habilitar la instrumentación que miden y registran los datos de rendimiento de cada función. Estos datos de rendimiento se cargarán periódicamente desde el explorador cliente en el servidor web IIS, donde son recopilados y están disponibles para su análisis.
Cómo funciona
Las extensiones de generación de perfiles de AJAX constan de dos partes principales:
1. un componente de servidor que controla la colección de instrumentación y datos de JavaScript
2. un complemento de Visual Studio Team System que lee y analiza los datos de rendimiento recopilados en el Visual Studio Performance Explorer.
El componente del lado del servidor se instala en la canalización integrada de IIS 7.0 y agrega instrumentación en el código de JavaScript sobre la marcha antes de enviarlo al explorador web. Las extensiones de AJAX de generación de perfiles están diseñadas para funcionar con cualquier explorador web, pero necesitan que IIS 7.0 se esté ejecutándose en modo de canalización integrada. Un panel de administración de las extensiones de generación de perfiles en el servidor web permite definir y administrar las sesiones de generación de perfiles.
Una vez que ha recopilado datos de rendimiento cliente AJAX, puede instalar las extensiones de generación de perfiles de AJAX en su copia de Visual Studio 2008 Team Development Edition o Visual Studio Team Suite. A continuación, puede utilizar el Visual Studio Profiler para analizar los datos de rendimiento recopilados desde sus aplicaciones cliente de JavaScript. El Visual Studio Profiler proporcionará datos tales como a qué funciones de JavaScript la aplicación llama con más frecuencia y cuáles tardan más en procesarse. Mientras analiza los datos, puede desplazarse directamente al código de JavaScript.

Para empezar a supervisar el rendimiento de su código cliente de AJAX, descargue las extensiones de Visual Studio 2008 AJAX de generación de perfiles (en inglés) de Code Gallery y, a continuación, únase a la discusión (en inglés).
¡Namaste!
Publicación del inglés original: sábado 25 de abril de 2009, a las 23:42 PST por Somasegar
Recientemente, hemos presentado un nuevo conjunto de herramientas para Expression Blend 3 diseñadas para tratar las primeras fases de diseño.
Con SketchFlow, puede:
a) esbozar ideas,
b) convertir esas ideas en prototipos funcionales que son tan en bruto o refinados como desee que sean,
c) presentar esas experiencias de uso interactivas para su revisión y comentarios en el reproductor SketchFlow.
Los prototipos creados con SketchFlow son rápidos e informales, y permiten a los diseñadores explorar fácilmente una gran variedad de ideas. Puede ejecutar y explorar prototipos desde el primer boceto. Cuando esté preparado para desarrollar más, puede convertir un prototipo en una aplicación real en Expression Blend o Visual Studio.
Esbozando ideas
Al empezar a trabajar en un nuevo proyecto de prototipo para WPF o Silverlight, verá los paneles, controles y área de diseño a los que probablemente ya está acostumbrado en Expression Blend. Puede utilizar el conjunto de controles que se encuentra en Expression Blend 3 o sus propios controles personalizados.
SketchFlow también proporciona un conjunto de controles de “estilo boceto” que dan al prototipo un aspecto de boceto para mantener el enfoque en los conceptos de la experiencia de usuario sin distraerse con los detalles de los elementos visuales demasiado pronto. Los controles de estilo boceto son completamente funcionales y se puede volver a los controles de alta fidelidad en cualquier momento. A continuación puede ver un ejemplo de cómo aparecen los controles de estilo boceto.

Diseño del flujo y la navegación
Aunque el área de diseño proporciona una vista en una pantalla individual, el panel de flujo de aplicación le permite diseñar el flujo de su aplicación, y a continuación, rápidamente realizar cambios en ese flujo sin remodelar el diseño.
En la aplicación que se muestra debajo, flechas sólidas azules representan paradas en la experiencia de usuario, mientras flechas discontinuas verdes representan el contenido que se puede compartir o reutilizar entre pantallas, como por ejemplo un conjunto de botones de navegación común que aparecen en varias páginas.
Recopilación de comentarios
SketchFlow proporciona una forma para presentar su prototipo a otros usuarios con el Reproductor SketchFlow. El Reproductor SketchFlow le permite explorar el prototipo desde el primer momento, aunque se componga de nada más que unos bocetos aproximados. El Reproductor le permite navegar por el prototipo, ejecutar animaciones que muestran cómo podría funcionar, o moverse entre distintos estados de la interfaz de usuario, todo ello sin necesidad de crear elementos de la interfaz de usuario reales. Esto reduce el costo de evaluar ideas en fases iniciales antes de que se incurra en muchos gastos.
Pero mostrar un prototipo a otros es sólo parte del proceso de revisión, por lo que el Reproductor SketchFlow también proporciona herramientas para recopilar comentarios de revisores. Los revisores pueden proporcionar comentarios en forma de texto, como los comentarios en la ficha comentarios en la captura de pantalla siguiente, o como tinta, como la flecha roja en la pantalla siguiente. Entonces su equipo puede incorporar estos comentarios en el prototipo utilizando el panel de comentarios de Expression Blend, lo que le permite trabajar en su diseño con las sugerencias del equipo.

Agregar interactividad y datos
SketchFlow aprovecha las características de Expression Blend 3 para que sus prototipos cobren vida propia. Agregue interactividad sin código utilizando comportamientos, esboce su interfaz de usuario controladas por datos utilizando datos de ejemplo e importe contenido desde Adobe Photoshop e Illustrator.
Para obtener más información, vea el vídeo sobre SketchFlow (en inglés) o lea mi entrada anterior sobre la Versión Preliminar de Expression Blend 3.
¡Namaste!
Publicación del inglés original: Sábado, 4 de abril de 2009 a las 10:07 PST por Somasegar
La creación de una interfaz de usuario atractiva y utilizable debe que ser fácil y divertido. Cada uno de nosotros puede pensar en nuestros productos favoritos (bien los que creamos o los que usamos) e imaginar cuánto mejor serían si la interfaz de usuario fuera sencilla, intuitiva y fácil de usar.
Tanto si crea aplicaciones de escritorio enriquecidas con WPF o ingeniosa aplicaciones basadas en web con Silverlight, Expression Blend le ayudará a diseñar una gran experiencia.
Recientemente, hemos publicado la versión preliminar de Expression Blend 3 (en inglés), que continúa proporcionando características que habilitan un flujo de trabajo a los diseñadores y desarrolladores que va desde la fase de diseño a la de producción.
A continuación destacamos algunas de las características más interesantes de la versión preliminar de Blend 3.

Más interactividad sin código
Los comportamientos son fragmentos de código reutilizables que se pueden arrastrar y colocar en cualquier objeto y ofrecen a ese objeto interactividad sin tener que escribir ningún código. Por ejemplo, puede arrastrar el comportamiento de DragMove en un botón en el tablero de diseño, ejecutar la aplicación y al instante podrá arrastrar el botón en la ventana de la aplicación. En las siguientes aplicaciones de edición fotográfica, el usuario puede arrastrar el botón verde de la imagen para mostrar el brillo en ese momento de la foto.

Los comportamientos siguen un patrón de diseño que se extiende desde el modelo desencadenadores y acciones en WPF y están disponibles para su uso en Silverlight y WPF. Por lo tanto, los comportamientos pueden desplazarse, cambiar su estado, validar datos, comunicarse con los servicios web o reproducir animaciones y sonidos. Blend 3 contendrá un conjunto de comportamientos de propósito general incluidos comportamientos que se desplazan por las páginas en una aplicación, simular física en un control y ejecutar animaciones. Sin embargo, el modelo es completamente extensible para que pueda crear sus propios bloques de creación reutilizables de interactividad. Los comportamientos, tales como controles de usuario, se pueden definir en una biblioteca o como de la propia aplicación y se incluirá automáticamente en el ensamblado. Para obtener más ideas o compartir sus propios comportamientos, visite la la galería de Expression (en inglés).
Ver es creer con datos de ejemplo
En tiempo de diseño, es posible que no tenga acceso a los datos activos que finalmente se muestran en la aplicación. Sin datos es muy difícil obtener una buena idea del aspecto de la aplicación en tiempo de ejecución. Blend 3 le ayuda a resolver este problema al permitir crear datos de ejemplo con los que puede trabajar en el tablero de diseño para facilitar la personalización de los controles que se muestran datos rápidamente. Además, puede decidir si desea utilizar datos activos durante el tiempo de ejecución: los enlaces de datos de ejemplo se almacenan en propiedades en tiempo de diseño. En tiempo de ejecución, los datos reales pueden reemplazar los datos de ejemplo o puede continuar trabajando con los datos de ejemplo mientras prueba la aplicación.
Al crear datos de ejemplo, puede importar datos desde un archivo XML o elegir que Blend genere datos para usted. Los datos generados son totalmente personalizables y pueden incluir las colecciones sin relieve, colecciones jerárquicas, cadenas, números, valores de lógica binaria e imágenes. Al arrastrar los elementos de datos al tablero de diseño, Blend 3 interpreta los valores para determinar la mejor forma de mostrar los datos. Por ejemplo, si el elemento es una ruta de acceso a un archivo de imagen, se muestra la imagen. Si el elemento es una colección de rutas de archivo de imagen, se crea un cuadro de lista de imágenes.

Utilizando el ecosistema de diseño
Una de las características nuevas de la versión preliminar de Expression Blend 3 es la capacidad para importar archivos de Photoshop (.psd) y de Illustrator (.ai) directamente en Blend. Las capas se importan como contenedores de diseño individuales para poder trabajar con ellas más fácilmente. Las capas de vector se importan como vectores, las de texto como texto junto con la mayor parte de la información de la fuente y los degradados se importan como degradados. Además, se puede tomar un archivo de Photoshop, importarlo en Blend 3 y convertirlo rápidamente en una máscara de controles con el nuevo control basado en plantillas.

Colaboración con TFS
Expression Blend 3 está integrado con el control de código de origen de Microsoft© Team Foundation. Esto significa que los archivos de origen del proyecto pueden ahora fácilmente compartir un equipo con todas las ventajas de control de código de origen. Esto minimiza el riesgo de que una persona sin darse cuenta pueda sobrescribir los cambios que alguien realizó en un archivo. En cualquier momento, puede ver una versión anterior de un archivo y compararlo con la versión actual para ver los cambios que se realizaron.


Estas son sólo algunas de las características más destacadas de Blend 3.
Para obtener una lista completa de características nuevas y mejoradas, como IntelliSense en el editor de XAML, un editor de código integrado y las anotaciones en tiempo de diseño, consulte las novedades (en inglés). Descargue la versión preliminar (en inglés), visite el blog del equipo de Expression (en inglés) y vea los siguientes vídeos:
· El futuro de Expression Blend (en inglés)
· Integrar Expression Blend con Adobe Creative Suite (en inglés)
· Crear interactividad con Expression Blend (en inglés)
¡Namaste!
Publicación del inglés original: Miércoles, 25 de marzo de 2009 a las 1:02 PST por Somasegar
Hace poco más de un año que sacamos al mercado Visual Studio 2008 y .NET FX 3.5. Desde entonces el equipo se ha centrado en la próxima versión de la línea de productos con VS 2010, VSTS 2010 y .NET FX 4.0.
Además, hemos estado trabajando en un número de tecnologías interesantes de las que ya hemos hablado en distintos medios. Siempre he sido un gran partidario de la innovación constante y el trabajo que hemos realizado en el último año lo demuestra. La semana pasada anuncié una serie de productos incluyendo la beta 3 de Silverlight (en inglés), la versión preliminar de Expression Blend 3 (en inglés) y el Web Platform Installer (en inglés).
Pensé que podría ser un ejercicio divertido catalogar muchas de las herramientas y tecnologías que hemos puesto a su disposición desde que sacamos al mercado Visual Studio 2008 y .NET FX 3.5. ¡Vamos allá!
Bibliotecas y herramientas
Herramientas de Windows Azure para Microsoft Visual Studio (en inglés)
o Las herramientas de Windows Azure para Microsoft Visual Studio amplían Visual Studio para habilitar la creación, compilación, depuración, ejecución y empaquetado de servicios escalables de Windows Azure.
Visual Studio Team System Database Edition PowerTools (DataDude PT2008 v1) (en inglés)
o Un conjunto de mejoras y herramientas que complementen y mejoran la experiencia de usuario de VSTS Database Edition 2008
Microsoft Visual Studio Tools para Office System Power Tools(en inglés)
o VSTO Power Tools es un conjunto de 9 herramientas y ejemplos de código de descarga gratuita que utilizan los desarrolladores para crear soluciones VSTO.
Web Deployment Projects para Visual Studio 2008 y Visual Web Developer (en inglés)
o Proporciona funcionalidad adicional para generar e implementar sitios y aplicaciones web en Visual Studio 2008.
StyleCop (StyleCop 4.3.0.x) (en inglés)
o StyleCop analiza código fuente de C# y aplica un conjunto de reglas de estilo y coherencia.
FXCop 1.36 (en inglés)
o La versión más reciente de FXCop analiza los ensamblados de código administrado y proporciona información de posibles mejoras de diseño, localización, rendimiento y seguridad.
Managed Extensibility Framework (MEF) (en inglés)
o Una biblioteca nueva que permite la creación de aplicaciones extensibles, marcos de trabajo y complementos de aplicación dependiendo de si se basan en web, cliente inteligente, servicios back-end.
Power Packs de Visual Basic
o Complementos, controles, componentes y herramientas gratuitas para que las use con Visual Basic para hacer aún más fácil el desarrollo de fantásticas aplicaciones.
Captions Language Interface Pack (CLIP) (en inglés)
o Captions Language Interface Pack para Visual Studio 2008 es una herramienta que utiliza un título de información o un diálogo pequeño para mostrar las traducciones de elementos de interfaz de usuario en Visual Studio 2008. Las descargas de CLIP están disponibles en los siguientes idiomas: árabe, checo hebreo, hindi malayalam, oriya, polaco tamil y turco.
MSF para Agile Software Development Process Template v4.2
o Un proceso de ingeniería de software ágil que incorpora ideas clave del movimiento de software Agile para equipos a través de Visual Studio Team System.
Team Foundation Server Power Tools
o Team Foundation Server Power Tools es un conjunto de mejoras, herramientas y utilidades de línea de comando que mejoran la experiencia de usuario de Team Foundation Server.
Visual Studio Team System 2008 Team Foundation Server MSSCCI Provider (en inglés)
o Permite el uso integrado de Team Foundation Version Control con productos que no admiten la integración de Team Explorer.
Silverlight y WPF
Silverlight 2 Controls Source y prueba unitarias (en inglés)
o Código origen para los controles incluidos con Silverlight 2 RTW. Los desarrolladores de aplicaciones pueden usar este código, modificarlo e incluirlo en sus aplicaciones.
Deep Zoom Composer (en inglés)
o Herramienta avanzada gratuita que permite importar y crear imágenes de alta resolución y exportarlas a Silverlight Deep Zoom y Seadragon Ajax.
Silverlight 2 Control Pack (en inglés)
o Esta descarga contiene el código fuente y las pruebas unitarias de los controles de Silverlight 2 administrados incluidos en System.Windows.dll, System.Windows.Controls.dll y System.Windows.Controls.Data.dll.
Silverlight Toolkit (en inglés)
o Silverlight Toolkit es una colección de controles, componentes y utilidades de Silverlight disponibles fuera del ciclo normal de entrega de Silverlight.
WPF Toolkit (en inglés)
o WPF Toolkit contiene tres controles de WPF: Datagrid, DateTime y Ribbon.
WPF Ribbon (en inglés)
o Versión preliminar del control Office Ribbon implementado en WPF para desarrolladores de WPF.
photoSuru (en inglés)
o Un starter kit de WPF para aplicaciones multimedia.
ASP.NET
ASP.NET MVC (en inglés)
o MVC ASP.NET le permite generar aplicaciones Modelo Vista Controlador (Model View Controller - MVC) mediante el marco de trabajo de ASP.NET.
ASP.NET Lightweight Test Automation Framework (en inglés)
o ASP.NET Lightweight Test Automation Framework para ASP.NET se desarrolló por el equipo ASP.NET QA que la utiliza actualmente para automatizar las pruebas de regresión del producto.
Versión preliminar de ASP.NET AJAX 4.0 (en inglés)
o Un número de actualizaciones de ASP.NET AJAX 4.0 integrado en ASP.NET AJAX 3.5 SP1.
ASP.NET Dynamic Data (en inglés)
o ASP.NET Dynamic Data proporciona un marco que permite la generación rápida de una aplicación controlada por datos funcionales y basada en modelos de datos de LINQ para SQL o Entity Framework.
ASP.NET imagen generación (en inglés)
o Para mostrar las imágenes de una base de datos o generar dinámicamente una imagen.
Idiomas
DLR de MVC (en inglés)
o Ejemplos de integración de DLR de MVC.
Actualizaciones de JQuery IntelliSense (en inglés)
o Actualizaciones de JQuery Intellisense de Visual Studio 2008 y Visual Web Developer
IronPython (en inglés)
o IronPython es una implementación del lenguaje de programación Python que se ejecutan en .NET. Está bien integrada con el resto de .NET Framework y habilita todas las bibliotecas .NET fácilmente a programadores Python, manteniendo compatibilidad completa con el lenguaje Python.
Visual C++ 2008 Feature Pack (en inglés)
o Visual C++ 2008 Feature Pack amplía las bibliotecas de VC ++ incluidas en Visual Studio 2008 para incluir compatibilidad con extensiones MFC para interfaces del estilo de la cinta de Office, completamente personalizable, estilo de acoplamiento barras de herramientas y paneles de Visual Studio, controles de interfaz gráfica de usuario avanzados y más. El paquete también incluye una implementación de TR1, incluyendo, pero no limitado al análisis de expresiones regulares, nuevos contenedores y contenedores de función polimórfica.
CLR
Nueva CLR Interopability Support (en inglés)
o Generados de código abierto Tlbimp y A PInvoke Signature Generator que fácilmente convierte de C/C ++ a firmas P/Invoke administradas o viceversa y Tlbimp, una herramienta de línea de comandos que crea un ensamblado administrado de interoperabilidad desde una biblioteca de tipos COM.
Nuevas mejoras de seguridad del CLR (en inglés)
o Un conjunto de proyectos que amplían la seguridad de las API incluidas con .NET Framework para proporcionar funcionalidad adicional; estas incluyen biblioteca CAS Helper, algoritmos de cifrado nuevo y biblioteca de depuración de seguridad automatizada.
VS Helper y FxCop para CLR Addins (en inglés)
o Complemento FxCop para Visual Studio con reglas para validar la seguridad de control de versiones y el aislamiento de los contratos de modelos de objetos
Instrucciones
Guía para la composición de aplicaciones compuestas para WPF y Silverlight - febrero de 2009 (en inglés)
o Esta versión le ayuda a generar aplicaciones modulares y de composición WPF y Silverlight, simplificar la composición de la interfaz de usuario y reutilizar el código entre Silverlight y WPF. Con ella, podrá generar soluciones que aprovechan toda la eficacia de Silverlight y WPF y que son muy fáciles de mantener y probar. Incluye código fuente, aplicaciones de ejemplo y orientación sobre la creación de las arquitecturas de cliente e implementación de patrones de interfaz de usuario.
Guía de aplicaciones compuestas para WPF – junio de 2008 (en inglés)
o Esta versión le ayuda a generar aplicaciones modulares y de composición WPF y a simplificar la composición de la interfaz de usuario. Con ella, podrá generar soluciones que aprovechan toda la eficacia de WPF y que son muy fáciles de mantener y probar Incluye código fuente, aplicaciones de ejemplo y orientación sobre la creación de las arquitecturas de cliente e implementación de patrones de interfaz de usuario.
Smart Client Software Factory – abril 2008 (en inglés)
o Smart Client Software Factory proporciona un conjunto integrado de orientación que ayuda a los arquitectos y programadores crear aplicaciones de formularios para Windows. Ofrece instrucciones que ayuda a automatizar el diseño y a desarrollar aplicaciones conectadas de cliente de formularios Windows Forms modulares. La arquitectura de aplicación resultante es ampliable y personalizable.
Web Client Software Factory – febrero 2008 (en inglés)
o Las prácticas y patrones de Web Client Software Factory son un completo conjunto de instrucciones, activos y automatización que los desarrolladores utilizan para crear aplicaciones web modulares, con una arquitectura sólida. Proporciona directrices que le ayudarán a generar aplicaciones de ASP.NET muy fáciles de mantener y probar.
¡Namaste!
Publicación del inglés original: Miércoles, 18 de marzo de 2009 a las 10:02 PST por Somasegar
Esta mañana ha comenzado MIX 09 (en inglés) en Las Vegas. Allí hemos anunciado el lanzamiento de un número de tecnologías incluyendo una versión beta de Silverlight 3, una versión preliminar de Expression Blend 3 y la función SuperPreview de Expression Web.
Este conjunto eficaz de tecnologías permite a los desarrolladores y diseñadores crear experiencias inigualables de internet enriquecida de principio a fin. También hemos mostrado soluciones por parte de socios clave incluidos Netflix, Bondi Digital Publishing, StackOverflow.com y KEXP.
Además, aprovechando el éxito de Silverlight en los Juegos Olímpicos de Pekín del verano pasado, NBC Universal ha elegido Silverlight para ofrecer en su sitio Web oficial NBCOlympics.com, los Juegos de Invierno de 2010 de Vancouver.
Con Silverlight 3 presentamos más de 50 nuevas características y 20 controles nuevos, incluida la compatibilidad para ejecutar aplicaciones Silverlight fuera de un explorador web, una calidad de vídeo espectacular y mejoras en el rendimiento.
En la versión preliminar de Expression Blend 3 se enseñan mejoras considerables del flujo de trabajo para el diseñador y el desarrollador así como su productividad al facilitar una experiencia completa de principio a fin.
SuperPreview, una función de Expression Web, permite a los desarrolladores rápida y fácilmente solucionar problemas con la representación de la página web en una amplia variedad de exploradores.
A continuación se ofrece un breve resumen de las características clave de Silverlight 3 y Expression Blend 3:
Alta calidad de vídeo y audio
Mediante la compatibilidad con H.264 nativo, IIS7 Smooth Streaming en directo y por demanda, reproducción en alta definición (HD) (720p+) completa y una canalización de descodificador extensible, la versión beta de Silverlight 3 aporta experiencias enriquecedoras a pantalla completa y sin interrupciones.
Gráficos eficaces
Silverlight 3 es compatible con gráficos en 3 dimensiones, así como con efectos de sombreado integrados y extensibles que habilitan escenarios aún más interesantes para los desarrolladores. La aceleración de hardware mejora el rendimiento de gráficos al aprovechar el hardware de gráficos.
Fuera de explorador
Silverlight permite a los usuarios llevar aplicaciones fuera del explorador y ser accesibles desde el escritorio y que sean tan seguras como las ejecutadas en el explorador. Con Windows 7, las aplicaciones de Silverlight ejecutadas fuera del explorador web se pueden agregar a la barra de tareas.
Compatibilidad con herramientas de control
Expression Blend 3 ofrece Sketchflow, una capacidad radicalmente innovadora para que los diseñadores puedan crear rápidamente prototipos del flujo interactivo de aplicaciones y recibir los comentarios de los clientes en contexto, lo que les habilita que las ideas se conviertan rápidamente en realidad.
¡Namaste!
Publicación del inglés original: Viernes, 6 de marzo de 2009 a las 11:20 PM PST por Somasegar
Probablemente nos haya oído hablar en el pasado de nuestro compromiso con la interoperabilidad.
Hoy me alegra anunciar la nueva compatibilidad con Silverlight en Eclipse. Microsoft creó un proyecto para Soyatec (en inglés), un proveedor de soluciones de IT ubicado en Francia y miembro de Eclipse Foundation, para desarrollar un complemento en código abierto (en inglés) denominado Eclipse4SL que permite avanzadas capacidades de desarrollo de Silverlight en el IDE de Eclipse.
Eclipse4SL de Soyatec es un complemento que funciona con el entorno de desarrollo integrado (IDE) de Eclipse y la plataforma de cliente enriquecida de Eclipse (RCP) para habilitar el desarrollo de Silverlight y mejorar la interoperabilidad entre Silverlight y las versiones de Java que existentes en los sitios y servicios web. Soyatec publica Eclipse4SL bajo la Eclipse Public License Version 1.0 de SourceForge y lo ha enviado a la Eclipse Foundation (en inglés) como un proyecto abierto de Eclipse.
Sus primeros pasos en Eclipse4SL
Se acaba de publicar un candidato de versión comercial de Eclipse4SL que hace que sea muy fácil empezar a utilizar Eclipse. La manera más sencilla de obtener Eclipse4SL es descargándolo de Eclipse e instalarlo mediante el Asistente para actualización de Eclipse (Eclipse Update Wizard), como se muestra más abajo. Vaya a http://www.eclipse4sl.org (en inglés) y haga clic en Install (Instalar) para empezar. Como alternativa, puede instalarlo manualmente desde http://www.eclipse4sl.org/download/#MixedInstall (en inglés). Las instrucciones con los pasos a seguir se ofrecen en esa página.

Una vez que Eclipse4SL está instalado, puede generar aplicaciones de Silverlight en Eclipse. Para comenzar, seleccione Windows-> Open Perspective > Other… para abrir el cuadro de diálogo de selección de perspectiva donde puede elegir entre la perspectiva de estilo de Silverlight de Visual Studio o de Eclipse.

Una vez establecida la perspectiva de Silverlight, seleccione File->New. Aquí encontrará dos tipos de proyectos de Silverlight para elegir: Silverlight Project y Silverlight Web Project. Seleccione Silverlight Web Project, que le permite incrustar su aplicación de Silverlight en una página web que tiene otros elementos. Especifique el nombre de proyecto para crear el archivo de proyecto y ya está listo para desarrollar con Silverlight en Eclipse

Aquí se muestra un rápido resumen de algunas de las características:
Resource & Project Management (Recurso y administración de proyectos)
Con Eclipse4SL los programadores pueden utilizar una administración pura de proyectos y recursos de Eclipse o con Visual Studio. Un explorador del proyecto también está disponible para administrar los recursos del proyecto. Los siguientes conjuntos de asistentes generan las plantillas del proyecto deseado.
- Silverlight project (proyecto de Silverlight)
- Silverlight Web project (Proyecto web de Silverlight)
- UI component (componente de interfaz de usuario)
- Import Visual Studio project in Eclipse (importar proyecto de Visual Studio en Eclipse)
Editor de XAML y de código
El editor de XAML y de código es uno de los componentes clave de Eclipse4SL y se centra en la productividad del desarrollador a través de dos componentes: Visor de Silverlight y editor de XAML y de código. A continuación se enumeran algunas características claves admitidas en este área.
- Vista previa del código en memoria
- Contexto eficaz de código de finalización en la plantilla
- Herramienta de la paleta Drag and Drop (arrastrar y colocar)
- Generación y sincronización de código de C#
- Formato de código
Modelos de código y Guía de interoperabilidad
Eclipse4SL proporciona utilidades para la ejecución automática de herramientas de análisis de código que ayudan a la creación de interoperabilidad con servicios web de Java (JAX y REST). Encontrará más información en las dos ubicaciones siguientes.
http://www.sl4eclipse.org/documentation/userdoc/html/webservice/restlet/ (en inglés)
http://www.sl4eclipse.org/documentation/userdoc/html/webservice/cxf/ (en inglés)
¡Namaste!
Publicación del inglés original: Lunes, 23 de febrero de 2009 14:11 PST por Somasegar
En octubre del año pasado, hablé de DevLabs (en inglés): un sitio dedicado a las innovaciones de software para la comunidad de desarrolladores.
Hoy, DevLabs ha publicado una innovación en la que nuestro grupo de investigación Microsoft Research ha estado trabajando: Code Contracts para .NET (en inglés).
El diseño por contrato (Design-by-contract) es una idea pionera de Eiffel. El lanzamiento de hoy, Code Contracts para. NET, es un mecanismo general de diseño por contrato que ahora todos los programadores de .NET pueden utilizar. Mediante su utilización, los programadores proporcionan precondiciones y postcondiciones de método que amplían las API existentes con información que no se puede expresar en los sistemas de tipo de lenguajes de .NET. Además, los contratos especifican las invariantes de objeto, que definen qué estados permitidos puede tener una instancia de una clase (es decir su coherencia interna).
Los contratos se utilizan para comprobaciones en tiempo de ejecución, verificación estática y generación de documentación. Los contratos también permiten documentación automática y pruebas mejoradas. Code Contracts para .NET está formado por tres componentes: los métodos de biblioteca estáticos utilizados para expresar los contratos, un reescritor binario y un corrector estático.
Los métodos de biblioteca (Library Methods)
El método estático Contract.Requires() se utiliza para precondiciones y Contract.Ensures() se utiliza para postcondiciones. Los programadores escriben las llamadas a estos métodos como un preámbulo al principio de un método. El método de Contract.Invariant() sirve para especificar las invariantes de objeto. Todos las invariantes de objeto se colocan en un método marcado con el atributo [ContractInvariantMethod].
Puede ver cómo se utilizan en la pantalla siguiente. Observe el uso del método Contract.OldValue() dentro de la postcondición que remite a los valores existentes al principio del método. El código se compila mediante el compilador .NET normal, por ejemplo, C#, para generar el lenguaje intermedio.

El reescritor binario (Binary Rewriter)
El lenguaje intermedio que genera el compilador de C# para el ejemplo anterior no se puede ejecutar tal y como está. Para proporcionar la comprobación de los contratos en tiempo de ejecución, el reescritor binario toma el lenguaje intermedio compilado y lo transforma para que los contratos se evalúen en puntos del programa correcto. Por ejemplo, las postcondiciones se evalúan justo antes de cada punto de retorno dentro de un método. Cualquier expresión dentro de una llamada a OldValue() se evalúa en la entrada al método con el valor correspondiente y reemplaza la llamada cuando la postcondición se evalúa. (También existe el método Result() que se utiliza para hacer referencia al valor devuelto de un método. Su uso se ilustra a continuación). Si el código instrumentado sigue una ruta de ejecución que infringe un contrato, hay un componente de notificación programable que indica que existe un error. Puede ver un ejemplo en la captura de pantalla siguiente, que muestra una precondición con errores en tiempo de ejecución: el método Divide esperaba un argumento distinto de cero. (En este ejemplo, la notificación dio como resultado un cuadro de diálogo de aserción, pero se puede personalizar para realizar cualquier acción que se desee.)

El Comprobador estático (Static Checker)
Esta herramienta analiza el código para buscar las infracciones de contrato sin tener que ejecutar el código. El correcto genera advertencias si no es capaz de determinar que el código es correcto para todas las ejecuciones posibles.
En el ejemplo de la siguiente captura de pantalla el corrector advierte de una posible precondición errónea en la llamada de MyMath.GCD.

Si el programador agrega la precondición a NormalizedRational que x debe ser no negativo e y debe ser positivo, el corrector demuestra que se satisface la precondición de MyMath.GCD en todas las ejecuciones posibles.
Además, el corrector demuestra que MyMath.GCD siempre satisface su postcondición (es decir, GCD es positivo). El corrector utiliza la postcondición de GCD para demostrar: que en línea 45 nunca hay una división entre cero y que "y/gcd" es distinto de cero, para que se cumpla siempre la precondición del constructor Rational.
Y, por supuesto, puede utilizar Code Contracts directamente en Visual Studio. Instalar el archivo msi de Code Contracts habilita la ficha "Code Contracts" en las propiedades del proyecto donde se pueden establecer las preferencias para la utilización de Code Contracts. Para las configuraciones en las que no se realicen comprobaciones en tiempo de ejecución, los métodos de biblioteca se compilan separadamente a través de los atributos de compilación condicionales en sus definiciones. ¡Una función muy nueva de .NET!. Así, no hay pérdida de rendimiento en el código para contratos que no desee ejecutar.

He aquí algunos comentarios de un cliente que tuvo la oportunidad de evaluar una versión preliminar. "Es un producto realmente interesante. He disfrutado de la combinación del reescritor y la biblioteca, que lo hace independiente de cualquier lenguaje. No puedo esperar para ver las herramientas mejorar."
¡Namaste!
Publicación del inglés original: Jueves, de febrero de 2009 a las 11:24 AM PST por Somasegar
Hoy en día, los desarrolladores pueden utilizar Visual Studio 2005 o Visual Studio 2008 para desarrollar soluciones para Microsoft Office SharePoint Server 2007 (MOSS) y Windows SharePoint Services 3.0 (WSS). Junto con las características de VS 2005 y VS 2008, los desarrolladores también pueden utilizar extensiones de Visual Studio para WSS y docenas de herramientas de terceros.
En Visual Studio 2010, vamos a ampliar la compatibilidad de SharePoint en dos áreas clave. En primer lugar, Visual Studio 2010 proporcionará un amplio conjunto de plantillas de proyecto, diseñadores e infraestructura de implementación que hará a cualquier desarrollador de .NET más productivo en la plataforma SharePoint. En segundo lugar, se expondrá una API que continuará fomentando el ecosistema de los desarrolladores que crean herramientas de desarrollo y tecnologías de extensibilidad.
Visual Studio 2010 viene acompañado de un conjunto amplio de plantillas, tanto de proyecto como de elementos. Podrá utilizar estas plantillas para crear o actualizar rápidamente elementos de SharePoint tales como definiciones de lista, instancias de listas, definiciones de sitios, flujos de trabajo, receptores de eventos, modelos de catálogo de datos profesionales y tipos de contenido.
En Visual Studio 2008 los proyectos de flujo de trabajo compatible podían crearse únicamente para las listas y bibliotecas de documentos. En Visual Studio 2010 se podrán crear flujos de trabajo a nivel de lista y de sitio, así como crear formularios aspx de asociación e iniciación. Y, tal como usted espera, los nuevos diseñadores de Visual Studio 2010 pueden utilizarse para crear elementos web, páginas de aplicación y controles de usuario de un sitio de SharePoint (consulte la siguiente captura de pantalla).

Por supuesto, obtendrá todas las ventajas que espera al desarrollar en Visual Studio, como compatibilidad completa con la depuración de código, IntelliSense y finalización de instrucciones. El importador de WSP le permite importar rápidamente contenido de SharePoint existente y los asistentes de proyecto simplifican el desarrollo de la solución. Por ejemplo, el asistente para los receptores de eventos le permite seleccionar sólo los eventos que desea controlar y genera el código y XML necesarios. Y podrá navegar rápidamente y examinar el sitio de SharePoint directamente en Visual Studio con el explorador de servidores (consulte la siguiente captura de pantalla).

Visual Studio 2010 proporciona un conjunto completo de plantillas de proyecto y herramientas que los programadores pueden utilizar para crear soluciones personalizadas de SharePoint. Aunque estos proyectos y herramientas de SharePoint funcionan bien para muchos escenarios de desarrollo de aplicación, hay veces que es necesaria una funcionalidad nueva o diferente. En estos casos, puede adaptar los proyectos de SharePoint y herramientas de Visual Studio mediante una nueva API de extensibilidad de Visual Studio. Esta API le permitirá crear nuevos elementos de proyecto de SharePoint, automatizar y ampliar los elementos de proyecto de SharePoint existentes, mejorar la implementación y la funcionalidad de retiro y ampliar la pantalla y las acciones de nodos de SharePoint en el explorador de servidores.
Si desea saber más aún, puede ver a Reza Chitsaz (en inglés) en Channel 9.
¡Namaste!
Publicación del inglés original: Lunes, 26 de enero de 2009 a las 15:21 PST por Somasegar
En noviembre introdujimos el Kit de herramientas de Silverlight, un proyecto de código abierto diseñado para proporcionar controles adicionales de Silverlight y funcionalidad entre versiones de Silverlight. Desde entonces, hemos recibido importantes comentarios positivos y en diciembre publicamos una segunda revisión.
La revisión publicada en diciembre (en inglés) contiene incluso más temas, una nueva aplicación de ejemplo, mejoras de los componentes y muchas características y arreglos solicitados por la comunidad de desarrolladores. También estamos publicando DLLs para integrar la experiencia de los diseñadores, además de pruebas unitarias y la última versión de la unidad de marco de trabajo de prueba.
Para aquellos familiarizados con Windows Presentation Foundation, los nombres de algunos controles disponibles en el Kit de herramientas les serán familiares. Los controles de la banda de calidad de "Stable" (en inglés) son AutoCompleteBox, DockPanel, HeaderedContentControl, HeaderedItemsControl, Label, NumericUpDown, TreeView y WrapPanel. Los controles de la banda de calidad "Preview" (en inglés) incluyen Charting, Expander, ImplicitStyleManager y Viewbox.
El uso de los controles es cuestión de agregar referencias a los ensamblados en el Kit de herramientas y utilizarlos como controles normales en su aplicación de Silverlight. A continuación puede ver algunos ejemplos.
NumericUpDown
NumericUpDown es un TextBox que sólo permite valores numéricos al tiempo que proporciona la capacidad para incrementar o reducir los valores con el mouse (ratón) o el teclado. Establecer sus diversas propiedades le permite controlar los valores mínimo (Minimum), máximo (Maximum), el valor (Value) y la cantidad a incrementar (Increment). En el siguiente XAML, puede ver lo fácil que es utilizar el control NumericUpDown.

Y el resultado tendría el aspecto siguiente:

Éste es un gran control a utilizar cuando desee restringir la entrada del usuario a un valor numérico a la vez que proporciona una forma rápida para ajustar el valor.
Controles de gráficos
Silverlight Chart es un conjunto de clases completamente nuevas que permiten a los desarrolladores crear fácilmente gráficos de columnas, barras, circulares, línea, dispersión y de burbujas con aspecto profesional . Estos gráficos se exponen como una serie de controles que el control de gráfico puede hospedar, lo que permite combinarlos.
Aquí puede ver todo lo necesario para crear un gráfico de columnas simple en XAML (tenga en cuenta que no necesita ningún código):
Echemos un vistazo a un ejemplo sencillo:

El XAML anterior genera el siguiente gráfico:

Temas
Además de los controles enumerados en esta entrada de blog, también encontrará diez temas disponibles para las aplicaciones en el Kit de herramientas. A continuación, puede ver una captura de pantalla del aspecto de estos temas.

Puede obtener aún más información acerca de estos controles y el Kit de Silverlight en CodePlex (en inglés).
¡Namaste!