2011-04-14 00:39 @068 |
|
|
scout
Perlero Adicto
|
Registrado: 2009-10-28 13:50 @618 Mensajes: 225
|
|
|
Proyecto en formato ventana
|
|
Buenos días gente, estoy por comenzar con un proyecto y nuevamente estoy barajando utilizar Perl que me dio tan buenos resultados. El tema es que tendré que tener una interfaz tipo ventana. Por ello les pregunto basándose en su experiencia qué módulo usarían para comenzar con una aplicación para usuarios en tipo ventana… y que me permita mostrar posteriormente fotos y/o vídeos…
Bueno, desde ya muchas gracias al que responda… y saludos a todos.
|
2011-04-14 07:36 @358 |
|
|
scout
Perlero Adicto
|
Registrado: 2009-10-28 13:50 @618 Mensajes: 225
|
|
|
Aplicación web como aplicación de escritorio
|
Hola, buenas, necesito conocer qué experiencia tuvieron con HTTP::Server::Simple, ya que la idea es montar la aplicación en web PHP como si fuera una aplicación de escritorio. Desde ya, muchas gracias.
|
2011-04-14 07:57 @373 |
|
|
 |
explorer
Administrador
|
Registrado: 2005-07-24 18:12 @800 Ubicación: Valladolid, España Mensajes: 10272
|
|
|
Re: Aplicación web como aplicación de escritorio
|
Si la aplicación será en PHP, necesitas, además del servidor web, un intérprete de PHP, además del intérprete de Perl. Ese módulo (y casi todos los otros módulos Perl que hacen de servidor web) pueden realizar esa labor sin muchos problemas, pues su trabajo consistiría en derivar la presentación de una página PHP hacia el intérprete de PHP y esperar la respuesta. Yo, de todas maneras, si se trata de hacer una aplicación sencilla de escritorio, la escribiría en XUL, y el cliente solo tendría que tener instalado el Mozilla Firefox. Me parece que hay software que permiten empaquetar el Apache en un ejecutable, por lo que sería la mejor solución, en caso de seguir dependiendo de la presencia de un servidor web.
_________________ JF^D Perl programming
|
2011-04-14 08:17 @386 |
|
|
scout
Perlero Adicto
|
Registrado: 2009-10-28 13:50 @618 Mensajes: 225
|
|
|
Re: Aplicación web como aplicación de escritorio
|
|
Ok, entendido, pero me queda la duda del intérprete de PHP. ¿Hay algún módulo que permita esta función desde Perl sin tener que instalar el PHP desde fuera? Pregunto esto porque la idea es empaquetar todo desde un exe, que cargue en memoria la aplicación y luego la borre cuando cierra.
La aplicación la planteo desde PHP más que nada por la comodidad de la parte gráfica, formularios.
Gracias por la respuesta.
|
2011-04-14 09:37 @442 |
|
|
 |
explorer
Administrador
|
Registrado: 2005-07-24 18:12 @800 Ubicación: Valladolid, España Mensajes: 10272
|
|
|
Re: Aplicación web como aplicación de escritorio
|
En CPAN encontrarás algunos módulos relativos a PHP. Incluso uno de ellos se llama precisamente PHP, que dice que es capaz de ejecutar código PHP dentro de Perl. Pero viendo el fichero de instalación de este módulo, se ve que depende de la librería libphp y del ejecutable php-config para saber qué versión de PHP está instalada en el sistema. Si quieres empaquetarlo todo junto, estarás obligado a incluir el intérprete de PHP. Dices que quieres usar PHP para la parte gráfica. Eso indica que no has profundizado en las capacidades gráficas de Perl: desde la llamada a las funciones HTML del módulo CGI, hasta el uso de sistemas de plantillas, que comenzarían por HTML::Template, NES, o incluso soluciones iguales a PHP, pero con Perl: PLP. Con estos últimos podrás programar en Perl dentro de páginas HTML. Para aplicaciones muy simples, me vale con las funciones HTML de CGI.pm. Para aplicaciones de tipo medio, CGI::Application con sistema de plantillas de HTML::Template, pero cada vez hay soluciones más y más simples, aunque requieren dominar un espacio de nombres nuevo, en cada ocasión. Son los entornos de trabajo web, como Catalyst, Mojolicious o Dancer. Cada uno de ellos requiere un esfuerzo de aprendizaje, pero enseguida se empiezan a obtener resultados, y los sitios web se pueden crear muy rápidamente. He encontrado una web que analiza paquetes de software con servidores web incrustados, algunos de ellos con soporte para PHP y Perl.
_________________ JF^D Perl programming
|
2011-04-14 10:04 @461 |
|
|
scout
Perlero Adicto
|
Registrado: 2009-10-28 13:50 @618 Mensajes: 225
|
|
|
Re: Aplicación web como aplicación de escritorio
|
|
Ok, tienes una manera de explicar las cosas que generan interés así que, mira lo que te diré, me pondré con cgi... y vamos con toda esa movida... Espero que Don PHP no se enoje...
Muchas gracias... y estaré consultando en caso de problemas.
|
2011-04-14 10:59 @499 |
|
|
scout
Perlero Adicto
|
Registrado: 2009-10-28 13:50 @618 Mensajes: 225
|
|
|
Error con ejemplo HTTP::Server::Simple
|
Hola, buenas tardes. Estoy tratando de poner en funcionamiento el ejemplo de HTTP::Server::Simple::CGI, con una base de: This is perl 5, version 12, subversion 3 (v5.12.3) built for MSWin32-x86-multi-threadpero me daba un error de perl510.dll, así que copié esa dll al directorio donde está la dll actual perl512.dll pero, obviamente, da errores varios. Les consulto si saben si ese módulo solo funciona con v5.10 o estoy haciendo algo mal. Ah, tengo instalado el HTTP::Server::Simple v0.04. Using perl Syntax Highlighting #!/usr/bin/perl
{
package MyWebServer;
use HTTP::Server::Simple::CGI;
use base qw(HTTP::Server::Simple::CGI);
my %dispatch = (
'/hello' => \&resp_hello,
# ...
);
sub handle_request {
my $self = shift;
my $cgi = shift;
my $path = $cgi->path_info();
my $handler = $dispatch{$path};
if ( ref($handler) eq "CODE" ) {
print "HTTP/1.0 200 OK\r\n";
$handler->($cgi);
}
else {
print "HTTP/1.0 404 Not found\r\n";
print $cgi->header,
$cgi->start_html('Not found'),
$cgi->h1('Not found'),
$cgi->end_html;
}
}
sub resp_hello {
my $cgi = shift; # CGI.pm object
return if !ref $cgi;
my $who = $cgi->param('name');
print $cgi->header,
$cgi->start_html("Hello"),
$cgi->h1("Hello $who!"),
$cgi->end_html;
}
}
# start the server on port 8080
my $pid = MyWebServer->new(8080)->background();
print "Use 'kill $pid' to stop server.\n";
|
2011-04-14 22:14 @968 |
|
|
 |
explorer
Administrador
|
Registrado: 2005-07-24 18:12 @800 Ubicación: Valladolid, España Mensajes: 10272
|
|
|
Re: Proyecto en formato ventana
|
He encontrado un proyecto escrito en Perl, Mapivi, que sirve para organizar y manipular fotos. En este caso, el autor usa PerlTk.
_________________ JF^D Perl programming
|
2011-04-15 01:26 @102 |
|
|
scout
Perlero Adicto
|
Registrado: 2009-10-28 13:50 @618 Mensajes: 225
|
|
|
opciones a http::server
|
|
Haciendo uso del recurso Paciencia v3.0, me veo en la necesidad de consultarles nuevamente…
Actualmente tengo la versión de Perl v5.12 y v5.10 en dos ordenadores diferentes… estoy tratando de montar un servidor con HTTP::Server pero me está dando guerra. ¿Alguno conoce alguna opción similar con el que pueda levantar un servidor HTTP?
La idea es no utilizar otro componente que no sea de perl...
|
2011-04-15 02:32 @147 |
|
|
scout
Perlero Adicto
|
Registrado: 2009-10-28 13:50 @618 Mensajes: 225
|
|
|
Re: opciones a http::server
|
|
Bueno, bajando de versión a v5.10 y bajando de versión de HTTP::Server a v0.43 me funcionó... lo pongo por sí a alguien le pasa lo mismo... igulamente me gustaría conocer opciones de servidor... si alguno conoce.
|
2011-04-15 04:21 @223 |
|
|
scout
Perlero Adicto
|
Registrado: 2009-10-28 13:50 @618 Mensajes: 225
|
|
|
consulta sobre pagina inicial http::server
|
El server levantó bien pero sale un error 404. Necesitaría saber cómo hacer para definirle el HTML que quiero que inicie. Estoy buscando ejemplos pero no con ellos... El otro punto que no entiendo es por qué va directo al "else", ¿¿es porque no definí la pagina inicial?? Using perl Syntax Highlighting sub handle_request {
my $self = shift;
my $cgi = shift;
my $path = $cgi->path_info();
my $handler = $dispatch{$path};
if ( ref($handler) eq "CODE" ) {
print "HTTP/1.0 200 OK\r\n";
$handler->($cgi);
}
else {
print "HTTP/1.0 404 Not found\r\n";
print $cgi->header,
$cgi->start_html('Not found'),
$cgi->h1('Not foundsss'),
$cgi->end_html;
}
}
|
2011-04-15 06:33 @314 |
|
|
 |
explorer
Administrador
|
Registrado: 2005-07-24 18:12 @800 Ubicación: Valladolid, España Mensajes: 10272
|
|
|
Re: Proyecto en formato ventana
|
Yo supongo que te refieres a HTTP::Server::Simple, no a HTTP::Server. Pero, ¿eso no es todo el código de tu programa, verdad? Tienes que indicar las subrutinas que se van a ejecutar según la petición del usuario. Según tu código, en el hash %dispatch. Al llegar a la línea 8, el código comprueba si es una referencia a un código o no. Si lo es, lo ejecuta, es decir, salta a la subrutina que se ocupa de una determinada petición del usuario. Y si no es un código, sale la página de fallo.
_________________ JF^D Perl programming
|
2011-04-15 08:21 @390 |
|
|
scout
Perlero Adicto
|
Registrado: 2009-10-28 13:50 @618 Mensajes: 225
|
|
|
Re: Proyecto en formato ventana
|
|
El código es el ejemplo del http::server::simple 0.43, me parece que no me está quedando claro...
Este ejemplo levanta como webserver en localhost:8080, tendría que mostrar al menos un hello... y en mi caso quiero apuntar a un simple prueba.html donde pondré todo el sistema... Pero no me quedó claro lo del if(), qué función cumple en esta historia... o dónde va el path que apunta al html... disculpen si es básica la pregunta, es que me atoré en ese paso...
#!/usr/bin/perl { package MyWebServer; use HTTP::Server::Simple::CGI; use base qw(HTTP::Server::Simple::CGI); my %dispatch = ( '/hello' => \&resp_hello, # ... ); sub handle_request { my $self = shift; my $cgi = shift; my $path = $cgi->path_info(); my $handler = $dispatch{$path}; if (ref($handler) eq "CODE") { print "HTTP/1.0 200 OK\r\n"; $handler->($cgi); } else { print "HTTP/1.0 404 Not foundsssssss\r\n"; print $cgi->header, $cgi->start_html('Not foundsssss'), $cgi->h1('Not foundsss'), $cgi->end_html; } } sub resp_hello { my $cgi = shift; # CGI.pm object return if !ref $cgi; my $who = $cgi->param('name'); print $cgi->header, $cgi->start_html("Hello"), $cgi->h1("Hello $who!"), $cgi->end_html; } } # start the server on port 8080 my $pid = MyWebServer->new(8080)->background(); print "Use 'kill $pid' to stop server.\n";
|
| Reglas del Foro |
No puedes abrir nuevos temas en este Foro No puedes responder a temas en este Foro No puedes editar tus mensajes en este Foro No puedes borrar tus mensajes en este Foro No puedes enviar adjuntos en este Foro
|
|
Socializa |
 |
|