Version 1.0 del Zend Framework para octubre

zendframework.pngYa metidos en el mundo del Zend Framework, no viene mal dar la noticia de que la versión 1.0 (o al menos una alpha) estará disponible el 29 de octubre para la próxima PHP Conference. Ya el año pasado sacaron la primera versión de este framework y en este año anuncian la versión 1.0, lo cual me parece perfecto porque si noto que le faltan cosas al framework que no estarían mal, por ejemplo mail mediante POP3.
A parte también anuncia la colaboración para integrar PHP con Eclipse y con WebSphere.
Vía / CNET News

links for 2006-07-21

Ning: crea tus aplicaciones web 2.0

ning.pngTe gustan las aplicaciones web 2.0, te gustaría tener una propia, pero ni tienes dónde alojarlo ni conocimientos para implementarlo. No hay problema, con un par de clicks te puedes crear un propia web 2.0 al estilo Digg o usando Google Maps. La posibilidad de instalar el código de Menéame en nuestro propio servidor y crear clones fue un gran paso para tener nuestra propia web 2.0. Esto es otro paso más.
ning2.png
Ejemplo creado en un momento.
Ning
Vía / Menéame

|

20 consejos para ser un gran diseñador web

Según cuenta el autor, dice que hay una diferencia entre ser un buen diseñador web y un gran diseñador web, que es tomar atajos para hacer más sencillo tu trabajo sin que repercuta en la calidad. Por eso nos da una serie de consejos o trucos a seguir:

  • Planificación: aunque parece algo obvio, suele ser algo que no se lleva a cabo.
  • Hazlo a mano: yo no podría estar más de acuerdo con este consejo. Existen aplicaciones muy buenas que te crean el código HTML sin tener que escribirlo uno, pero hacerlo tú mismo es algo que te va a dar mayor control sobre el diseño. Con un editor normal que te coloree el código debe ser más que suficiente.
  • Hojas de estilo, enlazar o importar: hay dos formas de importar un CSS y no todos los navegadores reconocen las dos formas, por ello se puede usar ambas para que navegadores modernos y antiguos carguen el CSS.
<link rel="stylesheet" href="simple. css" type="text/css" media="screen">
<style type="text/css" media="screen">
@import url(simple.css);
</style>
  • Usar gradientes como fondo con cuidado: el uso de imágenes como fondo de pantalla es algo sobre lo que se puede y debe tener mucho control, se puede hacer un degradado vertical de ancho 1px y luego repetirlo solo en el eje x, y que el color de fondo sea el color en que finaliza el gradiente. Yo añadiría que cuidado con los gradientes, ahora están muy de moda, pero tampoco se debe abusar de ellos.
  • Comentarios: imprescindibles para cualquier tipo de desarrollo, ya sea para una aplicación en .NET o para una página web. Otra cosa es que lo hagamos siempre.
  • Usa simples scripts PHP: no es necesario ser un experto en PHP, pero si tu servidor lo admite, úsalo, sobre todo para incluir trozos de HTML que sean muy utilizados, como por ejemplo el código que crea el menú.
  • Dimensiona las fuentes con em: a los diseñadores les suele gustar usar px porque se ajusta exactamente al tamaño que quieren, pero el problema es que, por ejemplo, IE no redimensiona las fuentes definidas con px con el consiguiente problema de accesibilidad para los lectores con discapacidad.
  • Hack en IE del modelo de caja: quizás no os haya pasado, pero IE tiene un bug con el tamaño de una capa cuando se usa width y margin, padding o border. Esto se soluciona usando el guión bajo delante del estilo (_margin), que IE reconocerá como el propio estilo, mientras que los otros navegadores lo ignorarán. No recomiendo seguir haciendo esto, porque con la nueva versión de IE podríais tener problemas ya que se ajusta más a los estándares.
  • Espacio en los formularios: los form aunque no se vean tienen márgenes, cuando crees uno, no olvides quitarles el margen superior e inferior.
  • Testea: imprescindible, sobre todo para intentar conseguir que funcione en casi todos los navegadores.
  • Formato de imágenes: usa GIF para imágenes con colores planos y JPEG para imagenes tipo fotografía, aunque deberías usar PNG en ambos casos, ya que funciona tanto para colores planos como para tipo fotografia, el problema es que IE no admite el canal alpha, hay que esperar a IE7 para que lo podamos usar.
  • Atributos alt y title: para que la descripción de las imágenes o enlaces aparezcan correctamente en los dispositivos móviles.
  • Orden de las pseudoclases: como ya explicamos en esta entrada.
  • Lenguaje semántico: separa el contenido de la apariencia, si eliminamos la css de una página se debería ver correctamente.
  • Favicons: los iconos que aparecen en los favoritos o en las pestañas, algo sencillo que representa a nuestra web.
  • Usa máyusculas mediante CSS: cuando quieras escribir un texto completamente en mayúsculas usa text-transform en vez de escribirlo tú directamente en mayúsculas.
  • Escribe el texto alrededor de las imagenes: algo ya comentado en esta entrada.
  • Usa UTF-8: no todo el mundo tiene tu idioma o tu juego de caracteres, vuelve a leer esta entrada para obtener más información.
  • Estilos para impresora: crea estilos específicos para impresoras (media=”print”)
  • Aprende de otros: para eso nada mejore que CSSMania.

20 pro tips

Vía / Digg

|

Zend Framework: creando documentos PDF

Avanzando en el framework de Zend, hoy vamos a ver cómo crear documentos PDF. Quizás a muchos no les vaya a ser útil, pero un documento PDF es un formato bastante extendido.

De forma sencilla, ya que la librería del framework es algo extensa, vamos a explicar que métodos son necesarios para crear un PDF.

Para cargar la librería:

require_once 'Zend/Pdf.php';

Para crear un nuevo documento PDF:

$pdf = new Zend_Pdf();

Para crear una nueva página:

$pdf->pages[] = ($page = $pdf->newPage('A4'));
$pdf->pages[] = new Zend_Pdf_Page(Zend_Pdf_Page::SIZE_A4);
$pdf->pages[] = $pdf->newPage(Zend_Pdf_Page::SIZE_A4);

Obtener ancho y alto de la página:

$ancho  = $page->getWidth();
$alto = $page->getHeight();

Usar estilos:

$estilo = new Zend_Pdf_Style();
$estilo->setFillColor(new Zend_Pdf_Color_RGB(0, 0, 0));
$font = Zend_Pdf_Font::fontWithPath('/path/fuente.ttf');
$estilo->setFont($font, 10);
$estilo->setStyle($style);

Escribir texto:

$page->drawText("Hola Mundo", $x, $y);

Insertar imágenes:

$img = Zend_Pdf_ImageFactory::factory('sentidoweb.png');
$page->drawImage($img, $x, $y, $x+&ancho, $y+$alto);

Devolver la salida:

echo $pdf->render();

Eso sí, antes hay que tener en cuenta que tenemos que devolver al inicio del script el Content-Type:

header("Content-Type: application/pdf");
// Si queremos que se devuelva como un fichero adjunto
header("Content-Disposition: attachment; filename=\"prueba.pdf\"");

Si, se que parece muy resumido, pero otro día habrá un ejemplo más completo, mejor ir paso a paso.

Zend Framework : PDF

Retícula para tus diseños web

Veo en Intenta un truco para usar una réticula cuando diseñamos una página web, para que todo quede cuadrado y alienado como queremos. Es tan sencillo como incluir un estilo para el body que muestre como imagen de fondo una retícula, así podremos ver como cuadra o no nuestro diseño.
grid.png
Si ya lo usas combinado con MeasureIt, ya no tienes excusas para realizar diseños milimétricos.
Vía / Intenta

links for 2006-07-19

CSS dinámicos

Un interesante artículo que nos explica cómo realizar hojas de estilo dinámicas, aunque la verdad yo no le veo mucho uso, incluso el ejemplo que pone no me vale demasiado. Supongo que se podría evitar el uso dinámico de CSS diseñando mejor las CSS, pero claro, tambien puede que me equivoque. De todas formas, el artículo me ha gustado bastante, porque a parte de explicarte cómo hacerlo, te muestra que lo que siempre pensamos como estático (CSS, Javascript) puede ser un script PHP y no necesariamente un texto plano. A parte te dice con qué problemas nos podemos encontrar, en este caso el tiempo de ejecución del script frente al tiempo de carga de un fichero plano, algo que creo que a veces se suele olvidar.

Usar una hoja de estilos dinámica puede ser útil en el caso de que nuestra aplicación deba mostrar distintos estilos dependiendo de la página desde la que se le pida. Como ejemplo pone una aplicación que use módulos (ventanas tipo gadgets) y que dependiendo del módulo tenga que mostrar un estilo u otro.

Lo único diferente a la hora de crear el script PHP que nos devuelve el script es que se debe devolver el tipo de contenido del archivo (Content-Type), ya que el resto no se debería diferenciar de mostrar un HTML:

header('Content-Type: text/css');
if (condicion) {
echo '#estilo { display: inline; }';
} else {
echo '#estilo { display: inline; }';
}

El problema con el que nos encontramos es que cada vez que se visita la CSS se tiene que ejecutar y no se guarda en caché. Para que cachee el script, durante un tiempo prudencial, debemos indicarlo en la cabecera:

header('Cache-control: must-revalidate');
header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 3600) . ' GMT');

Ahora el único problema que nos queda es no tener que procesar siempre los mismos estilos, para ello nada mejor que usar @import, así seleccionamos unos estilos u otros, pero no los generamos:

header('Content-Type: text/css');
header('Cache-control: must-revalidate');
header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 3600) . ' GMT');
if (condicion) {
echo '@import "estilo1.css";';
} else {
echo '@import "estilo2.css";';
}

Static and dynamic CSS combined

Puntos a favor y en contra de Windows Vista

Windows VistaA la gente le gusta las listas (esto me suena a anuncio) y una que me ha parecido interesante es sobre cosas a favor y en contra sobre Vista, porque hay que reconocer que Microsoft hace cosas buenas y no solo vamos a criticar a Gates y sus productos.

A favor

  • Sidebar y Gadgets: aunque no es nada innovador, no hay que quitarle mérito a los gadgets que proporcionan y al hecho de que vaya a haber más. Claro, que también hay quienes dicen que es un punto más para que nos entre spyware y demás.
  • Aero Glass interfaz: muy vistoso, sobre todo las transparencias y cambios de color.
  • Media Center: el software para música, fotos, videos online, DVDs y HDTV. No está incluida ni en la versión Basic Home ni en las dos versiones para empresas.
  • Windows Media Player 11: a parte de las mejoras que presenta, al autor de esta lista le gusta porque está totalmente integrado con la tienda online de música de Microsoft (sobre gustos…).
  • DRM (Digital Rights Management): ¿a favor?, seguro que estaría a favor de que Windows usara nuestra cuenta de PayPal para pagar a los del canon cada vez que copiamos un CD (de lo que sea).
  • Flip 3D: esta funcionalidad apila las ventanas abiertas con perspectiva 3D, pudiendo movernos por ellas.

En contra

Top 10 Windows Vista Hits & Misses

Vía / DownloadSquad