• Lunes 18 de Noviembre de 2024, 04:40

Autor Tema:  Gui De Aplicaciones Multiplataforma  (Leído 3889 veces)

x.cyclop

  • Miembro de PLATA
  • *****
  • Mensajes: 1039
  • Nacionalidad: mx
    • Ver Perfil
Gui De Aplicaciones Multiplataforma
« en: Lunes 19 de Junio de 2006, 08:19 »
0
¿Cómo se hace el GUI de una aplicación multiplataforma sin que requiera nada?

Por ej. Firefox sirve para Windows, GNU/Linux y Mierdintosh.

¿Cómo hicieron el GUI?

No creo que lo hayan hecho en VC++ porque no se ejecutaría fuera de Windows. Y si fuera con KDevelop/Glade, para ejecutarse en Windows necesitarías Qt/Gtk y no la necesitas.

 :blink:  :unsure:

- Great works aren't produced on the first try. [Ernest Hemingway]
- Be ambitious, yet realistic in your dreams. Do something that makes a positive impact. Don’t let the nay-sayers get you down. [Bjarne Stroustrup]

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Gui De Aplicaciones Multiplataforma
« Respuesta #1 en: Lunes 19 de Junio de 2006, 17:21 »
0
java, los temas de firefox vienen empaquetados en .jar
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Gui De Aplicaciones Multiplataforma
« Respuesta #2 en: Lunes 19 de Junio de 2006, 17:28 »
0
La verdad es que no se mucho sobre el Firefox pero esto puede ser util:

http://developer.mozilla.org/en/docs/Windo...d_Prerequisites

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

su -

  • Moderador
  • ******
  • Mensajes: 2349
    • Ver Perfil
Re: Gui De Aplicaciones Multiplataforma
« Respuesta #3 en: Lunes 19 de Junio de 2006, 17:44 »
0
Cita de: "X.Cyclop"
¿Cómo se hace el GUI de una aplicación multiplataforma sin que requiera nada?

Por ej. Firefox sirve para Windows, GNU/Linux y Mierdintosh.

¿Cómo hicieron el GUI?

No creo que lo hayan hecho en VC++ porque no se ejecutaría fuera de Windows. Y si fuera con KDevelop/Glade, para ejecutarse en Windows necesitarías Qt/Gtk y no la necesitas.

 :blink:  :unsure:
TK, nadie escapo de los 80's, realmente no hay un estandar, solo es una red de librerias que "generalisan" el API madre del SO, como Qt, para Unix usa X, Windows WinAPI, para Mac Carbono/Cocoa...
Tk hace esta funcion... pero usalo  :lol:
Tk es universal tool kit, pero no se si hay para C/C++
*******PELIGRO LEE ESTO!!*******

There is no place like 127.0.0.1

Conecto luego existo, no conecto luego insisto.

x.cyclop

  • Miembro de PLATA
  • *****
  • Mensajes: 1039
  • Nacionalidad: mx
    • Ver Perfil
Re: Gui De Aplicaciones Multiplataforma
« Respuesta #4 en: Lunes 19 de Junio de 2006, 17:54 »
0
Java no creo porque se ejecuta sin el JVM.

Tk tampoco porque solo hay para Ruby, Perl y Python.

Creo que con esto, pero no estoy seguro: http://en.wikipedia.org/wiki/WxWidgets :blink:

Exactamente ¿cómo hace el  WxWidgets? ¿Para ejecutar una aplicación hecha con esto se necesitan librerías del mismo?

Por ej. El Code::Blocks está hecho con WxWidgets, ¿se necesitan librerías de WxWidgets para poder ejecutarlo o este "transoforma" el código de acuerdo al sistema operativo? :unsure:

- Great works aren't produced on the first try. [Ernest Hemingway]
- Be ambitious, yet realistic in your dreams. Do something that makes a positive impact. Don’t let the nay-sayers get you down. [Bjarne Stroustrup]

su -

  • Moderador
  • ******
  • Mensajes: 2349
    • Ver Perfil
Re: Gui De Aplicaciones Multiplataforma
« Respuesta #5 en: Lunes 19 de Junio de 2006, 18:35 »
0
Cita de: "X.Cyclop"
Java no creo porque se ejecuta sin el JVM.

Tk tampoco porque solo hay para Ruby, Perl y Python.

Creo que con esto, pero no estoy seguro: http://en.wikipedia.org/wiki/WxWidgets :blink:

Exactamente ¿cómo hace el  WxWidgets? ¿Para ejecutar una aplicación hecha con esto se necesitan librerías del mismo?

Por ej. El Code::Blocks está hecho con WxWidgets, ¿se necesitan librerías de WxWidgets para poder ejecutarlo o este "transoforma" el código de acuerdo al sistema operativo? :unsure:
Estas mal, mira wxWidgets es especifico, es como un Tk, pero el dll/so queda para Win32, Mac OS X, GTK+, X11, Motif o WinCE, wxWidgets tiene que ser compilado para cada ocasion, al igal que en Tk, el dll/so queda en el compilado, o tiene que ser requerido como dependencia, tal como hace Audacity
Citar
wxWidgets uses the platform's own native controls rather than emulating them. It's also extensive, free, open-source, and mature.
No podes programa GUI en Windows para Mac o en Gnu/Linux para Windows, ameno que lo emules, claro esta, pero aun asi no es lo mismo.
http://freshmeat.net/redir/fltk/2758/url_h...ge/www.fltk.org  :rolleyes:
Citar
Por ej. El Code::Blocks está hecho con WxWidgets, ¿se necesitan librerías de WxWidgets para poder ejecutarlo o este "transoforma" el código de acuerdo al sistema operativo?
Como dije, esta incluido en el binario, o tienen un .so/dll en el cual esta la libreria comopilada para cada plataforma, no podes hacer ejecutables de Win* en Gnu/Linux o de Mac en Gnu/Linux, incluso no se puede en *BSD.
*******PELIGRO LEE ESTO!!*******

There is no place like 127.0.0.1

Conecto luego existo, no conecto luego insisto.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Gui De Aplicaciones Multiplataforma
« Respuesta #6 en: Lunes 19 de Junio de 2006, 19:10 »
0
Bueno insistí en lo de java por lo de los .jar, pero he desempaquetado el jar del tema Noia Xtreme y me he dado una sorpresa.

Al parecer no se usa ningún lenguaje en particular, al revisar el contenido del jar solo estan desde luego los archivos de imagenes y...

Unos archivs.rdf que al editarlos son finalmente XML utilizando unas extenciones de chrome y por cada modulo del tema hay una carpeta con las correspondientes imagenes y un archivo de estilos en cascada (.css) así que la respuesta era más sencilla de lo que esperaba en un momento .

Los temas de firefox estan basados en XML y hojas de estilo en cascada(css).

Aca hay algo de informacion relacionada:

http://www.mozilla.org/support/firefox/edit
http://developer.mozilla.org/en/docs/Sunbird_Theme_Tutorialhttp://developer.mozilla.org/en/docs/Themes
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

su -

  • Moderador
  • ******
  • Mensajes: 2349
    • Ver Perfil
Re: Gui De Aplicaciones Multiplataforma
« Respuesta #7 en: Lunes 19 de Junio de 2006, 19:31 »
0
Si JuanK, pero la pregunta era el API, no el estilo.
Realmente es un dato curioso.
Citar
Tk tampoco porque solo hay para Ruby, Perl y Python.
Podes usar estos y compilarlos, o ver como funcina el API, que esta hecho en C/C++, pero es mucho camel, ademas te falto TCL, que lo podes usar con C/C++, si no estoy mal, en cuanto a los interpretadores, es igual que el API, tendrias que incluir la libreria y compilarlo para cada caso, por eso no hay un solo paquete para Windows, Gnu*, Solaris...
*******PELIGRO LEE ESTO!!*******

There is no place like 127.0.0.1

Conecto luego existo, no conecto luego insisto.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Gui De Aplicaciones Multiplataforma
« Respuesta #8 en: Lunes 19 de Junio de 2006, 19:46 »
0
Cita de: "su -"
Si JuanK, pero la pregunta era el API, no el estilo.
Realmente es un dato curioso.
Citar
Tk tampoco porque solo hay para Ruby, Perl y Python.
Podes usar estos y compilarlos, o ver como funcina el API, que esta hecho en C/C++, pero es mucho camel, ademas te falto TCL, que lo podes usar con C/C++, si no estoy mal, en cuanto a los interpretadores, es igual que el API, tendrias que incluir la libreria y compilarlo para cada caso, por eso no hay un solo paquete para Windows, Gnu*, Solaris...
Umm pero para desarrollar temas para firefox no requieres usar ninguna API, basta solo con usar XML y CSS para describir la estructura del tema.

Ya en otras cosas como por ejemplo lo que hace java, puede crear la aplicacion como quieras y le configuras el look and feel que desees, de igual forma en .NET

Desde luego para aplicaciones stand alone esos look and feel por debajo no son sino mascaras a la API de cada sistema operativo, y en lenguajes como .net y java ya viene incorporados los diferentes conportamientos de cada ´thema´y desde luego permiten crear nuevos, por eso podemos ejecutar un aplicativo java en windows y cambiar su look and feel para que se vea como estilo java, estilo wiondows etc...


Todo depende del nivel de robustes que se le de a la funcionalidad.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

x.cyclop

  • Miembro de PLATA
  • *****
  • Mensajes: 1039
  • Nacionalidad: mx
    • Ver Perfil
Re: Gui De Aplicaciones Multiplataforma
« Respuesta #9 en: Lunes 19 de Junio de 2006, 21:40 »
0
Con razón tantos themes... :D

Para extensiones basta con Xul (Xml) y Javascript.

¿Entonces Firefox (Amsn...) está hecho con WxWidgets? :blink:

- Great works aren't produced on the first try. [Ernest Hemingway]
- Be ambitious, yet realistic in your dreams. Do something that makes a positive impact. Don’t let the nay-sayers get you down. [Bjarne Stroustrup]


x.cyclop

  • Miembro de PLATA
  • *****
  • Mensajes: 1039
  • Nacionalidad: mx
    • Ver Perfil
Re: Gui De Aplicaciones Multiplataforma
« Respuesta #11 en: Lunes 19 de Junio de 2006, 22:35 »
0
Daba un poco de hueva leer todo eso. :D

Gracias.

- Great works aren't produced on the first try. [Ernest Hemingway]
- Be ambitious, yet realistic in your dreams. Do something that makes a positive impact. Don’t let the nay-sayers get you down. [Bjarne Stroustrup]

bob esponja

  • Miembro MUY activo
  • ***
  • Mensajes: 411
    • Ver Perfil
    • http://marianoguerra.blogspot.com
Re: Gui De Aplicaciones Multiplataforma
« Respuesta #12 en: Lunes 19 de Junio de 2006, 23:16 »
0
Firefox esta hecho en javascript (lenguaje), XUL (interface) y css (estilo y temas), utilizando el engine de mozilla que se llama gecko para juntar todo eso y XPCOM para darle potencia a javascript.

Geo

  • Miembro de PLATA
  • *****
  • Mensajes: 1011
  • Nacionalidad: mx
    • Ver Perfil
    • http://hsblog.mexchip.com
Re: Gui De Aplicaciones Multiplataforma
« Respuesta #13 en: Martes 20 de Junio de 2006, 05:07 »
0
Yo creo que la cosa va así: Firefox está programado en C++. En el programa implementaron un "motor" de GUI multiplataforma, que se basa en lo que mencionaron anteriormente.

Saludos,
JJ (Geo).
La imaginación es el límite.
Hardware & Software | Mexchip

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Gui De Aplicaciones Multiplataforma
« Respuesta #14 en: Martes 20 de Junio de 2006, 05:08 »
0
Cita de: "Geo"
Yo creo que la cosa va así: Firefox está programado en C++. En el programa implementaron un "motor" de GUI multiplataforma, que se basa en lo que mencionaron anteriormente.

Saludos,
JJ (Geo).
eso mismo pienso yo.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

bob esponja

  • Miembro MUY activo
  • ***
  • Mensajes: 411
    • Ver Perfil
    • http://marianoguerra.blogspot.com
Re: Gui De Aplicaciones Multiplataforma
« Respuesta #15 en: Martes 20 de Junio de 2006, 05:32 »
0
firefox usa el engine de mozilla (gecko), firefox no agrega nada nuevo al engine, de hecho firefox, seamonkey, mozilla, thunderbird y todos los demas estan programados de la misma forma, todos usan gecko e implementan las interfaces como describi arriba.

si quieren ver mas sobre eso vean aca:

http://www.georgenava.com/applauncher.php

todas esas aplicacioncitas estan hechas con XUL css y javascript.

obviamente solo se ve con browsers que usen gecko asi que IE, opera y safari abstenerce.

ahi les mando un screenshots para que se saquen las dudas
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Gui De Aplicaciones Multiplataforma
« Respuesta #16 en: Martes 20 de Junio de 2006, 05:43 »
0
claro eso mismo hemos dicho, pero la parte de los skins o del motor de GUI oo como se llame si es propia de firefox no?
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

x.cyclop

  • Miembro de PLATA
  • *****
  • Mensajes: 1039
  • Nacionalidad: mx
    • Ver Perfil
Re: Gui De Aplicaciones Multiplataforma
« Respuesta #17 en: Martes 20 de Junio de 2006, 05:44 »
0
Así es. Los themes, extensiones... están hechos con Xul (Xml), Javascript y Html/Css. :whistling:

Hubiera sido más fácil con WxWidgets. :D

- Great works aren't produced on the first try. [Ernest Hemingway]
- Be ambitious, yet realistic in your dreams. Do something that makes a positive impact. Don’t let the nay-sayers get you down. [Bjarne Stroustrup]

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Gui De Aplicaciones Multiplataforma
« Respuesta #18 en: Martes 20 de Junio de 2006, 05:45 »
0
Cita de: "X.Cyclop"
Así es. Los themes, extensiones... están hechos con Xul (Xml), Javascript y Html/Css. :whistling:
En eso estamos todos de acuerdo respecto a firefox... o no?
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

su -

  • Moderador
  • ******
  • Mensajes: 2349
    • Ver Perfil
Re: Gui De Aplicaciones Multiplataforma
« Respuesta #19 en: Martes 20 de Junio de 2006, 21:26 »
0
Cita de: "JuanK"
claro eso mismo hemos dicho, pero la parte de los skins o del motor de GUI oo como se llame si es propia de firefox no?
El GUI es repectivo a cada plataforma, bien dice ne los links que puse, para Gnu/Linux Gtk2 + libX-t, para los otros su API.
 ;)
*******PELIGRO LEE ESTO!!*******

There is no place like 127.0.0.1

Conecto luego existo, no conecto luego insisto.