Qué aplicaciones se pueden crear con PHP

Por si tenés poco tiempo: cualquier tipo de aplicación. Listo, sos libre 🙂

¿Cómo? ¿Querés más detalles?… ok, por ser vos…

PHP para la creación de aplicaciones web

El uso más conocido de PHP es para crear aplicaciones web (¡vamos, que para eso se creó el lenguaje!), ya se trate de blogs, Intranets, tiendas virtuales (e-commerce), plataformas de educación a distancia (e-learning), sitios de noticias o… lo que tu imaginación permita!

Claro que, en cualquiera de estos ejemplos, PHP no está solo… usualmente se complementa con HTML, JavaScript, CSS, etc…

En estos casos, PHP suele usarse como apéndice para extender las funcionalidades de un servidor web (Por ejemplo Apache o NginX), de modo de permitir la creación de páginas dinámicas (En lugar de mostrarle a todos los visitantes lo mismo, se le da a cada uno una vista esepcialmente generada según sus requerimientos).

PHP para la creación de servicios web

El caso de los servicios web no dista mucho (desde el punto de vista técnico) de las aplicaciones web. Podrías pensar, de hecho, que un servicio web es un caso especial de aplicación web, sólo que está diseñada para interactuar con otros sistemas en lugar de con usuarios humanos.

Los servicios web se basan en protocolos de comunicación diseñados específicamente para sus propósitos, los más conocidos son REST y SOAP.

PHP permite tanto el consumo de servicios web (ya sean basados en SOAP o en REST) como la exposición de los mismos (De nuevo, no es lo mismo si se trata de un servicio REST que si se trata de un servicio SOAP).

PHP para la creación de scripts de línea de comandos

Este es un uso un poco menos conocido de PHP, sin embargo, es uno de los más potentes.

Sus usos en la vida real suelen estar asociados a tareas que deben ejecutarse en forma periódica (Los famosos cronjobs), como ser generar backups, eliminar archivos que ya no se necesitan, enviar correos con alertas, etc…

También es posible generar aplicaciones completas con menúes tipo:

O simplemente que reciban parámetros a través de la línea de comandos, por ejemplo:

php mi_app.php param1 param2

Claro que, si de aplicaciones de línea de comandos se trata, lo mejor es usar el componente de Symfony.

PHP para la creación de aplicaciones de escritorio

También pueden crearse aplicaciones de escritorio… con ventanitas y todo 🙂

Personalmente, veo muy poco útil el desarrollo de este tipo de aplicaciones hoy en día, pero… si no te queda otra, una herramienta muy buena que podés usar es la librería wxPHP (especialmente con  wxFormBuilder para no volverte loco con los detalles específicos de librerías de Windows vs. Linux para los manejos gráficos).

Nunca lo usé a nivel comercial, pero te muestro una prueba de concepto que hice:

<?php

class MainFrame extends wxFrame
{
    function onQuit()
    {
        $this->Destroy();
    }

    function onAbout()
    {
        $dlg = new wxMessageDialog(
            $this,
            "Welcome to wxPHP!!\nBased on wxWidgets 3.0.0\n\nThis is a minimal wxPHP sample!",
            "About box...",
            wxICON_INFORMATION
        );

        $dlg->ShowModal();
    }

    function __construct()
    {
        parent::__construct(null, null, "Minimal wxPHP App", wxDefaultPosition, new wxSize(350, 260));

        $mb = new wxMenuBar();

        $mn = new wxMenu();
        $mn->Append(2, "E&xit", "Quit this program");
        $mb->Append($mn, "&File");

        $mn = new wxMenu();
        $mn->AppendCheckItem(4, "&About...", "Show about dialog");
        $mb->Append($mn, "&Help");

        $this->SetMenuBar($mb);

        $scite = new wxStyledTextCtrl($this);

        $sbar = $this->CreateStatusBar(2);
        $sbar->SetStatusText("Welcome to wxPHP...");

        $this->Connect(2, wxEVT_COMMAND_MENU_SELECTED, array($this,"onQuit"));
        $this->Connect(4, wxEVT_COMMAND_MENU_SELECTED, array($this,"onAbout"));
    }
}

class MyApp extends wxApp
{
    function OnInit()
    {
        $this->mf = new mainFrame();
        $this->mf->Show();

        return 0;
    }

    function OnExit()
    {
        return 0;
    }
}

$app = new MyApp();
wxApp::SetInstance($app);
wxEntry();

Detalle importante: para correrlo no se usa el binario normal de php sino wxphp (Y también parece haber algunos problemas para ejecutar con PHP > 5.x…).

Otro proyecto que puede ser de tu interés para hacer apps de escritorio usando php es TideSDK.

Otro proyecto bastante novedoso para crear este tipo de aplicaciones es PHP-GUI (De todos parece ser el más activo, vale la pena darle una mirada).

PHP para la creación de aplicaciones móviles

Nunca lo usé, pero, nuevamente, si PHP es tu herramienta favorita y mobile es el destino… KikAppTools puede ser tu aliado.

Conclusión

En definitiva, casi cualquier aplicación que necesites se puede hacer en PHP (Tengo mis dudas sobre aplicaciones con fuertes requerimientos de tiempo real por ejemplo).

Esto se debe en gran parte a la popularidad del lenguaje, lo cual hace que esté soportado por una gran comunidad y, por ende, se generen proyectos que llevan sus capacidades a nuevos territorios.

mchojrin

Por mchojrin

Ayudo a desarrolladores PHP a acceder mercados y clientes más sofisticados y exigentes

2 comentarios

¿Te quedó alguna duda? Publica aca tu pregunta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.