JASoft.org

Goowy: uno de los mejores escritorios web que he visto

Goowy: uno de los mejores escritorios web que he visto
Ú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.

Control gratuito: FileUploadAJAX de Subgurim.net

Control gratuito: FileUploadAJAX de Subgurim.net
Hace unos días Javi Navarro, alias Subgurim, se puso en contacto conmigo para comentarme que había puesto a disposición de todo el mundo un interesante control para ASP.NET. Se trata de FileUploadAJAX, un control sustitutivo del control para subida de archivos al servidor (control FileUpload) de ASP.NET 2.0. Este control usa una técnica de aspecto AJAX para conseguir una interfaz de usuario más agradable y sencilla. Se trata de un control muy fácil de usar. Desde que lo descargue hasta que estuve gestionando archivos en un ejemplillo pasaron menos de 10 minutos. Aunque el control es una versión 1.0 y se puede mejorar en algunos aspectos vale la pena usarlo pues simplifica bastante el trabajo. Una de las cosas más interesantes (aparte de que es AJAX) es que permite gestionar desde la misma página la subida de varios archivos, almacenando una lista y pudiendo borrarlos si nos arrepentimos. También gestiona automáticamente el renombrado de los archivos que ya existen o la creación... [Más]

Google abandona su API de servicios Web a favor de AJAX

Google abandona su API de servicios Web a favor de AJAX
Google ha abandonado la API basada en servicios Web que tenía a través de la cual los programadores podíamos introducir búsquedas en nuestras propias aplicaciones. Y lo ha hecho para sustituirla por una nueva API basada exclusivamente en JavaScript y JSON. Esta nueva API permite realizar todo tipo de búsquedas, tanto en la Web,como en mapas, vídeos, noticias y blogs. Y es realmente fácil de usar. En su caso más sencillo, donde no requiramos un control absoluto sobre la distribución final de los elementos (si bien permite algo de control), bastan cuatro o cinco líneas de código para tener búsquedas al más estilo Web 2.0 en nuestro portal o página. La lástima es aquellos que deseen incorporar búsquedas en aplicaciones de escritorio tradicionales, que no estén dentro de un navegador. Para ellos esto es una mala noticia pues lo tienen bastante complicado y una API basada en SOAP era mucho más adecuada. Hay quien opina que el movimiento tiene mucho que ver también con el control que... [Más]

Bill, gracias. El mundo es un lugar mejor.

Bill, gracias. El mundo es un lugar mejor.
Los días 24 y 25, Nochebuena y Navidad, como es tradicional los pasé en la casa de mis padres en la playa, con toda la familia, los turrones y este tipo de cosas... En esa casa se guarda gran parte de mi juventud: apuntes de la carrera, ropa, libros y muchos recuerdos. El caso es que estando allí encontre un antiguo ejemplar de la revista Time, de la cual soy suscriptor inconstante desde hace muchos años. Normalmente al cabo de dos o tres semanas tiro a la basura los ejemplares anteriores, si bien me guardo algunos que traen ciertas cosas interesantes. Pero son los menos. El ejemplar que encontré en casa de mis padres debía de serlo porque lo conservé allí hasta hoy. Se trata del número del 18 de agosto de 1997 (¡hace casi diez años!, ¡Cómo pasa el tiempo!). En su portada (ver foto que tomé con mi móvil en el lateral) se ve a un ya no tan joven Steve Jobs hablando por teléfono y supuestamente diciéndole a Bill Gates la frase que da título a este post. Toda esta historia de la p... [Más]

¿Donde están los proyectos Web "clásicos" en el SP1 de VS2005?

¿Donde están los proyectos Web "clásicos" en el SP1 de VS2005?
Como ya he comentado en diversas ocasiones aquí, existe un complemento para Visual Studio que permite crear aplicaciones Web con el modelo de compilación clásico de ASP.NET 1.x. Ello permite migrar mejor las aplicaciones antiguas y además, algunos lo preferimos por su mayor claridad a la hora de desplegar, etc... El caso es que el complemento que se podía descargar hasta hace unos días funcionaba sólo en la versión en inglés de Visual Studio 2005, pero ahora viene incluido en el Service Pack 1 de VS2005, tal y como comenté ayer, y por lo tanto está plenamente soportado por Microsoft y funciona en todos los idiomas de VS incluyendo el español. El caso es que, tras instalar el SP1 creí que en "Nuevo Proyecto Web" habría alguna plantilla del estilo "Sitio Web ASPX clásico" o algo así, y no lo encontraba. Para acceder a este tipo de proyectos debemosir por "Nuevo proyecto", normal, fuera de Visual Web Developer, y se nos muestran dos nuevas opciones tal y como pasaba en las versiones an... [Más]

Botón y foco por defecto en páginas ASP.NET 2.0

Botón y foco por defecto en páginas ASP.NET 2.0
Un par de novedades sencillas pero muy útiles que proporciona ASP.NET 2.0 son el botón y el foco por defecto. Ahora podemos hacer que, pulsar ENTER en un formulario, sea equivalente a hacer clic en un determinado botón. Para ello basta con establecer el atributo defaultbutton en el formulario de nuestro archivo ASPX: <form defaultbutton=“Boton1” runat=server> Lo más interesante de esto y que no todo el mundo sabe es que, además, se puede especificar esta misma propiedad en los paneles (controles <asp:panel>) para especificar lo mismo para los controles que hay en su interior: <asp:panel defaultbutton=“Boton2” runat=server> Así, cuando tengamos el foco en un control dentro del panel, al pulsar ENTER es como si se pulsase el botón especificado. Esto sobreescribe el comportamiento especificado para el formulario pero sólo dentro del panel, lo cual puede ser muy útil sobre todo si ponemos varios para propósitos diferentes. También existe un nuevo atributo d... [Más]

Componentes duales para Windows y la Web

Componentes duales para Windows y la Web
¿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.

Estadísticas de consultas SQL Server desde ADO.NET 2.0

Estadísticas de consultas SQL Server desde ADO.NET 2.0
La clase SqlConnection de ADO.NET 2.0 posee una característica que puede resultar de utilidad en cuertas ocasiones y que permite obtener información estadística sobre las consultas realizadas, de manera muy similar a la que ofrece el Analizador de consultas de SQL Server 2000 o el Management Studio de SQL Server 2005 (si bien no son las mismas). Esta característica es muy fácil de gestionar gracias a la propiedad StatisticsEnabled de la clase SqlConnection, que sirve como es obvio para habilitar la recogida de estadísticas de las consultas lanzadas a través del objeto SqlConnection instanciado para la ocasión. Una vez habilitadas las estadísticas se obtienen mediante el método RetrieveStatistics de la misma clase. Éste devuelve un objeto que implementa la interfaz IDictionary, aunque en realidad un poco de reflexión revela que realmente lo que se obtiene es un HashTable, así que es muy fácil de manejar (ahora lo veremos). El método UpdateStatistics las actualiza al momento actual.... [Más]

El operador doble interrogación en C#

El operador doble interrogación en C#
Los tipos anulables en .NET 2.0 son una interesante característica a la que se le puede sacar bastante partido, como ya expliqué en su momento. Quiero comentar ahora una cosa que se me pasó entonces: el operador doble interrogante (??), el cual es además muy poco conocido. Dado que los tipos anulables pueden contener un valor o un nulo debemos realizar continuamente comprobaciones en el código para ver si tenemos nulos o no, algo así (ej.): int? num1 = 5; //En la realidad lo obtendríamos de una BD o algo asíint num2;if (num1 == null)   num2 = 0;else   num2 = num1; Lo cual es sencillo pero es un rollo de escribir si hay que hacerlo continuamente. Claro que podemos reducir el código usando el operador ? de toda la vida de C#: int? num1 = 5;int num2 = (num1==null)?0:num1; Es idéntico, más reducido, pero tampoco es mejore mucho la legibilidad ¿verdad? Bien, C# nos ofrece el operador ?? que hace exactamente lo mismo que lo anterior y tiene las virtudes de ser ... [Más]

Cambio del directorio de compilación temporal de ASP.NET

Cambio del directorio de compilación temporal de ASP.NET
He leído esto en algún sitio recientemente y me ha llamado mucho la atención porque no lo sabía. Resulta que es posible cambiar la carpeta en la que ASP.NET 2.0 compila las aplicaciones y genera todos sus ensamblados. Para ello basta con indicarlo en web.config dentro del nodo 'compilation' usando el atributo 'tempDirectory', así: <compilation tempDirectory="C:\Temporales"/> Muy sencillo. Igual te puede resultar útil en alguna ocasión.

Este soy yo y este es mi blog técnico, dedicado al software y a la programación.

¡Sígueme en Twitter!

Mis otros blogs

- JM Alarcón @ campusMVP.es
Contenido técnico en español orientado a desarrolladores
- JMAlarcon.es
Blog personal no técnico: sociedad, innovación, empresa...

Krasis

- campusMVP.es:
Los mejores cursos online de programación en español

- SELF LMS:
La plataforma de elearning más potente del mercado.

Histórico