P4A: framework PHP

P4A (PHP For Applications) es un framework PHP que contiene librerías, módulos y widgets para realizar aplicaciones de forma rápida y sencilla. Serás posible de desarrollar aplicaciones web usando las herramientas que ofrece, haciendo que el usuario tenga la sensación de estar en una típica aplicación de escritorio.
p4a.png
Es compatible con PHP 4.3+, Apache 1.3+, Linux o Windows. Es orientado a objetos, lógica MVC, admite múltiples conexiones a la BD, reconocimiento automático de tipos, muchos widgets, editor WYSIWYG, Ajax y mucho más
Anuncian la versión 3 para dentro de poco, aunque no parece que vaya a tener muchas novedades.
P4A

Consejos para diseñar emails

A la hora de diseñar los emails en formato HTML que nuestras aplicaciones enviarán a los usuarios, hay que tener en cuenta varios puntos que nos ayudarán a un diseño más correcto:

  • Olvidarse del tableless: si, aunque sea duro, es mejor volver a las tablas y olvidarse del posicionamiento y la maquetación vía CSS.
  • Usar los estilos dentro de las etiquetas: la mayoría de los lectores de correo online ignoran lo que hay entre la cabecera del HTML, por eso es conveniente usar los estilos dentro de las etiquetas.
  • No uses imágenes de fondo: aunque para un buen diseño puede ser esencial, hay algunos lectores que no mostrarán los background, por lo que es mejor no usarlos para asegurarnos de que todo el mundo vea correctamente el correo.
  • Considera las imágenes bloqueadas por defecto: por seguridad los clientes de correo bloquean las imágenes por defecto, por lo que no es conveniente usarlas para indicar el contenido del mensaje.
  • Usa el atributo alt en las imágenes: como estarán bloqueadas por defecto, es necesario indicar la mayor información posible en ese atributo.
  • Usa paths absolutos: ya que el mail se leerá en otro servidor es necesario indicar la ruta completa para que los contenidos se vean correctamente.
  • Ten cuidado con el tamaño de los archivos: a parte de que el usuario no debe esperar para poder leer el correo, algunas veces los correos con archivos pesados son considerados spam.
  • Evita flash y similares: evita el uso de flash u otros contenidos multimedia que puede que no se vean en el cliente.
  • Diseña para espacios pequeños: aunque se trate de un HTML no siempre el espacio donde se ve es amplio, piensa en dimensiones pequeñas a la hora de diseñar.

9 best practices for email design

Vía / CSS Globe

Funciones MySQL para Memcached

Interesante lista de UDFs para trabajar con memcached usando libmemcached. Con estas funciones se puede asignar, obtener, añadir, borrar, incrementar y decrementar objetos en memcached, a parte de indicar que servidor usar y que comportamiento debe tener el servidor en lo referente a las conexiones. Combinando estas funciones con triggers se puede utilizar el cache de memcached.

Entre las funciones encontramos:

  • memc_servers_set()
  • memc_set()
  • memc_get()
  • memc_delete()
  • memc_append()
  • memc_prepend()
  • memc_increment()
  • memc_decrement()
  • memc_replace()
  • memc_servers_set_behavior()
  • memc_list_behaviors()

Memcached Functions for MySQL

PHP-GTK 2: nueva versión

phpgtk.pngHa salido la versión 2 de PHP-GTK, la extensión de PHP que incluye librerías para usar GTK+ y así poder realizar aplicaciones GUI multiplataforma.
Da soporte a las versiones GTK+ de la 2.6 a la 2.12, aunque para la versión 2.8 no lo es al 100%. A parte de solucionar algunos bugs, también da soporte al portapapeles, y muchas clases para win32.
No tengo yo muy claro que crear aplicaciones GUI con PHP sea lo más optimo, pero bueno, nunca está mal poder disponer de otras opciones.
PHP-GTK2
Vía / PHPDeveloper.org

WaveMaker: crear aplicaciones web en modo visual

WaveMaker Visual Ajax Studio es una aplicación que nos permite desarrollar aplicaciones web de forma visual, mediante drag&grop. Podrás unir Ajax widgets, web services y bases de datos para crear aplicaciones de forma rápida y sencilla.
wavemaker.png
Esta aplicación reduce el tiempo y el costo de desarrollo de nuevas aplicaciones de negocio. Los desarrolladores mejorarán los tiempos hasta en un 67% del tiempo y el número de líneas en un 98%, ya que creará aplicaciones war de Java.
Entre las características nos encontramos con el drag&drop, sistema de layouts, deploy, SOAP, REST, RSS y servicios web.
WaveMaker Visual Ajax Studio
Vía / WebAppers

Capturar la tecla CONTROL mediante Javascript

A la hora de darle una funcionalidad más enfocada a aplicaciones de escritorio (por ejemplo con un editor WYSIWYG), suele ser necesario usar combinaciones de teclas CONTROL+tecla para ejecutar ciertas acciones.

Capturar la combinacion CTRL+tecla en javascript es muy sencillo:

var isCtrl = false;
document.onkeyup=function(e){
if(e.which == 17) isCtrl=false;
}
document.onkeydown=function(e){
if(e.which == 17) isCtrl=true;
if(e.which == 83 && isCtrl == true) {
// acción para CTRL+S y evitar que ejecute la acción propia del navegador
return false;
}
}/

La explicación es sencilla, cuando se pulsa CTRL+tecla se producen dos eventos de teclado, por lo que no es posible saber si se ha ejecutado en una sola llamada. Por ello primero comprobamos si se pulsa la tecla CTRL y se pone un flag a verdadero y luego dependiendo de la tecla que queramos, si se detecta que se pulsa y está el flag activo, se realiza la acción. Hay que devolver false para que el navegador no ejecute la acción que tiene por defecto. Cuando se deja de pulsar la tecla CTRL se pone el flag a false.

How to create Ctrl+Key shortcuts in Javascript