Tutorial para desarrollar aplicaciones de escritorio con PHP

Completo tutorial que nos muestra como realizar nuestras aplicaciones de escritorio con PHP. Antes de nada es importante realizar un cambio de mentalidad, ya que normalmente PHP se usa para realizar aplicaciones Web, que están basadas en entrada de datos, mientras que las aplicaciones de escritorio están basadas en eventos.

Para realizar estas aplicaciones es necesario usar PHP-GTK, la cual nos permite crear ventanas usando las herramientas de GTK.

El tutorial empieza con una pequeña introducción y luego una explicación de los beneficios de aplicaciones de escritorio. Y como remate final, un ejemplo de Hello Wolrd:

<?php
// Code snippet from the PHP-GTK manual.
if (!class_exists('gtk')) die("Please load the php-gtk2 module in your php.ini");
$window = new GtkWindow();
$window->set_title('Our PHP-GTK window');
$window->connect_simple('destroy', array('gtk', 'main_quit'));
$label1 = new GtkLabel("Hello world!");
$window->add($label1);
$window->show_all();
Gtk::main();
?>

Building Desktop Applications in PHP

Vía / PHPDeveloper.org

Digistore: software para comercio electrónico

Digistore es un CMS para la gestión de un site con comercio electrónico basado en osCommerce, al cual se le han añadido mejoras a nivel de administración y para el usuario final.

digistore.png

No se requieren conocimientos de HTML para poder gestionarlo y entre las características nos encontramos con:

  • Editor WYSIWYG
  • Control absoluto de las plantillas
  • Historial de pedidos
  • Mantenimiento de cuentas de los clientes
  • Multiples direcciones para las entregas
  • Búsquedas avanzadas
  • SSL
  • Soporte para productos físicos y virtuales (descargables)
  • Copias de seguridad de la BD de forma sencilla
  • Multilenguaje
  • Estadísticas
  • Compatible con PHP4 y PHP5
  • Soporte para diferentes divisas
  • Relación entre productos
  • Emails y novedades
  • Diferentes tipos de pago entre los que nos encontramos con PayPal

Digistore

Vía / Smashing Apps

Librería Javascript para hacer zoom en imágenes

FancyZoom es un script que nos permite realizar zoom de nuestras imágenes mediante Javascript. Hace aparecer la imagen mediante un zoom progresivo y transparencia. Además muestra el title del enlace en un recuadro.
fanzyzoom.png
Las imágenes ser precargan automáticamente cuando el ratón pasa por encima de la imagen, por lo que se reduce la demora en la persentación. El único fallo que encuentro es que hay que añadir un onload en el body, pero bueno, podemos cambiar la librería para que se haga automáticamente.
FancyZoom

| | |

AROUNDMe: servidor de espacios colaborativos

AROUNDMe collaboration server es un sowfware que permite crear espacios sociales en la Web basados en la colaboración. Ofrece a la gente la posibilidad de juntarse con otras personas que compartan intereses comunes, ya sea en grupos públicos o privados. Mediante el uso de blogs, foros y wikis, los usuarios pueden compartir información o conocimientos, y aprender de otros.
Se trata de un software gratuito que permite crear múltiples páginas web, personalizadas usando CSS, XHTML y Javascript. Añadir herramientas como libros de visitas, blogs comunitarios, foros y wikis. Medir la actividad de un espacio, para así poder medir el estado o la repercusión.
Es necesario tener PHP5 en Apache o IIS y MySQL 4.1+, a la vez que disponer la posibilidad de modificar el dominio ya que los usuarios se crean con subdominios.
AROUNDMe collaboration server

Clase PHP para PayPal

Creo que cualquier negocio por Internet debería permitir el pago por PayPal, por ello, los desarrolladores necesitan usar el API de PayPal para facilitar su trabajo. Y mejor si es mediante una clase ya existente.
SnPayPalApi es una clase que mediante SOAP nos permite realizar operaciones con el API de PayPal. Nos ayudará a buscar transacciones y obtener el detalle de estas, enviar pagos masivos, reembolsar el pago de transacciones y obtener el balance de una cuenta.
Tengan cuidado que si mal no creo PayPal no permite hacer pruebas, todas las operaciones son reales.
SnPayPalApi

Luke: herramienta de diagnóstico para Apache Lucene

Luke es una herramienta de desarrollo y diagnóstico, que accede a los índices de Lucene y permite mostrar y modificar sus contenidos.
luke.png
Es posible navegar mediante el id del documento o por términos de búsqueda, permitiendo ver los documetos y copiarlos en el clipboard. Además permite ver una lista de los términos mas buscados, ejecutar búsquedas, analizar los resultados, borrar los resultados, editar los campos del documento original y reinsertarlos en el índice y optimizar índices.
Requiere Java 1.5 o superior.
Luke

MyOODB: base de datos orientada a objetos

MyOODB (Java) es una base de datos orientada a objetos, forma parte de un SDK, que junto a MyOOWEB y MyOOSDK, permite realizar aplicaciones web pequeñas pero muy robustas.
Dispone de un cliente que permite acceder a los datos mediante los protocolos TCP, TCPS, HTTP o HTTPS. A diferencia de otras OODB, en este caso los objetos solo existen en el servidor, en la aplicación solo se tratan de objetos distribuidos.
Otra de las características a destacar es que tiene un sistema de anti-corrupción de datos, si unos bloques del sistema de ficheros están corruptos, no se pierde la BD.
MyOODB