El modelo de aplicaciones de Windows 8: consecuencias para los desarrolladores

Bueno, después de las vacaciones estamos teniendo «movida», como habéis podido ver por las entradas de David Nudelman, Gonzalo Pérez y David Martos. Estuve viendo la «Keynote» ayer por la tarde, tomando notas, bajándome la versión «preview» de desarrolladores e instalándola (¡¡cuidado con esto!!). D. Nudelman ya avisaba aquí esta mañana de los peligros de una instalación cualquiera. Además, Scott Hanselman, ha publicado una entrada que explica cómo instalarlo sin prroblemas en una máquina virtual («Guide to Installing and Booting Windows 8 Developer Preview off a VHD.»), que recomiento a todos.

Pero lo que me interesa a mí es nuevo modelo de desarrollo que nos espera y hasta qué punto nuestras inversiones (en tiempo y dinero) en aprender tecnologías nos pueden seguir sirviendo para el nuevo sistema. Eso y las consecuencias principales, y cómo poder ponerse inmediatamente en funcionamiento. Por eso he publicado un par de entradas en mi sitio explicando ésto con algún gráfico extraido de la presentación de Stephen Sinofski de ayer. Curiosamente, se desvía muy poco de lo que anticipábamos aquí y en mi sitio a comienzos del verano.

Si hay alguna pregunta, estoy, como siempre, a vuestra disposición.

Saludos

Marino

www.elavefenix.net

 

El Ave Fénix,alcanza el millón de visitas

Descontadas las mías, que serán unas 10.000 en 9 años de publicaciones, desde que empecé con el proyecto. Inicialmente era un soporte para mis clases, y más adelante se fue convirtiendo en una Web de noticias y referencias para desarrolladores de .NET. También me gusta incluir noticias de las innovaciones tecnológicas (relacionadas con los avances en Nanoelectrónica, Física de materiales, etc.), que pueden tener una influencia en el desarrollo de la Informática. También añadí algunas rutinas de código que me parecían interesantes, y por último incorporé un «Bestiario de Monstruos»…de la informática. Los creadores de .NET, los Premios Turing, los pioneros… con unas pequeñas «bios» para tener una idea de quiénes fueron los que comenzaron con todo esto que nosotros estamos haciendo ahora.

Aprovecho desde este foro para dar las gracias a todos los que lo hayáis visitado alguna vez., y animar a los que no lo conozcáis a que entréis y me deis vuestra opinion (mpm@elavefenix.net). Siempre será bienvenida.

¡Que el mes de Julio nos sea leve!

www.elavefenix.net

Librerías y marco de ejecución de Windows 8 (I)

Comienzo lo prometido (que en los foros públicos, más que en ningún otro sitio, es deuda). Ya disponemos de más información detallada sobre las librerías y algunas peculiaridades del marco de ejecución de Windows 8 (y su relación con Jupiter). La peña del foro de «My digital life», ha estado currando, y Mary Jo Foley (ZDNet), tuvo la amabilidad de pasarme el otro día algunos datos, como respuesta a la transcripción que le pasé de mi entrevista con Paul Cotton. A partir de ahí y alguna otra información adicional he podido ir tirando del hilo…que debiera ser el hilo de Ariadna, dada la cantidad de mitología griega implicada en el asunto (Apollo, Jupiter, etc…)).

La información resultante, aunque todavía en pañales es bastante aclaradora de la situación. Hay algunas capturas de pantalla de demos funcionando, listados del Examinador de Objetos mostrando algunos de los espacios de nombres más significativos, y muchas referencias al modelo de ejecución. El segundo de esta mini-serie ya está disponible en mi sitio Web (que, por cierto, ha sobrepasado hoy el millón de visitas…)). Seguiré publicando sobre el tema cada 3 o 4 días hasta agotar toda la información disponible que me parece relevante para el desarrollo.

Referencia del artículo: http://ww.elavefenix.net

Un saludo y buen verano (o invierno, según el hemisferio)

Peter Bright explica las razones del cambio del modelo de desarrollo de Windows 8

Y de paso, amplia mi pequeño resumen en castellano que publiqué hace unos días, como mucho más detalle y lujo de enlaces y referencias. De todas formas, este «finde», habré podido acceder a información adicional al respecto y podré comentar un poco más de los modelos propuestos, con referencias a DLL concretas y otros aspectos que parece que se pueden deducir de las primeras aproximaciones al producto.

Sin más, este es el artículo completo (extenso y detallado) que escribe Peter Bright en Ars Technica: http://t.co/8Z0VFTV

Saludos

Marino

Desvelado el misterio: Windows 8 igualará a los desarrolladores .NET con los de C++ y los HTML5 +JS en un nuevo API: WinRT

Es una filtración que me ha llegado por casualidad, pero es MUY significativa, tiene muchísimo sentido y explica muchas de las cosas que -yo al menos hasta esta mañana- no acababa de comprender. EL mensaje es de tranquilidad y al mismo tiempo de un mundo nuevo y tremendamente atractivo que se abre para todos los desarrolladores. Digo TODOS. Eran más de 8 folios en inglés, que he traducido en lo fundamental para quedarme con lo que realemente nos va a importar. Aún resumiendo lo fundamental, me ha quedado un artículo largo, donde comento lo de las nuevas API de Windows 8, la base de WinRT como mecanismo que permite a todos los desarrolladores acceder al sistema desde su respectiva plataforma, pero de forma NATIVA, el nuevo -e importantísimo- papel de XAML y el concepto que hay por debajo (DirectUI).

Lo tenéis en la siguiente página de mi sitio: http://www.elavefenix.net/AnticipoAPIDesarrolloWindows8.aspx

Espero que esto aclare muchas cosas y tranquilice conciencias y temperamentos. La mía está mucho más tranquila, desde luego.

Un saludo a todos

Marino

 

Le pregunté a Paul Cotton (W3C/HTML5) por Silverlight…y no escurrió el bulto-;)

Pues sí. Paul es un ex de IBM, trabajó con la W3C en el estándar XQuery y fue Embajador de las Naciones Unidas durante 6 años. Precisamente esa experiencia política (eso me dijo) hizo que Microsoft lo «fichara» para liderar los esfuerzos por parte de la compañía en torno al nuevo estándar de la Web.

Hablamos de lo que él hace en la W3C, de la posición de Microsoft, de las expectativas del estándar (su compleción, su fecha de terminación, el tiempo que calculan de adopción para las empresas), etc. Y al final, sobre Silverlight. Respondió sin escabullirse, como buen político que es. Algunos dirán que fue «muy político», pero yo creo que fue sincero. Al menos, lo parecía. Quien vea la entrevista (disponible en http://vimeo.com/netalia/paulcotton)

podrá opinar con conocimiento de causa. La he traducido y saldrá publicada en el número de verano de dotNetMania.

Días después, tuvo lugar el MIX Legacy, como algunos ya sabéis. Mi charla fue precisamente sobre las conclusiones que podían sacarse de esa entrevista, de las anteriores que hice a Tim O’Brien y a Francisco Bonnín y de las consecuencias que podían deducirse de los dos eventos importantes del año: MIX y Tech-Ed de Atlanta. La ponencia también está disponible en vídeo, y acabo de dejar para descarga el PDF de la presentación.

Espero que esto sirva algo para aclarar el oscuro panorama actual, y -precisamente por eso- me gustaría utilizar este foro para preguntaros vuestra opinión a la vista de las últimas novedades y de los anuncios relacionados con Windows 8.

Saludos a todos y espero vuestros comentarios (o correos a mpm@elavefenix.net).

Marino

 

¿Alguién me puede explicar qué verdad hay en ésta afirmación anti-IE?

Acabo de leer en un libro sobre HTML 5 (ya estoy preparando mi siguiente libro) lo siguiente :

«Most web servers serve HTML pages with the text/html MIME type because of Internet Explorer’s inability to properly handle the application/xml+xhtml MIME type associated with XHTML pages. Because of this, browsers tend to strip off self-closing tags because self-closing tags were not considered valid HTML before HTML5.»

Estoy seguro que los gurús de HTML y especialmente alguien de Microsoft podrá comentar algo al respecto porque me suena a cantinela tipica «Anti-MS». Además, el libro ha aparecido hace muy pocos meses.

Por cierto, me han renovado como MVP en C# por 9º año consecutivo. ¡Felicidades a los de mi «quinta»! (renovados en abril).

Un saludo

Se anuncia oficialmente Silverlight Embedded y Windows Embedded Compact 7

El nuevo sistema operativo dispondrá de 3 versiones en función del tipo de dispositivo (Compact, Standard y Server) y pretende cubrir un espacio en aquellos sistemas donde las versiones tradicionales no son las más adecuadas. No obstante, llaman la atención un par de cosas: La primera, que WEC7 funcione igualmente en dispositivos Windows Phone. La segunda, la aparición de una nueva versión de Silverlight, que servirá para la programación de las aplicaciones y las interfaces de usuario basadas en esta versión de Windows. 

Hay una versión de prueba de 180 días descargable ya, y para los que les interese el tema, he puesto algunos detalles más en mi sitio (www.elavefenix.net).

El Paradigma del Intermediario (un poco de historia)

Este artículo lo publiqué en un medio universitario hace 10 años ahora (de ahí el tono tan formal del texto). .NET estaba apareciendo y al releerlo, me ha sorprendido que, a pesar del tiempo transcurrido (un mundo, 10 años) creo que sigue siendo válido en lo fundamental.

<ARTICULO>

Desde los tiempos de los mainframes, la evolución en las
estructuras y soluciones de software, parece haberse basado en dos conceptos
básicos:

  • Disgregación o Intercalación (o cómo sacar factor
    común)
  • La
    comunicación entre los elementos
    disgregados, que ahora
    denominamos mecanismos de integración de sistemas, orquestación de
    soluciones, etc
    .

Dicha comunicación plantea básicamente un
problema de lenguaje y además, afecta la forma en que se escribe el software,
tanto estructural como específicamente.

Una breve memoria histórica, nos lleva a
tiempos del DOS, cuando se hicieron populares las aplicaciones TSR (Terminate & Stay Resident), que,
como su nombre indica, permanecían en memoria pudiendo ser recuperadas más
adelante con una combinación de teclas. Los problemas de colisión que surgieron
entonces, podían resolverse mediante la aportación de un intermediario, el
conocido como Extensor del DOS, un programa que se cargaba al lanzarse el
sistema operativo, y permitía administrar la memoria de forma que cuando una
aplicación necesitaba una ubicación en memoria extendida, no la tomaba
directamente, sino que la solicitaba a través del extensor, quien la
administraba, evitando colisiones entre zonas ocupadas por distintos programas.
Ciertos enlazadores (linkers) de la
época tenían bien en cuenta esta circunstancia (por ejemplo, Blinker).

Pero la idea puede extenderse: pongámonos de
acuerdo en el paquete funcional que da acceso a cada origen de información, de
forma que el cambio de dicho origen no suponga la modificación de la aplicación
que lo utiliza. Se populariza a partir de ahí la estructura fragmentada, que
incluso hoy ha llegado a su máxima expresión en lo que conocemos como arquitectura multicapa.

Con el advenimiento de Windows, el concepto
de DLL se convierte en el principal ejemplo del intermediario, esta vez en su
versión sacar factor común. Las DLL
de Windows, almacenan un conjunto funcional común que pasará a denominarse API
de Windows, y que permiten a cualquier programa instalado en el sistema,
utilizar los mismos recursos. Los programas no tienen que incorporar ya en sus
ejecutables lo que el sistema les proporciona por defecto.

Sin embargo, el paradigma del intermediario
como solución, no llegaría a su madurez hasta el advenimiento de ciertos
estándares de intermediación llamados modelos de objetos: COM y CORBA son sólo
dos ejemplos, a los que seguirían los modelos de acceso a datos,  tales como ODBC y OLE-DB, o el propio modelo
de objetos de documento (DOM), que convierte lo que es texto plano (HTML) en un
sistema de objetos en el cliente capaz de ser programado mediante un lenguaje
de script.

Desde el punto de vista del programador, incluso
el concepto de interfaz descansa en varios sentidos en el concepto de
intercalación. Pero, los principales lenguajes de programación lo han estado
usando desde el principio: las MFC y posteriores WFC y .NET Framework, no son
otra cosa que inmensas jerarquías de clases comunes a las que un lenguaje puede
hacer referencia. Por eso, la importancia del lenguaje se minimiza,
reduciéndose a una mera cuestión de afinidad sintáctica. Las capacidades del
actual Visual Basic .NET son prácticamente idénticas a las que posee el
novísimo  lenguaje C#. Al final, todo es
MS-IL (código intermedio: el gran intermediario en .NET) y lo que realmente
facilita la programación es el conocimiento de la jerarquía (o mejor aún, de
los mecanismos de búsqueda y manipulación, dentro de ella), más que la adhesión
a un lenguaje concreto.

Y MS-IL tiene una contrapartida externa: el recién aparecido estándar XML, una sintaxis (que no lenguaje) común -autodefinido, mediante Schemas– para permitir el transporte y la comunicación de datos entre sistemas y plataformas distintos. Y en eso, comparte algo en común con MSIL que resulta fundamental: ambos disponen de metadatos: de un sistema de autodescripción.

Tenemos pues, un modelo de arquitectura que
se repite por doquier. De hecho, una de las más relevantes novedades de .NET, es
el sistema de comunicación entre objetos, basado en el concepto de delegado (delegate).
Un delegado es el intermediario por excelencia al estilo de los viejos
extensores del DOS: se sitúa en una zona intermedia y vela por la correcta
comunicación entre métodos de objetos distintos, garantizando la presencia del
receptor, y la compatibilidad de los tipos de datos recibidos por éste.


Es la solución aportada por Hejlsberg al problema de los punteros
nulos (si queremos tener garantía que un mecanismo de comunicación es eficaz,
garanticemos, primero, la presencia de los sujetos de la comunicación (tipos
emisor y receptor) y después, al de la coherencia de la información transmitida: los
tipos de datos pasados entre uno y otro. Eso posibilita gran parte de la
seguridad asociada .a NET, y la garantía de la ejecución administrada de
programas: de nuevo el paradigma del intermediario, ha sido la solución a un
problema de software.

</ARTICULO>

Saludos

Mi libro "Silverlight 4 & Introducción a WP7", terminado

Por fin, estas navidades he podido sacar el tiempo que no tenía habitualmente para terminar la actualización de mi libro sobre Silverlight a la nueva versión, e incluir un amplio capítulo dedicado exclusivamente al desarrollo con Windows Phone 7.  Han sido casi 3 semanas de comer, dormir y escribir, -sin casi salir a la calle- aunque no por ese orden…)) 

Como es habitual en mi caso, lo publico con Netalia Ediciones, dentro de la colección «Cuadernos Técnicos de dotNetManía», y ya solo queda esperar a lo que tarde la maquetación y la impresión, por lo que espero que esté disponible a finales de Enero o primeros de Febrero.

Aunque lo hago de forma general en los agradecimientos, al inicio de la obra, aprovecho este medio para reconocer a muchos lectores de la revista y de los sitios web donde escribo por su apoyo constante y sus ánimos.

Un abrazo