Es interesante leer este artículo que cuenta cómo se ivnentó en Microsoft lo de XMLHTTP, base de las actuales aplicaciones AJAX, y cuáles fueron los motivos y las evoluciones. Todo ello contado por su inventor Alex Hopmann.
Hay muchas cosas interesantes en él.
Últimamente con esto de la Web 2.0 han empezado a proliferar como setas las apliaciones que tratan de reproducir un entorno de ventanas tradicional pero dentro de un navegador. Ya he mencionado anteriormente algo sobre este tema, pero la verdad es que este tipo de programas no me convencen mucho (al menos hasta que Google saque uno propio que no me extrañaría, jeje).
Bien el caso es que he tenido ocasión de probar hace poco uno de ellos que realmente me ha parecido el mejor que he visto hasta la fecha. Se trata de Goowy. Es un entorno de escritorio basado en Web con un montón de funcionalidades (aunque más o menos como todos): mensajería, e-mail, documentos, archivos, etc...
Lo que más me ha gustado es lo ágil que se mueve, la facilidad de uso, los fondos y skins personalizables y el entorno en general, que parece bastante válido para un uso habitual:
Échale un vistazo pues merece la pena.
¿Cómo puedo construir un componente o una biblioteca de clases que me sirva indistintamente para Windows Forms y para ASP.NET si debo usar características específicas de cada entorno?
Expresado con otras palabras: ¿Cómo puedo saber si mi componente está siendo usado desde una aplicación de Windows Forms o de ASP.NET?
Respuesta: verifica el valor de HttpContext.Current.
Si es null (Nothing en VB) es que estás en un entorno no-web, y estarás bajo ASP.NET en caso contrario.
Es un truco sencillo pero que a alguno puede que le resulte útil si se lo había planteado para algún componente propio.