<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>DevTics.com.Mx &#187; PHP+GTK</title>
	<atom:link href="http://www.devtics.com.mx/wp/category/phpgtk/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.devtics.com.mx/wp</link>
	<description></description>
	<lastBuildDate>Sat, 03 Sep 2011 18:59:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Mi Primer Aplicación de Escritorio en PHP + GTK2</title>
		<link>http://www.devtics.com.mx/wp/208-mi-primer-aplicacion-de-escritorio-en-php-gtk2/</link>
		<comments>http://www.devtics.com.mx/wp/208-mi-primer-aplicacion-de-escritorio-en-php-gtk2/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 09:33:53 +0000</pubDate>
		<dc:creator>pako</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHP+GTK]]></category>

		<guid isPermaLink="false">http://www.devtics.com.mx/wp/?p=208</guid>
		<description><![CDATA[Ya hace algún tiempo fácil unos 3 años se de la posibilidad de crear aplicaciones de escritorio con PHP, así es, una parte muy desconocida de este lenguaje es que fusionándose con la librería GTK se pueden crear entornos de escritorio, por decidía y falta de tiempo no he entrado en este campo de PHP [...]]]></description>
			<content:encoded><![CDATA[<p>Ya hace algún tiempo fácil unos 3 años se de la posibilidad de crear aplicaciones de escritorio con PHP, así es, una parte muy desconocida de este lenguaje es que fusionándose con la librería GTK se pueden crear entornos de escritorio, por decidía y falta de tiempo no he entrado en este campo de PHP aparte que no lo he requerido, hoy hace 4 hrs tenia que hacer una aplicación y dije ha estaría chido hacerla en PHP+GTK haber vamos a ver como se maneja!, ya estuve navegando un rato, leí el introductorio, baje los dos primeros ejemplos y realice mi primera aplicación utilizando esta tecnologías combinadas. y aquí esta mi aplicacioncita de sumar dos números =D, nada mal para solo haber visto solo 2 ejemplos y tener 4 hrs en el tema :), veo que es un tema muy poco documentado en español así que muy posiblemente estaré postiando mas sobre este tema.</p>
<p>Aquí el Código de mi aplicación</p>
<pre>
&lt;?php
if (!class_exists(&#039;gtk&#039;)) {
   die(&quot;Esto es una aplicaci&oacute;n PHP+GTK2 no tienes gtk instalado&quot;);
}

function suma(GtkWindow $wnd,GtkEntry $txtN1,GtkEntry $txtN2, GtkLabel $lbRes){
   $lbRes-&gt;set_text(&quot; = &quot; .  ($txtN1-&gt;get_text()+$txtN2-&gt;get_text() ));
}

$wnd = new GtkWindow();
$wnd-&gt;set_size_request(170, 70);
$wnd-&gt;set_title(&#039;Programa de Suma en PHP-GTK2&#039;);
$wnd-&gt;connect_simple(&#039;destroy&#039;, array(&#039;gtk&#039;, &#039;main_quit&#039;));
$wnd-&gt;show_all();
$btnSum = new GtkButton(&#039;_Sumar&#039;);
$txtN1 =  new GtkEntry();
$txtN2 = new GtkEntry();
$lb1 = new GtkLabel(&quot;+&quot;);
$lbRes = new GtkLabel(&quot; = &quot;);
$txtN1-&gt;set_size_request(40, 20);
$txtN2-&gt;set_size_request(40, 20);
$lbRes-&gt;set_size_request(30, 20);
$btnSum-&gt;connect_simple(&#039;clicked&#039;, &#039;suma&#039;, $wnd, $txtN1, $txtN2,$lbRes);
$table=new GtkTable(5,2);
$table-&gt;attach($txtN1, 0, 1, 0, 1);
$table-&gt;attach($lb1,   1, 2, 0, 1);
$table-&gt;attach($txtN2, 2, 3, 0, 1);
$table-&gt;attach($lbRes, 3, 4, 0, 1);
$table-&gt;attach($btnSum, 0, 5, 1, 2);
$wnd-&gt;add($table);
$wnd-&gt;show_all();
Gtk::main();
?&gt;
</pre>
<div style="text-align: center;">Así se ve en Windows Xp Sp3.<br />
<img class="aligncenter" title="phpgtk" src="http://devtics.com.mx/imgs/suma-2-numeros-php-gtk2.png" alt="" width="178" height="104" align="center" /></div>
<div>
<p style="text-align: center;">y Así en Linux Ubuntu 9.10</p>
<p style="text-align: center;"><img title="phpgtk" src="http://www.imagengratis.org/images/sumadosnum.png" alt="" /></p>
</div>
<p>De entrada veo la desventaja de que no existe una IDE para realizar el diseño de las interfaces arrastrado (no que yo sepa hasta ahorita) como VisualStudio para .net o NetBeans para Java por lo que los controles hay que escribirlos a manita esto es una desventaja vs los lenguajes que si lo tienen .net o Java etc, aunque sigue siendo mucho menos el código que se necesita codificar para crear la interfaces en PHP que en java por ejemplo, pero pues son lineas que una interfaces nos podría evitar y como siempre enfocarnos en la solución del problema.</p>
<p>Update: 16 Marzo 2010</p>
<p>Ya encontré la forma de crear la GUI desde un programa que se llama Glade, la verdad aun no lo he echando a andar, he tenido problemas al importar, Glade es una herramienta para crear GUI&#8217;s con los controles GTK en genera no para un lenguaje en especifico en si no es un IDE, los archivos que maneja glade son XML los cuales en teoría se deberían de importar en lenguaje que se quisieran programar, en PHP+GTK se carga el xml y sólito crea los objetos que requerimos y solo nos restaría la asignación de evento, mas adelante les comentare que tal funciona esto y como hacerlo&#8230; cuando me salga ahorita tengo problemas al momento de importar el xml a php, encontré unos ejemplos y funcionan bien pero mis interfaces nada mas no jalan :( bueno ya les contare.. ;), se agradece la mención de glade en twitter de <a href="http://twitter.com/pstglia" target="_blank">@pstglia</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.devtics.com.mx/wp/208-mi-primer-aplicacion-de-escritorio-en-php-gtk2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

