Welcome to Comunidad .NET de Cd. Juárez Sign in | Join | Help

Browse by Tags

All Tags » desarrollo web

Google Chrome beta tampoco me impresiona

Todo mundo y su abuelita para ahora se ha de haber enterado que Google lanzó su propio browserWired tiene un artículo interesante de por qué se tardaron tanto para lanzarlo, cuando para muchas personas era una evolución lógica.

Bajo riesgo repetir artículos anteriores, tengo que admitir que cuando comencé a ver la lista de características “inovadoras” me sorprendió lo no inovadoras que en realidad son:

  • Omnibox. Básicamente una versión del Awesomebar (Firefox 3) o del Smart Address Bar de IE8 beta2, pero con búsqueda integrada. Moderadamente interesante. Se parece también al search box que trae Flock—y el cual espero fusionen con el Awesomebar para Flock 2 final.
  • Pestañas independientes. Rara vez se me ha ofrecido que una pestaña haga que truene el navegador. De las pocas veces que me ha sucedido es cuando corro IETab dentro de Firefox, e incluso en esas instancias FF hace buen trabajo en recuperar mi sesión. Pero, la idea es interesante. Tanto que al parecer se le ocurrió lo mismo al equipo de Internet Explorer 8.
  • Acceso directo a aplicaciones. Un concepto que se me hizo bastante útil, desde que el equipo de Mozilla comenzó con el proyecto Prism hace casi un año (¿?)—y del cual, naturalmente hay una extensión para Firefox.
  • Pestañas dinámicas. Yo suelo mantener una sola ventana de navegador abierta—si no ¿pa’ qué quiero las pestañas, verdad?—pero si les gusta esta característica, también pueden encontrarla en Safari.
  • Modo incógnito. O como dijo un amigo mío, modo “p0rn” jejeje—y no que yo lo use, ¿verdad? Hmm… ¿dónde he visto eso? ¡Ah! Qué tal en Safari (conocido como Private Browsing) y en IE 8 beta 2 (conocido como InPrivate).
  • Marcadores instantáneos. Ver Flock, y FF 3. No digo más.

De lo único que en verdad puedo ver inovador es el motor de JavaScript que le pusieron, V8, que al parecer patea traseros en desempeño. Y aunque algunos autores han argumentado que JavaScript es “solo una parte mínima del Web”, yo les digo: ¿Alguna vez has intentado correr Gmail, Slashdot o Facebook en IE7 o previos contra cualquier otro navegador moderno? JavaScript sí importa, y mucho.

Tratando de no tirar mucho rollo—demasiado tarde, lo sé—sí hubo cosas que me gustaron:

  • Desempeño. Jala hecho la mater cuando no está detrás de un proxy—lean un poco más abajo.
  • Google Gears integrado. No tienes que instalar esto por separado para utilizar, por ejemplo, Google Reader en modo offline. No sorprendente, dado que otro producto de Google, pero es útil que lo traiga integrado.
  • Interfaz minimalista. De las primeras cosas que le hago a Firefox es quitarle todos los botones y cosas extra y si vieran mi pantalla verían que mi arreglo quedó prácticamente idéntico al que usaron en Chrome. Safari también viene de cajón así.
  • Herramientas de desarrollo Web incluidas. Al igual que Safari, puedes seleccionar un elemento y dar “Inspect Element” para obtener información de CSS, etc.
  • Búsqueda en la página amigable. Casi igual que la de Safari—¿comienzan a ver un patrón?

image

Si quisiera resumir “lo bueno” diría que en muchos sentidos, Chrome es como Safari, pero sin el rendereo borroso de fonts en Windows y con Gears integrado.

Lo que de plano no me gusto, y de hecho impide que lo use de tiempo completo:

  • No le gustan los proxies, sobretodo los que te piden username y password. Ni siquiera puedes instalarlo si estás detrás de un proxy de este tipo. Y el desempeño se va por el caño, con muchas páginas que no se llegan a cargarse completas—no pude correr Gmail, lo cual es el colmo. Esto quizá es de esperarse de un beta—Safari tuvo problemas similares que resolvieron en la versión final—pero por ahora es un dealbreaker para mi.
  • Fallas de compatibilidad con sitios sociales. Algunas cosas en Facebook y MySpace no funcionan aún con Chrome. Unas simplemente hacen una experiencia menos agradable y otras de plano hacen que no puedas utilizar funcionalidad de estos sitios. MySpace puede irse a chiflar alpistle—es el sitio del demonio en lo que a mi concierne—pero Facebook está bastante bien armado hasta donde sé. Pero si el navegador no jala bien en estos sitios, ¿cuántos chavalos de 12 a 17 años que se la pasan viviendo ahí lo usarían?
  • No trae soporte para RSS. Solo muestra el XML del feed. ¿Cómo se supone que voy a leer mis noticias?

¿Matará Chrome a IE? Lo dudo. Habrá que ver lo que sucede. En mi opinión esto tomaría tiempo, aunque es interesante que algunos ya le achacan el 3% del mercado después de su lanzamiento. Google es una compañía a la par con los recursos y reputación de Microsoft, lo cual introduce una dinámica interesante, sobretodo para los que desarrollamos aplicaciones Web. Antes probablemente te preocupabas por que tus sitios jalaran en IE o Firefox, si mucho—al pobre de Opera nunca lo han pelado y mucho menos a Konqueror et.al. Ahora que tienes Safari y Chrome en el mercado, creo que finalmente comenzaremos una era donde los estándares en el desarrollo del Web cobren la importancia que debieron tener desde el principio. *Cruzando los dedos para que suceda*

Enjoy.

Apple libera Safari para Windows, IE8 beta no me impresionó

Parece que Apple acaba de liberar la versión final de Safari.  Y aunque las versiones beta tuvieron algunos detalles (desde problemas con los fonts hasta problemas para autenticar a través de un proxy), la versión final parece haber atado los cabos sueltos.  Una adición particularmente útil para los desarrolladores Web es que integraron las herramientas de desarrollado (WebKit) que antes solo estaban disponibles en la Mac:

Y aunque esto no es nada nuevo para gente que desarrolla con Firefox, es bueno tenerlo en otros navegadores.

Por otro lado hace un par de semanas el equipo de Internet Explorer anunció los features de IE8 al liberar el beta 1 de ese navegador el cual también incluirá herramientas de desarrollo Web estilo Firebug.  <sarcasmo>Qué bien, ya no voy a tener que bajar el Developer Toolbar y el Web Development Helper por separado.</sarcasmo>  En cuanto a los otros "features", ummm, a ver: WebSlices = Firefox Live Bookmarks on steroids, Activities = Smart Tags rehashed, y AJAX navigation = Something that should come with your AJAX framework.  Lo único decente va a ser la mejora en el performance de JavaScript, lo cual les urgía corregir, pero de ahí en más nada particularmente inovador.

Posted from Diario de un Dotnetero | 0 Comments
Filed under:

Cómo subir un archivo a tu servidor web mediante el control FileUpload de ASP.NET

Este es un tip súper sencillo, pero bastante útil, y como ya van varias personas que me lo preguntan, mejor lo explico aquí.

A menudo se ofrece que los usuarios de nuestra aplicación web nos envíen (o "suban") algún archivo al servidor web donde corre nuestra aplicación ASP.NET. Pudiera ser que el gerentoide tiene un archivo de texto o .CSV que necesitamos leer para cargarlo en la base de datos, o una imágen que vamos a poner como avatar en el perfil del usuario, qué se yo.

Con ASP.NET 2.0 o posterior, subir un archivo a tu servidor es sencillísimo mediante el control FileUpload. Supongamos que tenemos una forma de ASP.NET como esta:

Una forma ASP.NET para subir un archivo a tu servidor web

El markup sería el siguiente:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Subir un archivo</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<h3>
Cómo subir un archivo a tu servidor web mediante ASP.NET
</h3>
<p>
Elige el archivo a subir:
<asp:FileUpload ID="trepador" runat="server" />
</p>
<p>
<asp:Button ID="subir" runat="server"
Text="Subir Archivo" OnClick="subir_Click" />
</p>
<p>
<asp:Label ID="estatus" runat="server"
Style="color: #0000FF"></asp:Label>
</p>
</div>
</form>
</body>
</html>


Como puedes ver la forma en realidad consiste de únicamente de un control FileUpload, un botón para iniciar el postback, y un Label que usaré para mostrar un mensaje. Al botón le asociamos un manejador para el evento Click—que veremos un poquito más abajo.

Las propiedades y métodos relevantes del control FileUpload son:

  • SaveAs(), que se usa para decir dónde quieres guardar el archivo que se está subiendo. Debes proporcionar la ruta completa y el nombre.
  • HasFile, que indica si el usuario ya escribió el nombre de un archivo o lo seleccionó mediante el botón "Browse..."

Ahora, este es el código para manejar el evento:

using System;
using System.IO;

public partial class _Default : System.Web.UI.Page
{
protected void subir_Click(object sender, EventArgs e)
{
if (trepador.HasFile)
{
string directorio = @"C:\Archivos de Usuario\";
if (Directory.Exists(directorio))
{
string archivo = directorio + trepador.FileName;
if(File.Exists(archivo))
{
// ya existe un archivo con el mismo nombre en el directorio
// hacer algo al respecto (p.ej. renombrar el que está en el
// servidor o asignarle otro nombre al que se está subiendo),
// de lo contrario el archivo en el servidor será sobre escrito
}
else
{
trepador.SaveAs(archivo);
estatus.Text = "
Tu archivo ha sido enviado exitosamente.";
//
// TODO: código para procesar el archivo va aquí...
//
}
}
else
{
throw new DirectoryNotFoundException(
"
El directorio en el servidor donde se suben los archivos no existe");
}
}
}
}



Consideraciones adicionales

Hay dos aspectos más que debes cuidar con esto de la "trepada" de archivos.

Primero, debes asegurarte que la cuenta de usuario bajo la que corre el ASP.NET Worker Process (típicamente la cuenta se llama ASPNET) tenga suficientes permisos de seguridad sobre el directorio donde quieres escribir los archivos en el servidor, de lo contrario verás una excepción de seguridad. Creo que el permiso mínimo que necesita es de Create, aunque yo casi siempre uso el de Modify.

Y segundo, ASP.NET, por default, está configurado para subir archivos de hasta 4 Mb únicamente (4096 bytes). Esto es porque la petición la recibe IIS primero y debe "tragársela" completa antes de pasársela al Worker Process. Si lo que vas a subir son archivos de texto, pues 4 Mb es un chorro, pero si es otro tipo de archivos—imágenes p0rno, archivos de Word, etcétera—pues esto podría ser terriblemente insuficiente. Si el archivo es muy grande, el otro problema es que la petición de HTTP pudiera exceder el tiempo máximo por petición y hacer timeout. Afortunadamente podemos alterar esto mediante el archivo de configuración del sitio (web.config):


<?xml version="1.0"?>
<configuration>
<system.web>
<!-- requerido para subir archivos grandes en este caso
especificas un tiempo máximo de 10 minutos (600 segundos)
y un tamaño máximo de archivos de 50Mb
-->
<httpRuntime executionTimeout="600" maxRequestLength="51200"/>
</system.web>
</configuration>


En la configuración anterior exageré un bastante, y deberías tener cuidado de valores como estos, ya que estás indicando que puede haber peticiones de ASP.NET que duren hasta 10 minutos ejecutándose, y esto podría llevar a que tu servidor se sature si de pronto hay varias peticiones grandes. Para la mayoría de las aplicaciones el valor default de 110 segundos (minuto y medio) como executionTimeout es suficiente. Especificar valores grandes para el maxRequestLength, de manera similar, expone tu servidor a ser saturado, así que debes alterar estos valores solo si en verdad lo requieres, y solo para los valores máximos que se necesiten para tu aplicación.

Por último, la documentación de ASP.NET dice que se debe especificar el valor de executionTimeout debe especificarse como un TimeSpan (p.ej. "00:01:50"), pero en la práctica, no he podido utilizarlo así. Siempre he tenido que especificarlo como el número de segundos.

Conclusión


El control FileUpload hace que el problema de subir achivos a tu servidor web sea pan comido. Solo necesitas agregarlo a tu página ASPX y agregar un botón u algún otro control para que invoque la lógica necesaria para copiar el archivo a tu servidor mediante el método SaveAs(). Solo debes cuidar que la cuenta ASPNET tenga los permisos adecuados, y que la configuración del servidor sea apropiada para los tipos de archivos que vayas a subir.Hay muchas mejoras que se le puede hacer al ejemplo de este artículo.

La primera que se me ocurre a mi es proporcionar algún tipo de retroalimentación al usuario de que el archivo se está procesando, o deshabilitar el botón inmediatamente después del click para que el usuario no le de click dos veces hasta que termine de subirse el archivo—estos son problemas bastante comunes cuando quieres subir archivos grandes y ya sea que tu servidor esté algo ocupado o tu usuario sea un neurótico desesperado que no puede esperar ni los 7 segundos promedio como el resto de los seres humanos normales... smile_baringteeth smile_wink pero en fin, esa ya es harina de otro costal, y tendría que hablar de ASP.NET AJAX. Quizá en la próxima.

Enjoy. smile_shades

Ya están disponibles las presentaciones y archivos de ASP.NET

Ya tenía un buen sin poder escribir por andar con las carreras del trabajo, pero de alguna forma tuve tiempo de dar el tema y el taller del mes de Septiembre y de Octubre de la Comunidad, donde el tema fue, primero ASP.NET "para novatos", y luego ASP.NET "intermedio".

El primer tema surgió, porque había muchas personas interesadas en comenzar a aprender ASP.NET pero que solo necesitaban una orientada de por dónde empezar.  Así que ese fue el espíritu de la reunión.  Vimos los conceptos fundamentales, basicotes pero necesarios para que entendieran qué estaba sucediendo.  Vimos algunos de los controles básicos, manejo de eventos, y hasta algo de DataBinding con controles como el GridView y DetailsView para hacer una página maestro/detalle.  Para la presentación tomé prestadas algunas de las diapositivas del material que viene en el Desarrollador Cinco Estrellas (que la verdad está excelente), pero le agregué algunas otras ilustraciones que a mi me ayudaron mucho.  Eventualmente, si Diosito me da licencia lo convertiré en uno o dos artículos para este blog porque el rollo que mareador que yo tiro no sale en los archivos jejeje.

 

Como la gente se quedó "picada", votaron por un tema "intermedio".  Así que en la siguiente reunión les platiqué acerca de controles de usuario (user controls), que son controles compuestos a partir de otros controles, de Master Pages, que es una manera de aplicar elementos comunes a todo tu sitio y también sobre todo el armazón de seguridad que agregaron con ASP.NET 2.0.  Escogí esos temas porque creo que son de los más útiles y prácticos en la chamba del día a día.  En el taller vimos con detalle y calma cómo instalar la base de datos de membresía, cómo aplicar seguridad a diferentes áreas del sitio y cómo utilizar todos los controles de membresía y navegación que vienen con Visual Studio.

En fin, me divertí bastante.  Si no pudiste asistir, aún puedes descargar las presentaciones y las soluciones de los talleres desde área de descargas del sitio de la Comunidad.

Enjoy.

Reseña: The Principles of Beautiful Web Design

En una plática que di, donde presenté las herramientas Expression de Microsoft, le platiqué al público que cuando se diseña la interfaz de una aplicación--ya sea tipo desktop o Web--hay dos tipos de personas: las que nos gusta tirar código y las que les gusta hacer rectángulos con esquinas redondas y cosas que brincan y hacen fade-in en la pantalla.  En el caso de las aplicaciones Web, a los primeros les dicen desarrolladores Web (web developer) y a los segundos diseñadores Web (web designer)--una distinción que al parecer los reclutadores que me llaman nunca han podido entender. 

Expression es para el segundo grupo.  Pero yo, definivamente pertenezco al primero.  Soy de ese tipo de personas que si les pides una aplicación, te sabe hacer la arquitectura, la capa de objetos de negocio, la capa de acceso a datos, servicios, etcétera, es decir, un sitio que funcione perfectamente de pe a pa, pero no me pidas que te diga qué móndrigos colorcitos o que tipo de layout deberíamos usar para las "paginitas", porque no sabría ni por donde comenzar.

Últimamente traía la idea de cambiar el diseño "gráfico" de este sitio/blog, tomando en cuenta que: A) no quería uno de los diseños estándares de Blogger, B) quería algo completamente original, lo cual descartaba usar los templetes que están disponibles en otros sitios como este, este y este, y C) a pesar de que domino CSS a un buen nivel, no sé ni p*** de "diseño gráfico".

Portada - The Principles of Beautiful Web Design Así que se me hizo una buena oportunidad para aprender.  Comencé a interesarme por el tema, busqué libros y cuando me topé con The Principles of Beautiful Web Design de Jason Beaird (SitePoint, ISBN 978-0-9758419-6-9) supe que había encontrado el indicado.  Este es un excelente libro de apenas 165 páginas--y con muuuchas ilustraciones--donde en apenas 5 capítulos pretende enseñarle a los "programadores" las bases para el diseño de un sitio Web: composición y arreglo (layout), color, textura, tipografía e imágenes.  También contiene un montón de enlaces útiles que comparto a continuación.

Composición y arreglo

Aunque algunos de los arreglos en el web son casi estándar--y ni siquiera tienes que quebrarte el coco para echar el CSS requerido--el libro explica bastante bien la teoría de cuadriculado (grid theory), la regla de tercios--así es, no solo se utiliza en la fotografía--y los layouts estándar.  Además hace un buen trabajo identificando algunas tendencias recientes que quizá ustedes ya hayan notado.

Un buen argumento que hace el autor, es que para que uno pueda hacer un buen diseño es importante ver varios diseños buenos.  Algunos recursos en este departamento son:

Color

Si son como yo, y no saben ni qué colores escoger y combinar para la ropa que se ponen en la mañana, mucho menos para un sitio Web, entonces este capítulo les servirá.  Explica desde las asociaciones psicológicas que tenemos con algunos colores, hasta la teoría RGB para combinarlos y poder desarrollar un esquema y paleta de colores basándonos en cuáles son análogos, complementarios, monocromáticos, etc.  Alguna de la información pueden encontrarla en un artículo por el mismo autor llamado Color for Coders.

De las herramientas que menciona, están unos sitios que puede ayudar enormemente en esta tarea:

Textura

Este capítulo es uno de los dos que trae algo de código CSS.  Y tiene una introducción que me cayó como pedrada (traducción mía):

Hay muchas personas bien-intencionadas por ahí que construyen un sitio Web con un layout estándar de dos o tres columnas, escogen unos cuantos colores para él y lo dan por terminado.  No se molestan con empujar su diseño más allá, o afinar los detalles.  Quizá no tienen suficiente tiempo o dinero en el proyecto, o quizá se han tomado el axioma de "menos es más" demasiado literalmente.

No todos los sitios Web tienen que estar hermosos, pero cada sitio puede serlo. El surgimiento de CSS le ha dado a los diseñadores Web un gran control sobre cómo se ve un sitio, pero creo que el problema es que muchas personas simplemente no saben por dónde empezar cuando se trata de personalización. (p. 67)

Y sí, como habría de esperarse, habla--entre varias otras cosas--de cómo hacer rectángulos con esquinas redondas, jejeje.  Para ello hay una herramienta que menciona el autor que también es bastante útil:

  • Spanky Corners - Una herramienta que genera las imágenes y CSS necesarios para este efecto de acuerdo a los colores que tú escogas.

Tipografía

Este quizá fue el capítulo con el que más familiarizado estaba dado mi interés por la tipografía.  Es decir, yo ya sabía la diferencia entre un font serif y uno sans-serif, así como cuáles eran los 7 fonts "seguros" para el Web.  Aún así aprendí algunas cosas nuevas. 

De los enlaces útiles en este capítulo están:

  • sIFR 2.0: Rich Accesible Typography for the Masses - Explica una técnica que se degrada "graciosamante" utilizando Flash y JavaScript para aplicar prácticamente el font que quieras a encabezados.
  • Typetester - Una herramienta que permite comparar el efecto de diferentes configuraciones sobre distintos fonts.

Y si de veras se quieren clavar en el tema, yo agregaría el siguiente:

Imágenes

Este fue uno de los capítulos que quizá le faltó un poco más de "carnita", aunque trae buenos ejemplos del proceso de criticar y arreglar una fotografía.  También explica muy bien sobre los diferentes esquemas de licenciamiento para fotografías stock--gratis, royalty-free y rights-managed--y dónde conseguirlas.   

El autor menciona dos sitios donde puedes obtener fotografías stock completamente gratis:

Conclusión

The Principles of Beautiful Web Design es un libro que es tan corto que me lo eché en tres sentadas.  Se clava más con los muchos ejemplos e ilustraciones sobre los conceptos de diseño, en vez del código CSS necesario para producirlo, lo cual fue perfecto para no desviarse de los temas.  La narrativa y es amena y tiene muchos chistoretes con los que me identifiqué. Hasta veces sentía como si estuviera leyendo una revista larga, más que un libro.  Si están en la misma lancha que yo con respecto al "diseño gráfico" de sitios Web, entonces se los recomiendo.

Armado con este nuevo conocimiento, comenzará el re-diseño de este sitio, así que si de repente ven cosas raras no te asustes, solo soy yo experimentando y aprendiendo un poco.

Aventuras con Safari 3 en Windows

Apple anunció hoy en el WWDC que la versión Beta de Safari 3 está disponible no solo para Mac sino también para Windows. Pueden ver algunos screenshots en este artículo y descargarlo desde este enlace.

Como soy desarrollador de aplicaciones Web, pues definitivamente me interesó jugar con él, ya que es uno de esos browsers de los que he escuchado cosas buenas (p. ej. que es de los que cumplen más con los estándares y que está basado en khtml igual que Konqueror, y que tiene un feel bastante bueno), pero con quien no he jugado simplemente porque no tengo una Mac (todavía).

Así que pronto me aventé a instalarlo. Pero al arrancar, me recibió esto:

WTF??? smile_sarcastic

No había texto, ni en los menúes ni en las páginas. Nada. Lo reinstalé (ya saben, la solución Microsoft), pero esta vez utilizando el instalador que traía QuickTime, a ver si hacía alguna diferencia. Naranjas dulces, limón partido.

Digo, es un beta, así que cosas como estas son de esperarse. Así que me eché un clavado buscando la solución hasta que en los foros de soporte de Apple me topé con este thread. Luego de algunos intentos esto es lo que tuve que hacer para echarlo a jalar (por si les pasa lo mismo a ustedes).

Paso #1: Instalar los fonts necesarios

Por alguna extraña razón, parte del problema era que los fonts requeridos para la aplicación no se instalaron apropiadamente. No es gran cosa, solo hay que ir a Control Panel > Fonts y luego menú File > Install New Font... y agregar los fonts Lucida Grande y Lucida Grande Bold. Estos los puedes sacar de

C:\Program Files\Safari\Safari.resources\

Paso #2: Forzar un arranque erróneo de la aplicación (sí, lo leíste correctamente)

Por alguna razón hay algunos archivos que no son creados con la instalación. Así que para que los cree, es necesario forzar un error en la aplicación, por extraño que eso parezca. Para hacerlo, tienes que renombrar el fólder Safari.resources (el mismo de donde sacaste los fonts) con algún otro nombre y luego arrancar Safari directamente usando el Safari.exe (si intentas utilizar un shortcut el instalador automáticamente reparará la instalación y re-creará el fólder, lo cual no es lo que quieres).

Una vez que intentas arrancar con el .exe, te aparece un error de que la aplicación no pudo correr. Simplemente es cuestión de cerrar el mensaje y restaurar Safari.resources con su nombre original.

Una reiniciada y ya casi estaba listo.

Paso #3: Agregar fonts comúnes

Resulta que hay un archivo que Safari arma con la información de los fonts que están en tu máquina, pero si tienes muchos, el archivo puede no incluirlos todos, causando que algunas páginas no despleguen su texto. El problema más común es con el font Verdana (que estaría al final de la lista). Si has hecho desarrollo de web sabrás que hay TONELADAS de páginas que lo utilizan, así que por ahora tienes que agreagar los más importantes a este archivo:

C:\Documents and Settings\<username>\Local Settings\Application Data\Apple Computer\Safari \fonts.plist

La info que tienes que agregar es algo así como esta:

<key>Verdana</key>
<string>C:\WINDOWS\Fonts\verdana.ttf</string>
<key>Verdana Bold</key>
<string>C:\WINDOWS\Fonts\verdanab.ttf</string>
<key>Verdana Italic</key>
<string>C:\WINDOWS\Fonts\verdanai.ttf</string>
<key>Verdana Bold Italic</key>
<string>C:\WINDOWS\Fonts\verdanaz.ttf</string>
<key>Tahoma Bold</key>
<string>C:\WINDOWS\Fonts\tahomabd.ttf</string>
<key>Tahoma</key>
<string>C:\WINDOWS\Fonts\Tahoma.TTF</string>
<key>Trebuchet MS</key>
<string>C:\WINDOWS\Fonts\trebuc.TTF</string>
<key>Trebuchet MS Bold</key>
<string>C:\WINDOWS\Fonts\trebucbd.TTF</string>
<key>Trebuchet MS Bold Italic</key>
<string>C:\WINDOWS\Fonts\trebucbi.TTF</string>
<key>Trebuchet MS Italic</key>
<string>C:\WINDOWS\Fonts\trebucit.TTF</string>
<key>Lucida Grande</key>
<string>C:\WINDOWS\Fonts\Lucida Grande.ttf</string>
<key>Lucida Grande Bold</key>
<string>C:\WINDOWS\Fonts\Lucida Grande Bold.ttf</string>

Ahora sí, a jugar

De las primeras cosas que noté (y que alguna gente se quejó) es que el anti-aliasing que utiliza para el texto no es ClearType (la imagen de arriba no está editada). Ya saben que para mi esto es importante tenerlo en cuenta, ya que determina parte de la "experiencia" (por usar la palabra de marketing) que tienen nuestros usuarios.

Otros se quejaron de que no era tan rápido como Apple dijo (2 veces más rápido que IE 7 y 1.6 veces más rápido que Firefox), pero rápidamente se retractaron. Mi opinión personal es que jala hecho-la-mater (un término completamente técnico), un poco más incluso que Firefox, aunque quizá se deba a que mi instalación de FF carga de cajón con varias extensiones que para mi son "escenciales" (AdBlock, Del.icio.us, Web Developer en fin).

Por otro lado me he topado con algunos bugs y también diferencias a las que tengo que acostumbrarme. De entre las pulgas estan que a veces no toma bien los settings del proxy (al parecer toma los de IE y no puedes configurarlo, o algo así) y que el link de "Add Bookmark..." cuando estás viendo un RSS feed al parecer no funciona (tienes que dar Ctrl+D o dar clic en el botón del navegador para suscribirte al feed). Y de las diferencias con otros browsers están que Ctrl+Enter no te pone el www.<sitio>.com y que Clic-Medio no abre un Tab nuevo como lo hacen FF e IE.

Sin embargo, no puedo negar que Safari tiene un look 'n feel bastante sofisticado y de fácil uso, igual que iTunes, algo que tanto a FF e IE7 les hace falta. Además tiene features únicos como Private Browsing, que lo hacen útil cuando andas en sitios de dudosa reputación... haciendo... investigación sobre temas de seguridad... ahem. smile_wink

Conclusión


A pesar de las bondades que tiene, Safari probablemente no se convierta en mi navegador preferido para uso diario/personal en algún momento cercano (una palabra: extensiones), pero sí planeo tenerlo a la mano para probar la compatibilidad de mis apliaciones web. Quizá te sirva a ti también.