Re: [colibri] Hacer Guis con Gtk+ Java
quien de vosotros tiene a su alcance documentación pero en formato pdf, y si por si acaso en español. -- "cada movimiento que se tiene de la vida, genera consecuencias, estas son buenas y malas pero definitivamente esta es sin palabras ya que la libertad solo se alcanza de una forma, estrellándose con las desiciones, así a los demás les parezca terco..." Miembro de Camayihi www.camayihi.org Linux user # 458151 ___ Lista de correo de Colibri Colibri@listas.el-directorio.org http://listas.el-directorio.org/cgi-bin/mailman/listinfo/colibri El Directorio, el sitio del Software Libre en Colombia: http://www.el-directorio.org
Re: [colibri] Hacer Guis con Gtk+ Java
Me gustaría dar mi opinión con respecto a lo de usar un binding contra una versión nativa. El uso de bindings si implica una sobrecarga, que esta relacionada con la copia y transformación de datos de por ejemplo Python a..., digamos C. Si por ejemplo hablamos de una función sencilla que realmente no haga mucho, la velocidad que se obtiene por ejecutarse en C seguramente se perderá por esa sobrecarga, pero si hablamos en este caso de librerias gráficas, que son algoritmos costosos, será mucho más beneficioso ejecutarlos en C, a pesar de la pequeña sobrecarga comparada con la de hacer eso de manera nativa en un lenguaje de alto nivel. Como ejemplo, quiero hablar de un algoritmo que observé implementado este semestre. Implicaba una gran cantidad de cálculos y ciclos, y pude ver una versión en C y otra en Python. La versión en C, demoraba alrededor de 2 segundos en terminarse, mientras que la versión en Python tardaba alrededor de 15 a 20 segundos. Si se eligiera una implementación de esta función con un binding, la sobrecarga del paso de datos no sería ni cercana a esa enorme diferencia. Ark ___ Lista de correo de Colibri Colibri@listas.el-directorio.org http://listas.el-directorio.org/cgi-bin/mailman/listinfo/colibri El Directorio, el sitio del Software Libre en Colombia: http://www.el-directorio.org
Re: [colibri] Hacer Guis con Gtk+ Java
Hola. El día 6 de mayo de 2008 18:55, Juan Luis Baptiste <[EMAIL PROTECTED]> escribió: > > Bueno, ya que estamos en esta discusión tan proactíva, me gustaría que > viera esta página de descripción de las características de Qt y me > contara desde su punto de vista con GTK que ventajas/desventajas, que > le hace falta o no tiene GTK respecto a Qt: Pues es difícil decirlo sin conocer más a fondo QT. A primera vista parece que no le haría falta ninguna de las características mencionadas. Habría que entrar a probarlas en detalle. Tal vez podamos charlar mejor al respecto en la Campus Party. -- Manuel Alejandro Cerón Estrada http://ceronman.freaks-unidos.net ___ Lista de correo de Colibri Colibri@listas.el-directorio.org http://listas.el-directorio.org/cgi-bin/mailman/listinfo/colibri El Directorio, el sitio del Software Libre en Colombia: http://www.el-directorio.org
Re: [colibri] Hacer Guis con Gtk+ Java
2008/5/2 Manuel Alejandro Cerón Estrada <[EMAIL PROTECTED]>: > > Creo que aquí hay una confusión y es que me equivoqué al decir: > > > "En mi opinión es mucho mejor usar bindings que librerías nativas" > > Lo que quería decir es que es mucho mejor usar un binding de una > librería nativa que usar usar código que corra sobre la JVM (o el CLR > o el intérprete de Python, etc). En cuestión de rendimiento, por > supuesto. > Como yo lo entiendo, usar un binding siempre será más lento que usar la versión nativa ya que siempre va a haber un costo adicional en la comunicación entre el lenguaje del binding y el lenguaje nativo. Yo daba un ejemplo de lo que pasa con los bindings en java a otros lenguajes que su comunicación hasta donde tengo entendido se hace por RMI. > Ahora, ¿Por qué digo que GTK tiene mejores bindings? Bien, haciendo > algunas comparaciones: > > Perl-QT no se actualiza desde 2005 [2]. La última actualización de > Perl-GTK fue en Marzo 30 de 2008 [3] > > Los bindings de C# para Qt murieron por allá en 2003. La nueva versión > de los bindings el proyecto Qyoto/Kimono [4], está incompleta y lleva > un año sin actualizarse. Gtk# es activamente desarrollada, la última > versión salió en Abril de 2008 [5] > > Qt-lua no se actualiza desde 2005 [6]. Gtk-lua se actualizó en febrero > de 2008.[7] > > PyGTK y PyQT son ambos activamente desarrollados. > > GTK-Ruby y QT-Ruby estan ambos medio abandonados. > > Los bindings de java para ambos toolkits están activamente desarrollados. > > [1] http://www.gtk.org/language-bindings.html > [2] http://sourceforge.net/project/showfiles.php?group_id=64773 > [3] http://perlqt.sourceforge.net/ > [4] http://cougarpc.net/qyoto/ > [5] http://www.go-mono.com/archive/1.9.1/ > [6] http://www.codenix.com/~tolua/lua_qt/ > [7] http://luaforge.net/projects/lua-gtk > Mano que vaina esto que me cuenta, no sabía que estuvieran desactualizados. Cuando estuve muy metido en esto desarrollando para KDE siempre lo hice en C++ con Qt directamente, y ahora que apareció QtJambi es que he vuelto a mirar este tema nuevamente. > > Creo que un ejemplo dice más que mil palabras: > > Button b = new Button("Press me!"); > > b.connect(new Button.CLICKED() { > public void onClicked(Button source) { > System.out.println("I was clicked: " + b.getLabel()); > } > }); > > A mi no me parece taaan complejo de utilizar. Habría que comparar con > Qtjambi. > > Eso mismo se hace en dos líneas: QPushButton quit = new QPushButton("Quit"); quit.clicked.connect(QApplication.instance(), "quit()"); Y es igual en C++, sólo cambia la notación por la cuestión de los apuntadores. > > Hay varias empresas que dan soporte a GTK+ y usted puede contratarlas > si *realmente* lo necesita. La más notable es Imendio. Novell también > presta el servicio de soporte para GTK#. Creo que RedHat y Canonical > tiene algo parecido, pero no estoy seguro. > Bien no sabía esto, buena cosa, pero algo importante de resaltar en mi modo de ver es que empresas desarrolladoras de software muy grandes como Adobe, google y Skype (entre otras fortune 500 dice en la página) han escogido Qt como su herramienta de desarrollo sin importar su costo y habiendo otra herramienta como GTK que sirve para el mismo propósitio. Diría yo que esto se debe a méritos técnicos que hacen que su costo sea algo secundario respecto a las ventajas técnicas que posee. > > Estoy de acuerdo. Se necesitan números. Es muy difícil obtener > estadísticas reales. Algo que he hecho es contar el número de paquetes > dependientes de ciertas librerías en Ubuntu (que tiene cerca de 25.000 > paquetes disponibles). Estos son mis resultados: > Esto se puede deber a que está haciendo la cuenta en Ubuntu que es una distro basada en Gnome entonces es completamente obvio que el número de aplicaciones GTK va a ser muy superior que las de qt. Es por eso que este cálculo no dice nada ya que si hacemos el intento al revés de contar los paquetes en una distribución basada en KDE como kubuntu, Mandriva, PCLinuxOS, OpenSuSE, Ark Linux, Mepis, etc. Traté de hacer la cuenta en mi máquina pero el comando equivalente que sería rpm -qR lib bota aparte de los paquetes, los nombres de las librerías que provee cada uno de eso paquetes, entonces me toca elaborar más esa consulta pero no tengo tiempo ;) > Por supuesto estos datos no son, ni medio cerca, determinantes. Pero > de algo sirven. La última encuesta [8] que yo vi, le daba un 45% a > Gnome contra un 35% a KDE, pero yo no confío en esas encuestas. > > [8] http://www.desktoplinux.com/news/NS8454912761.html > > -- Es posible que sea la misma encuesta a la que yo me refería, ya que los datos de la del año pasado son similares a los que yo recordaba, 38% KDE y 35% Gnome. Igual esto me parece a mi que no indica de ninguna manera la popularidad, que uno sea mejor que el otro, etc, sólo demuestra el dinero que algunas empresas le están metiendo en mar
Re: [colibri] Hacer Guis con Gtk+ Java
Hola. El día 2 de mayo de 2008 15:52, Juan Luis Baptiste <[EMAIL PROTECTED]> escribió: > Un binding nunca va a ser igual de rápido que la implementación > nativa, la razón es muy sencilla. Un binding que es ? un wrapper de un > lenguaje hecho en otro lenguaje, lo que al final quiere decir que la > llamada a una función en el binding tiene que llamar a la equivalente > en el otro. Por ejemplo, el llamado a un método en un binding de java > tiene que llamar al método correspondiente en la librería gtk (o > cualquier otra), para esto tiene que haber algún mecanísmo de > comunciación entre los dos objetos por así decirlo. En el caso de java > es RMI, lo que ya lo hace inerentemente más lento que una llamada > nativa. QtJambi hasta donde tengo entendido no es un binding sino una > implementación nativa de la librería menos un pequeño core que sigue > estando en C++, el cuál es llamado nativamente desde Java. > Creo que aquí hay una confusión y es que me equivoqué al decir: "En mi opinión es mucho mejor usar bindings que librerías nativas" Lo que quería decir es que es mucho mejor usar un binding de una librería nativa que usar usar código que corra sobre la JVM (o el CLR o el intérprete de Python, etc). En cuestión de rendimiento, por supuesto. > Tienes a la mano una tabla comparativa que demuestre que hay más > bindings para otros lenguajes para GTK que para Qt? yo no puedo > asegurar eso a menos que tenga una base para decirlo. Lo que sí puedo > decir es qué bindings existen para Qt pero sin asegurar que sean más o > menos que los de GTK. Los que yo sé que tiene Qt son: java, perl, > python, C#, ruby y lua. De acuerdo al sitio web de GTK [1], tiene soporte para: C C++ C# ( incluyendo VisualBasic.NET, Boo, Namerle, y todos los que corren bajo el CLR) Java( incluyendo Scala, Groovy y todos los que corren en la JVM) Python Perl R Guile Ruby PHP Ada OCaml Haskell Lua S-Lang Ahora, ¿Por qué digo que GTK tiene mejores bindings? Bien, haciendo algunas comparaciones: Perl-QT no se actualiza desde 2005 [2]. La última actualización de Perl-GTK fue en Marzo 30 de 2008 [3] Los bindings de C# para Qt murieron por allá en 2003. La nueva versión de los bindings el proyecto Qyoto/Kimono [4], está incompleta y lleva un año sin actualizarse. Gtk# es activamente desarrollada, la última versión salió en Abril de 2008 [5] Qt-lua no se actualiza desde 2005 [6]. Gtk-lua se actualizó en febrero de 2008.[7] PyGTK y PyQT son ambos activamente desarrollados. GTK-Ruby y QT-Ruby estan ambos medio abandonados. Los bindings de java para ambos toolkits están activamente desarrollados. [1] http://www.gtk.org/language-bindings.html [2] http://sourceforge.net/project/showfiles.php?group_id=64773 [3] http://perlqt.sourceforge.net/ [4] http://cougarpc.net/qyoto/ [5] http://www.go-mono.com/archive/1.9.1/ [6] http://www.codenix.com/~tolua/lua_qt/ [7] http://luaforge.net/projects/lua-gtk > Exactamente, yo estaba hablando de C, no de ninguno de los demás. > Cuando te refieres a interfaces en Java debe ser el mismo mecanismo o > similar a swing ? de ser así es muy complejo de utilizar. Creo que un ejemplo dice más que mil palabras: Button b = new Button("Press me!"); b.connect(new Button.CLICKED() { public void onClicked(Button source) { System.out.println("I was clicked: " + b.getLabel()); } }); A mi no me parece taaan complejo de utilizar. Habría que comparar con Qtjambi. > No es del todo una desventaja, lo estás poniendo como si el hecho que > tener que pagar por la licencia fuera algo malo sólo por el hecho que > vale plata. Ese licenciamiento es más bien un servicio en el cual > tienes incluido soporte técnico durante el tiempo que sea válida la > licencia. Con una liberería gratuíta como GTK no vas a tener este tipo > de soporte, sólo el comunitario, lo que para una empresa > desarrolladora de software puede que no sea suficiente cuando hay un > deadline que cumplir. En estos casos lo que se necesitan son > soluciones rápidas y puntuales, el soporte comunitario a veces puede > ser muy demorado y en un ambiente corporativo lo más seguro es que no > haya ese tiempo para esperar. Además hay estudios (lo leí en un blog > hace mchos años, no tengo la referencia en el momento) en los que > se demuestra que el costo de este licenciamiento es de al rededor del > 1% del costo del proyecto, un costo muy bajo para los beneficios que > trae. Entonces bajo esa perspectiva, que inconveniente hay en pagar > por soporte técnico? Hay varias empresas que dan soporte a GTK+ y usted puede contratarlas si *realmente* lo necesita. La más notable es Imendio. Novell también presta el servicio de soporte para GTK#. Creo que RedHat y Canonical tiene algo parecido, pero no estoy seguro. > Yo no me atrevería a decir esto sin números para sustentarlo, porque > hasta donde recuerdo (y por favor no entremos en el típico flame
Re: [colibri] Hacer Guis con Gtk+ Java
Hola, 2008/4/30 Manuel Alejandro Cerón Estrada <[EMAIL PROTECTED]>: > > 2008/4/30 Juan Luis Baptiste <[EMAIL PROTECTED]>: > > > > Yo recomendaría QtJambi [1], es una versión de Qt > > en Java, ojo *no* es un binding the Java para Qt, entonces la > > penalidad de comunicarse con Qt con el caso que decían antes de GTK > > no existe. > > No entiendo a que se refieren con lo de "tener que comunicarse con > GTK". Usando el binding adecuado no es necesario tener que comunicarse > ni nada, todo se usa transparentemente. En mi opinión es mucho mejor > usar bindings que librerías nativas ya que el desempeño es mucho > mejor, por eso las aplicaciones SWING parecen tan lentas. > Un binding nunca va a ser igual de rápido que la implementación nativa, la razón es muy sencilla. Un binding que es ? un wrapper de un lenguaje hecho en otro lenguaje, lo que al final quiere decir que la llamada a una función en el binding tiene que llamar a la equivalente en el otro. Por ejemplo, el llamado a un método en un binding de java tiene que llamar al método correspondiente en la librería gtk (o cualquier otra), para esto tiene que haber algún mecanísmo de comunciación entre los dos objetos por así decirlo. En el caso de java es RMI, lo que ya lo hace inerentemente más lento que una llamada nativa. QtJambi hasta donde tengo entendido no es un binding sino una implementación nativa de la librería menos un pequeño core que sigue estando en C++, el cuál es llamado nativamente desde Java. > > ... > > > empecé a desarrollar en linux hace varios años probé ambas, y se me > > hizo mucho más sencillo la librería qt, más ordenada, más completa, > > con un mejor soporte multiplataforma (por ejemplo la integración con > > cada s.o., look & feel, dialogos de abrir/guardar, etc) y más claro de > > entender el código escrito, Qt utiliza la misma nomenclatura de Java > > CamelCase que llaman, en GTK es algo como > > "pintar_ventana_configuracion_aplicacion" cosas así, que hacen el > > código menos legible en mi opinión > > El estilo de notación es algo que depende del lenguaje en el que se > use GTK+, cuando se usa en C o en Python se usa la > notación_con_guiones_bajos, cuando se usa en Java o C# se usa el > estilo CamelCase, por ejemplo, miren la documentacion de los bindings > de GTK para Java: > > http://java-gnome.sourceforge.net/4.0/doc/api/overview-summary.html De acuerdo, todo depende de la notación que se haya escogido. GTK usa notación con guiones bajos y a lo que yo me refería es que esa notación es menos legible que CamelCase. > > ... Ahhh y más importante aún, GTK es > > > C, no C++ que no tiene mucho sentido para desarrollar aplicaciones > > gráficas, una aplciación visual se modela más claramente como un > > conjunto de objetos, GTK trata de imitar este comportamiento. En este > > caso es mejor usar gtkmm que son los bindings de C++. > > GTK+ esta escrito en C y eso tiene la ventaja de que es muy fácil > hacer bindings para otro lenguajes. En consecuencia, GTK+ tiene más y > mejores bindings en otros lenguajes. Si usted usa GTK+ desde otro > lenguaje usará el modelo de objetos del lenguaje que esté usando. GTK+ > es una librería completamente orientada a objetos, así que se integra > muy bien en lenguajes como Java y C#. > Tienes a la mano una tabla comparativa que demuestre que hay más bindings para otros lenguajes para GTK que para Qt? yo no puedo asegurar eso a menos que tenga una base para decirlo. Lo que sí puedo decir es qué bindings existen para Qt pero sin asegurar que sean más o menos que los de GTK. Los que yo sé que tiene Qt son: java, perl, python, C#, ruby y lua. > > > ... Una consecuencia > > de esto es que el manejo de eventos se hace con callbacks más > > conocidos como apuntadores a funciones, en Qt se hace con un mecanísmo > > llamado "signals and slots", en el cuál un objeto emite señales (ej. > > click en un boton), y estas se conectan a otros objetos para que > > ejecuten un método específico (los slots), todo se hace en una linea > > de código por función. > > De nuevo, esto depende del lenguaje en que use GTK+. Por ejemplo en C > se usan callbacks, pero en C# se usan eventos y delegados. En java se > usan interfaces, en Python se usan objetos función. > > Exactamente, yo estaba hablando de C, no de ninguno de los demás. Cuando te refieres a interfaces en Java debe ser el mismo mecanismo o similar a swing ? de ser así es muy complejo de utilizar. > En resumen creo que una ventaja de GTK+ es que tiene un mejor soporte > para otros lenguajes de programación. Con esto no quiero decir que no > existan bindings de Qt para otros lenguajes, sólo que no para tantos y > no están tan soportados. > Nuevamente, me gustaría que sustentes este punto. > No conozco tanto Qt como para decir sus desventajas, pero una que yo > le veo es que si usted desarrolla con Qt tiene que usar > obligatoriamente la licencia GPL (o QPL que es casi lo mismo
Re: [colibri] Hacer Guis con Gtk+ Java
De todo corazón les doy muchas gracias, me pondré a investigar mas sobre las dos librerias y como dicen por hay tomare la que mas se amolde a mi proyecto de software. :P Jonathan Orlando Rodriguez Paipa -- "cada movimiento que se tiene de la vida, genera consecuencias, estas son buenas y malas pero definitivamente esta es sin palabras ya que la libertad solo se alcanza de una forma, estrellandose con las desiciones, asi a los demas les paresca terco..." Miembro de Camayihi www.camayihi.org Linux user # 458151 ___ Lista de correo de Colibri Colibri@listas.el-directorio.org http://listas.el-directorio.org/cgi-bin/mailman/listinfo/colibri El Directorio, el sitio del Software Libre en Colombia: http://www.el-directorio.org
Re: [colibri] Hacer Guis con Gtk+ Java
Hola. Mi caso es el opuesto al de Juan Luis. En algún momento tuve la oportunidad de probar ambas y al final me decidí por GTK+. Eso fue hace mucho tiempo así que, de la misma manera, desconozco muchas cosas sobre Qt. Así que voy a poner mi opinión para tener un mejor punto de comparación. Primero, unos comentarios sobre lo que dice Juan Luis 2008/4/30 Juan Luis Baptiste <[EMAIL PROTECTED]>: > Yo recomendaría QtJambi [1], es una versión de Qt > en Java, ojo *no* es un binding the Java para Qt, entonces la > penalidad de comunicarse con Qt con el caso que decían antes de GTK > no existe. No entiendo a que se refieren con lo de "tener que comunicarse con GTK". Usando el binding adecuado no es necesario tener que comunicarse ni nada, todo se usa transparentemente. En mi opinión es mucho mejor usar bindings que librerías nativas ya que el desempeño es mucho mejor, por eso las aplicaciones SWING parecen tan lentas. > ... > empecé a desarrollar en linux hace varios años probé ambas, y se me > hizo mucho más sencillo la librería qt, más ordenada, más completa, > con un mejor soporte multiplataforma (por ejemplo la integración con > cada s.o., look & feel, dialogos de abrir/guardar, etc) y más claro de > entender el código escrito, Qt utiliza la misma nomenclatura de Java > CamelCase que llaman, en GTK es algo como > "pintar_ventana_configuracion_aplicacion" cosas así, que hacen el > código menos legible en mi opinión El estilo de notación es algo que depende del lenguaje en el que se use GTK+, cuando se usa en C o en Python se usa la notación_con_guiones_bajos, cuando se usa en Java o C# se usa el estilo CamelCase, por ejemplo, miren la documentacion de los bindings de GTK para Java: http://java-gnome.sourceforge.net/4.0/doc/api/overview-summary.html A mi modo de ver GTK+ es una librería increíblemente clara, su código fuente es una de las piezas más lindas de código que he visto. > ... Ahhh y más importante aún, GTK es > C, no C++ que no tiene mucho sentido para desarrollar aplicaciones > gráficas, una aplciación visual se modela más claramente como un > conjunto de objetos, GTK trata de imitar este comportamiento. En este > caso es mejor usar gtkmm que son los bindings de C++. GTK+ esta escrito en C y eso tiene la ventaja de que es muy fácil hacer bindings para otro lenguajes. En consecuencia, GTK+ tiene más y mejores bindings en otros lenguajes. Si usted usa GTK+ desde otro lenguaje usará el modelo de objetos del lenguaje que esté usando. GTK+ es una librería completamente orientada a objetos, así que se integra muy bien en lenguajes como Java y C#. > ... Una consecuencia > de esto es que el manejo de eventos se hace con callbacks más > conocidos como apuntadores a funciones, en Qt se hace con un mecanísmo > llamado "signals and slots", en el cuál un objeto emite señales (ej. > click en un boton), y estas se conectan a otros objetos para que > ejecuten un método específico (los slots), todo se hace en una linea > de código por función. De nuevo, esto depende del lenguaje en que use GTK+. Por ejemplo en C se usan callbacks, pero en C# se usan eventos y delegados. En java se usan interfaces, en Python se usan objetos función. > Adicionalmente, tampoco es type-safe lo que la > hace más propensa a crashes, Qt en muchos de los casos sí verifica > automáticamente los tipos pasados a las funciones y evita que esto > pase. Y una vez mas esto depende del lenguaje. En C se usa un control mediano de los tipos. En Python el manejo de tipos es completamente laxo. En Java y C# el manejo de tipos es muy fuerte. En resumen creo que una ventaja de GTK+ es que tiene un mejor soporte para otros lenguajes de programación. Con esto no quiero decir que no existan bindings de Qt para otros lenguajes, sólo que no para tantos y no están tan soportados. No conozco tanto Qt como para decir sus desventajas, pero una que yo le veo es que si usted desarrolla con Qt tiene que usar obligatoriamente la licencia GPL (o QPL que es casi lo mismo) o de lo contrario pagar una licencia comercial. Una ventaja que yo le veo a Qt es que tiene mejor portabilidad. Por lo menos creo que en el caso de Java, los bindings de Gnome no funcionan en Windows. He escuchado que el soporte del canvas de Qt es muy chévere. Una ventaja de GTK es que es ligeramente más popular, esto representa más ejemplos de programas, más librerías de terceros y más soporte de la comunidad. En definitivamente ambas librerías son muy buenas. Lo que más le recomiendo es que, al igual que hicimos Juan Luis y yo, las pruebe ambas y se quedes con la que más le guste. Un saludo. Manuel. -- · Manuel Alejandro Cerón Estrada · [EMAIL PROTECTED] · http://ceronman.freaks-unidos.net ___ Lista de correo de Colibri Colibri@listas.el-directorio.org http://listas.el-directorio.org/cgi-bin/mailman/listinfo/colibri El Directorio, el sitio del Software Libre en Colombia: http://www.el-directorio.org
Re: [colibri] Hacer Guis con Gtk+ Java
2008/4/30 Jonathan Rodriguez <[EMAIL PROTECTED]>: > tienes algunos manuales a la mano, y con algunos ejemplos???... > No sé si esta respuesta se refiere a lo último que yo escribí dado que quitaron todo el contenido del hilo, pero de ser así, en la página que referencié hay muchísima información. Algunos links más directos: Para empezar unos demos webstart: http://dist.trolltech.com/developer/download/webstart/index.html Documentación más completa: Tutorial: http://doc.trolltech.com/qtjambi-4.3.2_01/com/trolltech/qt/qtjambi-tutorial1.html # Qt Jambi In Depth http://trolltech.com/products/qt/jambi/resolveuid/c4c14fe5c69789720192664e74d3ea0c # Qt Jambi Documentation http://doc.trolltech.com/qtjambi/com/trolltech/qt/qtjambi-index.html # Qt Jambi Whitepaper http://trolltech.com/products/qt/learnmore/whitepapers/whitepapers Había en algún lado una comparación de la cantidad de código que habia que escribir para un "hola mundo" en Java swing, SWT y QtJambi, en donde uno venía que la cantidad de código del último era casl la mitad pero no logro encontrarlo :( Saludos, -- Juan Luis Baptiste ___ Lista de correo de Colibri Colibri@listas.el-directorio.org http://listas.el-directorio.org/cgi-bin/mailman/listinfo/colibri El Directorio, el sitio del Software Libre en Colombia: http://www.el-directorio.org
Re: [colibri] Hacer Guis con Gtk+ Java
2008/4/30 Jonathan Rodriguez <[EMAIL PROTECTED]>: > Pues Si me gustan las interfaces que trae java por defecto, pero es que me > quiero meter mas en el cuento de gtk + gnome+ java y generar un proyecto, > mas adelante, es que las librerias de gtk son muy bellas. > Creo que nunca has mirado Qt, te las recomiendo muchísimo. Cuando yo empecé a desarrollar en linux hace varios años probé ambas, y se me hizo mucho más sencillo la librería qt, más ordenada, más completa, con un mejor soporte multiplataforma (por ejemplo la integración con cada s.o., look & feel, dialogos de abrir/guardar, etc) y más claro de entender el código escrito, Qt utiliza la misma nomenclatura de Java CamelCase que llaman, en GTK es algo como "pintar_ventana_configuracion_aplicacion" cosas así, que hacen el código menos legible en mi opinión. Ahhh y más importante aún, GTK es C, no C++ que no tiene mucho sentido para desarrollar aplicaciones gráficas, una aplciación visual se modela más claramente como un conjunto de objetos, GTK trata de imitar este comportamiento. En este caso es mejor usar gtkmm que son los bindings de C++. Una consecuencia de esto es que el manejo de eventos se hace con callbacks más conocidos como apuntadores a funciones, en Qt se hace con un mecanísmo llamado "signals and slots", en el cuál un objeto emite señales (ej. click en un boton), y estas se conectan a otros objetos para que ejecuten un método específico (los slots), todo se hace en una linea de código por función. Adicionalmente, tampoco es type-safe lo que la hace más propensa a crashes, Qt en muchos de los casos sí verifica automáticamente los tipos pasados a las funciones y evita que esto pase. En fin, desde mi punto de vista limitado, hay muchas razones por las cuales usar Qt en vez de GTK. No sé que ventajas tenga GTK sobre Qt, todo lo que estoy diciendo es en base a mi corto acercamiento a esa librería y a documentación que he encontrado en Internet preparando algunas charlas que he dado sobre el tema. Saludos, -- Juan Luis Baptiste ___ Lista de correo de Colibri Colibri@listas.el-directorio.org http://listas.el-directorio.org/cgi-bin/mailman/listinfo/colibri El Directorio, el sitio del Software Libre en Colombia: http://www.el-directorio.org
Re: [colibri] Hacer Guis con Gtk+ Java
tienes algunos manuales a la mano, y con algunos ejemplos???... Jonathan Orlando Rodriguez Paipa -- "cada movimiento que se tiene de la vida, genera consecuencias, estas son buenas y malas pero definitivamente esta es sin palabras ya que la libertad solo se alcanza de una forma, estrellandose con las desiciones, asi a los demas les paresca terco..." Miembro de Camayihi www.camayihi.org Linux user # 458151 http://clicenelverso.blogspot.com/ ___ Lista de correo de Colibri Colibri@listas.el-directorio.org http://listas.el-directorio.org/cgi-bin/mailman/listinfo/colibri El Directorio, el sitio del Software Libre en Colombia: http://www.el-directorio.org
Re: [colibri] Hacer Guis con Gtk+ Java
2008/4/30 Gloria Meneses <[EMAIL PROTECTED]>: > Hola > > Necesitas que sea GTK? si no es obligatorio GTK, usa mas bien las API > nativas de Java para construir interfaces graficas.(AWT, Swing, SWT). Estas > API traen widgets, ventanas botones.. todas esas cosdas que se necesutan > para interfaces Graficas de usuario. A demas te evitas el paso de comunicar > Java con GTK. > > El problema es que AWT es muy limitado y swing es muy complejo, empezando por la manera en que se manejan los eventos con los event listeners y ni hablar de los dichosos layouts que son supremamente complicados de usar. Yo recomendaría QtJambi [1], es una versión de Qt en Java, ojo *no* es un binding the Java para Qt, entonces la penalidad de comunicarse con Qt con el caso que decían antes de GTK no existe. Las herramientas de desarrollo son muy buenas, empezando por el RAD designer que tiene, no conosco alguna otra herramienta de software libre que se acerque a lo que esta puede hacer. [1] http://trolltech.com/products/qt/jambi http://guevoneandojava.blogspot.com/2008/01/qtjambi-y-eclipse.html Yo voy a dar un taller sobre esto en Campus Party por si a alguien le interesa. Saludos, -- Juan Luis Baptiste ___ Lista de correo de Colibri Colibri@listas.el-directorio.org http://listas.el-directorio.org/cgi-bin/mailman/listinfo/colibri El Directorio, el sitio del Software Libre en Colombia: http://www.el-directorio.org
Re: [colibri] Hacer Guis con Gtk+ Java
Pues Si me gustan las interfaces que trae java por defecto, pero es que me quiero meter mas en el cuento de gtk + gnome+ java y generar un proyecto, mas adelante, es que las librerias de gtk son muy bellas. Jonathan Orlando Rodriguez Paipa -- "cada movimiento que se tiene de la vida, genera consecuencias, estas son buenas y malas pero definitivamente esta es sin palabras ya que la libertad solo se alcanza de una forma, estrellandose con las desiciones, asi a los demas les paresca terco..." Miembro de Camayihi www.camayihi.org Linux user # 458151 http://clicenelverso.blogspot.com/ ___ Lista de correo de Colibri Colibri@listas.el-directorio.org http://listas.el-directorio.org/cgi-bin/mailman/listinfo/colibri El Directorio, el sitio del Software Libre en Colombia: http://www.el-directorio.org
Re: [colibri] Hacer Guis con Gtk+ Java
Hola Necesitas que sea GTK? si no es obligatorio GTK, usa mas bien las API nativas de Java para construir interfaces graficas.(AWT, Swing, SWT). Estas API traen widgets, ventanas botones.. todas esas cosdas que se necesutan para interfaces Graficas de usuario. A demas te evitas el paso de comunicar Java con GTK. 2008/4/30 Manuel Alejandro Cerón Estrada <[EMAIL PROTECTED]>: > Puede aprender de Java y GTK+ en la pagina oficial de los bindings: > > http://java-gnome.sourceforge.net/ > > Como dato interesante, podría usar SWT que es un toolkit gráfico para > Java que usa widgets nativos y en el caso de Linux usa GTK. Es el > toolkit en el que está hecho Eclipse: > > http://www.eclipse.org/swt/ > > Manuel > > El día 30 de abril de 2008 7:53, Jonathan Rodriguez > <[EMAIL PROTECTED]> escribió: > > Hola Lista me pueden aconsejar sobre como crear guis con gtk, e > integrarlas > > con codigo java. :P > > > > -- > > "cada movimiento que se tiene de la vida, genera consecuencias, estas son > > buenas y malas pero definitivamente esta es sin palabras ya que la > > libertad solo se alcanza de una forma, estrellandose con las desiciones, > asi > > a los demas les paresca terco..." > > > > Miembro de Camayihi > > www.camayihi.org > > Linux user # 458151 > > > > > > ___ > > Lista de correo de Colibri > > Colibri@listas.el-directorio.org > > http://listas.el-directorio.org/cgi-bin/mailman/listinfo/colibri > > > > El Directorio, el sitio del Software Libre en Colombia: > > http://www.el-directorio.org > > > > > > -- > · Manuel Alejandro Cerón Estrada > · [EMAIL PROTECTED] > · http://ceronman.freaks-unidos.net > > ___ > Lista de correo de Colibri > Colibri@listas.el-directorio.org > http://listas.el-directorio.org/cgi-bin/mailman/listinfo/colibri > > El Directorio, el sitio del Software Libre en Colombia: > http://www.el-directorio.org > -- + Software Libre en Colombia http://el-directorio.org + OLPC Colombia http://wiki.laptop.org/go/OLPC_Colombia + Mujeres en el software libre http://www.chicaslinux.org ___ Lista de correo de Colibri Colibri@listas.el-directorio.org http://listas.el-directorio.org/cgi-bin/mailman/listinfo/colibri El Directorio, el sitio del Software Libre en Colombia: http://www.el-directorio.org
Re: [colibri] Hacer Guis con Gtk+ Java
Puede aprender de Java y GTK+ en la pagina oficial de los bindings: http://java-gnome.sourceforge.net/ Como dato interesante, podría usar SWT que es un toolkit gráfico para Java que usa widgets nativos y en el caso de Linux usa GTK. Es el toolkit en el que está hecho Eclipse: http://www.eclipse.org/swt/ Manuel El día 30 de abril de 2008 7:53, Jonathan Rodriguez <[EMAIL PROTECTED]> escribió: > Hola Lista me pueden aconsejar sobre como crear guis con gtk, e integrarlas > con codigo java. :P > > -- > "cada movimiento que se tiene de la vida, genera consecuencias, estas son > buenas y malas pero definitivamente esta es sin palabras ya que la > libertad solo se alcanza de una forma, estrellandose con las desiciones, asi > a los demas les paresca terco..." > > Miembro de Camayihi > www.camayihi.org > Linux user # 458151 > > > ___ > Lista de correo de Colibri > Colibri@listas.el-directorio.org > http://listas.el-directorio.org/cgi-bin/mailman/listinfo/colibri > > El Directorio, el sitio del Software Libre en Colombia: > http://www.el-directorio.org > -- · Manuel Alejandro Cerón Estrada · [EMAIL PROTECTED] · http://ceronman.freaks-unidos.net ___ Lista de correo de Colibri Colibri@listas.el-directorio.org http://listas.el-directorio.org/cgi-bin/mailman/listinfo/colibri El Directorio, el sitio del Software Libre en Colombia: http://www.el-directorio.org
Re: [colibri] Hacer Guis con Gtk+ Java
yo lo decia por el primer link, que me paso Diego, lo que pasa es que necesito aprender gtk y pues el link que me postearon de una animacion que intuitivo se ve, gracias. > > > > > -- > Diego Andrés Sanabria > Ingenieria de Sistemas Universidad Distrital > blog tragico magico comico musical: http://diegueus9.blogspot.com > blog geek: pyautoservicio.blogspot.com > cel 3015290609 > > http://www.el-directorio.org/Diegueus9 > El sitio de linux y el Software Libre en Colombia > > "Hay pecados cuya fascinación está más en el recuerdo que en la > comisión de ellos." Oscar Wilde > > ___ > Lista de correo de Colibri > Colibri@listas.el-directorio.org > http://listas.el-directorio.org/cgi-bin/mailman/listinfo/colibri > > El Directorio, el sitio del Software Libre en Colombia: > http://www.el-directorio.org > -- "cada movimiento que se tiene de la vida, genera consecuencias, estas son buenas y malas pero definitivamente esta es sin palabras ya que la libertad solo se alcanza de una forma, estrellandose con las desiciones, asi a los demas les paresca terco..." Miembro de Camayihi www.camayihi.org Linux user # 458151 http://clicenelverso.blogspot.com/ ___ Lista de correo de Colibri Colibri@listas.el-directorio.org http://listas.el-directorio.org/cgi-bin/mailman/listinfo/colibri El Directorio, el sitio del Software Libre en Colombia: http://www.el-directorio.org
Re: [colibri] Hacer Guis con Gtk+ Java
Que necesitas de más??? el enlace lo dice todo, paso a paso... glade es lo mejor para crear interfaces con gtk 2008/4/30 Jonathan Rodriguez <[EMAIL PROTECTED]>: > Gracias por el link, pero es que necesito encontrar algo mas. :P > > > > -- > "cada movimiento que se tiene de la vida, genera consecuencias, estas son > buenas y malas pero definitivamente esta es sin palabras ya que la > libertad solo se alcanza de una forma, estrellandose con las desiciones, asi > a los demas les paresca terco..." > > Miembro de Camayihi > www.camayihi.org > Linux user # 458151 > http://clicenelverso.blogspot.com/ > ___ > Lista de correo de Colibri > Colibri@listas.el-directorio.org > http://listas.el-directorio.org/cgi-bin/mailman/listinfo/colibri > > El Directorio, el sitio del Software Libre en Colombia: > http://www.el-directorio.org > -- Diego Andrés Sanabria Ingenieria de Sistemas Universidad Distrital blog tragico magico comico musical: http://diegueus9.blogspot.com blog geek: pyautoservicio.blogspot.com cel 3015290609 http://www.el-directorio.org/Diegueus9 El sitio de linux y el Software Libre en Colombia "Hay pecados cuya fascinación está más en el recuerdo que en la comisión de ellos." Oscar Wilde ___ Lista de correo de Colibri Colibri@listas.el-directorio.org http://listas.el-directorio.org/cgi-bin/mailman/listinfo/colibri El Directorio, el sitio del Software Libre en Colombia: http://www.el-directorio.org
Re: [colibri] Hacer Guis con Gtk+ Java
http://people.redhat.com/overholt/nativeeclipse/index.html ;) 2008/4/30 Diego Andrés Sanabria Martin (diegueus9) <[EMAIL PROTECTED]>: > > http://jorgesoftwarelibre.wordpress.com/2007/06/18/como-crear-programas-java-con-gui-utilizando-gcj-glade-y-gtk/ > > 2008/4/30 Jonathan Rodriguez <[EMAIL PROTECTED]>: > > Hola Lista me pueden aconsejar sobre como crear guis con gtk, e > integrarlas > > con codigo java. :P > > > > -- > > "cada movimiento que se tiene de la vida, genera consecuencias, estas > son > > buenas y malas pero definitivamente esta es sin palabras ya que la > > libertad solo se alcanza de una forma, estrellandose con las desiciones, > asi > > a los demas les paresca terco..." > > > > Miembro de Camayihi > > www.camayihi.org > > Linux user # 458151 > > > > > > ___ > > Lista de correo de Colibri > > Colibri@listas.el-directorio.org > > http://listas.el-directorio.org/cgi-bin/mailman/listinfo/colibri > > > > El Directorio, el sitio del Software Libre en Colombia: > > http://www.el-directorio.org > > > > > > -- > Diego Andrés Sanabria > Ingenieria de Sistemas Universidad Distrital > blog tragico magico comico musical: http://diegueus9.blogspot.com > blog geek: pyautoservicio.blogspot.com > cel 3015290609 > > http://www.el-directorio.org/Diegueus9 > El sitio de linux y el Software Libre en Colombia > > "Hay pecados cuya fascinación está más en el recuerdo que en la > comisión de ellos." Oscar Wilde > > ___ > Lista de correo de Colibri > Colibri@listas.el-directorio.org > http://listas.el-directorio.org/cgi-bin/mailman/listinfo/colibri > > El Directorio, el sitio del Software Libre en Colombia: > http://www.el-directorio.org > ___ Lista de correo de Colibri Colibri@listas.el-directorio.org http://listas.el-directorio.org/cgi-bin/mailman/listinfo/colibri El Directorio, el sitio del Software Libre en Colombia: http://www.el-directorio.org
Re: [colibri] Hacer Guis con Gtk+ Java
Gracias por el link, pero es que necesito encontrar algo mas. :P -- "cada movimiento que se tiene de la vida, genera consecuencias, estas son buenas y malas pero definitivamente esta es sin palabras ya que la libertad solo se alcanza de una forma, estrellandose con las desiciones, asi a los demas les paresca terco..." Miembro de Camayihi www.camayihi.org Linux user # 458151 http://clicenelverso.blogspot.com/ ___ Lista de correo de Colibri Colibri@listas.el-directorio.org http://listas.el-directorio.org/cgi-bin/mailman/listinfo/colibri El Directorio, el sitio del Software Libre en Colombia: http://www.el-directorio.org
Re: [colibri] Hacer Guis con Gtk+ Java
http://jorgesoftwarelibre.wordpress.com/2007/06/18/como-crear-programas-java-con-gui-utilizando-gcj-glade-y-gtk/ 2008/4/30 Jonathan Rodriguez <[EMAIL PROTECTED]>: > Hola Lista me pueden aconsejar sobre como crear guis con gtk, e integrarlas > con codigo java. :P > > -- > "cada movimiento que se tiene de la vida, genera consecuencias, estas son > buenas y malas pero definitivamente esta es sin palabras ya que la > libertad solo se alcanza de una forma, estrellandose con las desiciones, asi > a los demas les paresca terco..." > > Miembro de Camayihi > www.camayihi.org > Linux user # 458151 > > > ___ > Lista de correo de Colibri > Colibri@listas.el-directorio.org > http://listas.el-directorio.org/cgi-bin/mailman/listinfo/colibri > > El Directorio, el sitio del Software Libre en Colombia: > http://www.el-directorio.org > -- Diego Andrés Sanabria Ingenieria de Sistemas Universidad Distrital blog tragico magico comico musical: http://diegueus9.blogspot.com blog geek: pyautoservicio.blogspot.com cel 3015290609 http://www.el-directorio.org/Diegueus9 El sitio de linux y el Software Libre en Colombia "Hay pecados cuya fascinación está más en el recuerdo que en la comisión de ellos." Oscar Wilde ___ Lista de correo de Colibri Colibri@listas.el-directorio.org http://listas.el-directorio.org/cgi-bin/mailman/listinfo/colibri El Directorio, el sitio del Software Libre en Colombia: http://www.el-directorio.org