Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Python (https://www.clubdelphi.com/foros/forumdisplay.php?f=46)
-   -   Aplicaciones para escritorio con Python (https://www.clubdelphi.com/foros/showthread.php?t=73139)

Julián 02-04-2011 21:53:52

Aplicaciones para escritorio con Python
 
Supongamos que hay una base de datos, por ejemplo oracle, y supongamos que tenemos que hacer una aplicacion que pueda conectarse a ella para hacer cualquier cosa. Y supongamos que queremos tener una aplicación que pieuda ejecutarse en Windows, como las que podemos hacer con Delphi, o sea, con ventanas, buttons, richedits y cosas de esas. Sin usar el api de windows, claro, pues nos gustaría que dicha aplicación pudiera ejecutarse tambien, aunque hubiera que compilarla o lo que fuera, sobre Linux, o sobre OSX, incluso sobre Android.

¿Sirve Python pa una cosa así?
¿Necesitaría usar algún "set de widgets"o algo así? ?Cual?
¿Es Python la mejor elección para eso?

Vuestros consejos serán bienvenidos y agradecidos. La humanidad lo hará. :D

D-MO 02-04-2011 22:22:45

Primero, Python no se compila (al menos no de manera explícita), basta con que ejecutes python micodigo.py para que el interprete compile (o traduzca a bytecode).

Para acceso a datos, algunos recomiendan SQLAlchemy, yo la verdad lo he usado poco, me ha bastado con el ORM de django (me muevo en la web), sin embargo está en mi lista de estudio pendiente.

Para el escritorio, wxPython, pyGtk, pyQT, y un largo etcétera de posibilididades

wxPython es el que he usado (en mis pruebas), pyGtk no me gustó :D, pyQt lo tengo pendiente, pero se ve prometedor el diseñador para QT de Nokia, ya lo instalé pero a decir verdad no lo he tocado.

Decir que es la mejor elección, la verdad no se, es probable que para algunos si y para otros no, sin embargo, una buena elección si es.

Saludos.

D-MO 02-04-2011 22:38:02

Por cierto, SQLAlchemy abstrae el acceso a datos permitiendo trabajar solamente con código python, sin metermos al SQL (aunque no nos impide hacerlo). Esto permite la portabilidad entre un motor de bases de datos y otro.

Para el acceso a datos de manera tradicional podemos encontrar ayuda acá: http://wiki.python.org/moin/DatabaseProgramming/

Saludos.

mamcx 02-04-2011 22:58:03

Cita:

Empezado por Julián (Mensaje 395612)
¿Sirve Python pa una cosa así?
¿Necesitaría usar algún "set de widgets"o algo así? ?Cual?
¿Es Python la mejor elección para eso?

1. Sirve? Si.

2. Depende de....

3. Lo mejor? NO.

Es como con java. El problema NO es el lenguaje como tal. Es la integración con la interface gráfica. La parte que mata la idea de la multiplataforma en desktop es que la unica forma de lograrlo es apuntando a minimo comun denominador, o sea, a lo mediocre.

El resultado varia mucho entre plataformas. Por lo que veo, el MEJOR soporte (y por mucho) es en OSX. Puedes hacer aplicaciones en python+coccoa que son idistingibles de las hechas en Obj-C.

Con Linux, es la misma bobada de siempre...

Con windows, puede lograrse algo similar, pero, no existe algo como la integracion de serie que hace apple con osx... asi que hay que esforzarse mas.

De todas maneras, si la GUI es simple y te conformas con lo que se puede hacer con QT o WX, aqui estan las opciones:

http://wiki.python.org/moin/GuiProgramming

(Tengo entendido que las mejores opciones son con WX, Qt y Coccoa -osx)


Y con la idea de ejecutar una app de escritorio en un movil? Porfa, olvidalo!
----------

Sin embargo una opcion muy practica, es hacer como hago con BestSeller: La interface grafica en la plataforma "aprovada" del OS (en mi caso, Delphi) y logica en python. Puede usarse algo como Python for delphi y funciona muy bien.

De hecho, python es muy popular como lenguaje embeido dentro de un host hecho en C++ (o delphi) y asi es como funciona la cosa en Blender, por ejemplo.

La logica de negocios y la parte no visual porta muy facil. La interface grafica, siempre es mejor adaptarla a cada ambiente y OS. O realmente te gustaria un boton "Inicio" en tu app de Linux :D


La franja horaria es GMT +2. Ahora son las 23:31:15.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi