Discussion:
dudas genericas sobre python
(too old to reply)
Gustavo Villada
2008-12-02 18:46:10 UTC
Permalink
Aparte de estar estrenando maquina y distro nueva (Ubuntu 8.10 64bits)
en mi casa estoy ya metido en plan de aprender python.
por ello aparte de seguir los tutoriales que aparecen en la wiki de pyar.

Me podrian comentar que frameworks existen para desarrollo de aplicaciones web?
por aplicaciones web me refiero a un sistema administrativo o similar...

IDE de desarrollo? (aparte del plugin para Eclipse)

existe alguno para el desarrollo de aplicaciones batch?

se puede en python realizar la generacion de un pdf con codigos de
barras (me estoy refiriendo a un comprobante de pago)

si por ejemplo realizo una aplicacion utilizando algun toolkit de GUI
(de los que vi en la wiki) aun considerando que python es interpretado
se puede generar un ejecutable para windows???


que URLs me recomiendan que deberia visitar... ;)

perdonen la incoherencia pero queria tener un panorama mas general
antes de volcarme al lenguaje.
Martin Ignacio Alonso
2008-12-02 18:54:51 UTC
Permalink
A ver que puedo responderte,

De frameworks web conozco poco y nada, asi que seguro va a haber mejor gente
que yo para responderte, pero puedo decir que tenes django, que es el mas
comentado por aca.

IDEs de desarrollo tenes "Eric IDE", que esta hecho en python, con Qt.
Despues podes bajarte un monton de editores de texto copado, vim, emacs,
etc. No conozco nada de aplicaciones Batch.
Ni idea si podes generar codigo de barras en pdf. Se que podes generar pdfs.
Se puede generar un ejecutable de un script python con py2exe. No es 100%
efectivo pero casi siempre anda bien.
Te recomiendo google :)

Bienvenido a la lista!


Martin Ignacio Alonso
Mariano Mara
2008-12-02 19:02:11 UTC
Permalink
Post by Martin Ignacio Alonso
A ver que puedo responderte,
De frameworks web conozco poco y nada, asi que seguro va a haber mejor
gente que yo para responderte, pero puedo decir que tenes django, que
es el mas comentado por aca.
IDEs de desarrollo tenes "Eric IDE", que esta hecho en python, con Qt.
Despues podes bajarte un monton de editores de texto copado, vim,
emacs, etc. No conozco nada de aplicaciones Batch.
Ni idea si podes generar codigo de barras en pdf. Se que podes generar pdfs.
Se puede generar un ejecutable de un script python con py2exe. No es
100% efectivo pero casi siempre anda bien.
Te recomiendo google :)
Bienvenido a la lista!
Martin Ignacio Alonso
Más que Google te recomiendo -cuando dispongás del tiempo- que le pegues
una leída al archivo de esta lista: algunos de los temas se han
discutido varias veces y gente que sabe ha escrito mucho de las
cosas que queres saber (en especial frameworks e IDEs).

Mariano.
Matigro
2008-12-02 19:04:22 UTC
Permalink
El día 2 de diciembre de 2008 15:46, Gustavo Villada
Post by Gustavo Villada
Me podrian comentar que frameworks existen para desarrollo de aplicaciones web?
por aplicaciones web me refiero a un sistema administrativo o similar...
TurboGears[1], Web2py[2], Django[3], Webpy[4]
Si es para un sistema administrativo, me inclinaría por TG y W2Py
(¡qué cool que soy!)
Post by Gustavo Villada
IDE de desarrollo? (aparte del plugin para Eclipse)
Fijate en la wiki de pyar
Post by Gustavo Villada
existe alguno para el desarrollo de aplicaciones batch?
Fijate en la wiki de pyar
Post by Gustavo Villada
se puede en python realizar la generacion de un pdf con codigos de
barras (me estoy refiriendo a un comprobante de pago)
Sip, PIL. Quizás esté matando moscas con una escopeta y haya un módulo
mas pequeño que se dedique específicamente a eso.
Post by Gustavo Villada
se puede generar un ejecutable para windows???
Si, py2exe y algún otro mas (me cabeza no recuerda tanto tanto)
Post by Gustavo Villada
que URLs me recomiendan que deberia visitar... ;)
La URL que te recomiendo es http://grulic.org.ar/lurker/list/pyar.ar.html
Es donde encontrarás todos los emails de la lista de pyar. Buscá que
están todos los temas que preguntas

Espero te sirva, y pregunte nomas, que siempre viene bien refrescar el marote.

[1] http://www.turbogears.org
[2] http://mdp.cti.depaul.edu/
[3] http://www.djangoproject.com/
[4] http://webpy.org/
[4] http://www.pythonware.com/products/pil/
--
http://www.linkedin.com/in/matigro
Ricardo Aráoz
2008-12-02 23:12:01 UTC
Permalink
Post by Matigro
El día 2 de diciembre de 2008 15:46, Gustavo Villada
Post by Gustavo Villada
Me podrian comentar que frameworks existen para desarrollo de aplicaciones web?
por aplicaciones web me refiero a un sistema administrativo o similar...
TurboGears[1], Web2py[2], Django[3], Webpy[4]
Si es para un sistema administrativo, me inclinaría por TG y W2Py
(¡qué cool que soy!)
Post by Gustavo Villada
IDE de desarrollo? (aparte del plugin para Eclipse)
Fijate en la wiki de pyar
Post by Gustavo Villada
existe alguno para el desarrollo de aplicaciones batch?
Fijate en la wiki de pyar
Post by Gustavo Villada
se puede en python realizar la generacion de un pdf con codigos de
barras (me estoy refiriendo a un comprobante de pago)
Sip, PIL. Quizás esté matando moscas con una escopeta y haya un módulo
mas pequeño que se dedique específicamente a eso.
Para generar comprobantes de pago (y para todo tipo de listado o pdf) te
conviene usar ReportLab. Si estás con aplicaciones administrativas
pegale una mirada a Dabo que es un framework para aplicaciones desktop
muy bien integrado.

HTH
Mariano Reingart
2008-12-02 22:24:45 UTC
Permalink
Post by Matigro
El día 2 de diciembre de 2008 15:46, Gustavo Villada
Post by Gustavo Villada
Me podrian comentar que frameworks existen para desarrollo de
aplicaciones web?
por aplicaciones web me refiero a un sistema administrativo o similar...
TurboGears[1], Web2py[2], Django[3], Webpy[4]
Si es para un sistema administrativo, me inclinaría por TG y W2Py
(¡qué cool que soy!)
Para sistemas administrativo no te conviene aplicación de escritorio (GUI)?
Para esto tenes WxPython, PyGTK y PyQt
Post by Matigro
Post by Gustavo Villada
IDE de desarrollo? (aparte del plugin para Eclipse)
* Idle (integrado con python)
* DrPython, SPE (StaniPythonEditor) y BoaConstructor para wx, Eric para qt
* WingIde y Komodo (estas son semi libres o pagas, pero muy completas y
con soporte para desarrollo web)
Post by Matigro
Post by Gustavo Villada
existe alguno para el desarrollo de aplicaciones batch?
En general, las mismas IDEs podes usarlas para desarrollar aplicaciones de
linea de comando, gui o webs (algunas vienen mejor integradas que otras)
Python sirve para todo :)
Post by Matigro
Post by Gustavo Villada
se puede en python realizar la generacion de un pdf con codigos de
barras (me estoy refiriendo a un comprobante de pago)
Sip, PIL. Quizás esté matando moscas con una escopeta y haya un módulo
mas pequeño que se dedique específicamente a eso.
FPDF es mucho mas simple, y ya hay varios codigos de barras desarrollados
(sin necesidad de fuentes especiales), y otros ejemplos que podes migrar
desde PHP sin problemas.

ReportLab tambien genera PDF
Post by Matigro
Post by Gustavo Villada
se puede generar un ejecutable para windows???
Si, py2exe y algún otro mas (me cabeza no recuerda tanto tanto)
Y Py2App para Mac y PyInstaller para windows y linux

Pero de aplicaciones web se te va a complicar...
Post by Matigro
Post by Gustavo Villada
que URLs me recomiendan que deberia visitar... ;)
http://wwww.python.org/
http://wiki.python.org/moin/WebProgramming
http://wiki.python.org/moin/IntegratedDevelopmentEnvironments

http://www.fpdf.org/
http://www.nsis.com.ar/public/browser/pyfpdf

Sds
Mariano
nubis
2008-12-03 13:08:54 UTC
Permalink
Post by Mariano Reingart
Post by Matigro
El día 2 de diciembre de 2008 15:46, Gustavo Villada
Post by Gustavo Villada
Me podrian comentar que frameworks existen para desarrollo de aplicaciones web?
por aplicaciones web me refiero a un sistema administrativo o similar...
TurboGears[1], Web2py[2], Django[3], Webpy[4]
Si es para un sistema administrativo, me inclinaría por TG y W2Py
(¡qué cool que soy!)
Para sistemas administrativo no te conviene aplicación de escritorio (GUI)?
Para esto tenes WxPython, PyGTK y PyQt
Y depende de lo que requieras, si la GUI la haces web:
* No tenes que generar los ejecutables para las distintas plataformas.
* No tenes que distribuir instaladores.
* No tenes que preocuparte por la version del cliente que corre la
gente, O de actualizarselo si esa version es vieja.
* Podes usar de cliente un disopsitivo movil con browser. (idealmente
con la misma gui, sino, con una hecha especialmente para moviles)
* Podes meter mucho eye candy que sale barato, y si el sistema lo
requiere, las paginas que muestran informacion sobre alguna entidad (un
usuario, un libro :P) quedan mas paquetas.
* No tenes la posibilidad de que 'el cliente' funcione mal, entonces
muchos de los llamados de soporte los puede atender cualquier tecnico
que no conoce el sistema que se asegure que la pc tiene un browser
andando e internet, y recien de ahi para adelante es tu problema.
* En vez de conseguir/entrenar varios, digamos 4, programadores
python/pygtk/pyqt/wxpython , conseguis 3 que hagan html/css/javascript
(que son mas conseguibles) y pones 1 pythonero que haga de puente entre
el server y la interfaz que hacen ellos.
* No perdes nada que si tengas en una interfaz de escritorio. (Ojo, esto
mas bien quiere decir que no perdes nada que que me *parezca* reelevante
a *mi* o los proyectos en los que trabajo/trabajaria)
* Si necesitas algun acceso local del cliente para hacerlo mas *rico*
podes apuntar ayudarte con flex o googlegears. Ahi reducis los entornos
donde el sistema corre 'full featured' (podes degradar y que siga
andando en el movil), pero seguis sin preocuparte por la
instalacion/actualizacion de esos plugins.


Nota:
Intente no ser objetivo y no darle mucha bola a mi percepcion personal,
pero no puedo evitar ser un troll, voy a necesitar su ayuda, mejor ser
ignorado que flameado, mejor ser refutado que ignorado.

desde ia' muchas gracia' :)

saludos
--
----nubis :)
http://woobiz.com.ar
Mariano Reingart
2008-12-03 13:52:33 UTC
Permalink
Post by nubis
Post by Mariano Reingart
Post by Matigro
El día 2 de diciembre de 2008 15:46, Gustavo Villada
Post by Gustavo Villada
Me podrian comentar que frameworks existen para desarrollo de aplicaciones web?
por aplicaciones web me refiero a un sistema administrativo o similar...
TurboGears[1], Web2py[2], Django[3], Webpy[4]
Si es para un sistema administrativo, me inclinaría por TG y W2Py
(¡qué cool que soy!)
Para sistemas administrativo no te conviene aplicación de escritorio
(GUI)? Para esto tenes WxPython, PyGTK y PyQt
* No tenes que generar los ejecutables para las distintas plataformas.
Si, pero tenes que preocuparte por la compatibilidad de los distintos
browser y plataformas, manejo de archivos, servicios especiales (ej.
impresora fiscal), etc.
Ademas, tenes que dimensionar bien el servidor de aplicación, balanceo de
carga, proveer cierto mecanismo de resguardo por si falla, etc.
Con esto el servidor es más dificil de instalar y administrar.
Con los ejecutables se puede distribuir bastante la carga y liberar al
servidor.
Post by nubis
* No tenes que distribuir instaladores.
No veo cual es el problema, son dos clicks para bajar e instalar un programa
en el peor de los casos. (y con python se puede hacer un
actualizador/parcheador automático)
Post by nubis
* No tenes que preocuparte por la version del cliente que corre la
gente, O de actualizarselo si esa version es vieja.
Esto para mí es una ventaja, podes tener clientes que usen versiones
estables y probar versiones betas al mismo tiempo (para algunas cosas no es
muy riesgoso).
Sino, tendrías que tener varias versiones del sitio o servidores de
aplicación, cosa que me parece mas compleja.
Post by nubis
* Podes usar de cliente un disopsitivo movil con browser. (idealmente
con la misma gui, sino, con una hecha especialmente para moviles)
Si, pero para un programa de facturación va a ser algo un poco limitado, y
despues terminas como decis, con algo hecho para moviles porque no es
totalmente compatible (por tanto js, flash, css que le hubo que agregar).
Tambien se puede hacer una interface WEB para moviles y una interface GUI
para escritorio, reutilizando el modelo, y aprovecharias lo mejor de ambos
mundos :), simplificando bastante.
Post by nubis
* Podes meter mucho eye candy que sale barato, y si el sistema lo
requiere, las paginas que muestran informacion sobre alguna entidad
(un usuario, un libro :P) quedan mas paquetas.
El eye candi en GUI creo que sale mucho mas barato y tenes mucho mas
control, no tenes que aprender CSS, Javascript, ajax, flash, sirverlight,
java, etc.,etc. (y preocuparte porque se vea igual en todas las plataformas)
En GUI tambien podes tener controles que te muestren HTML, animaciones,
sonido, etc.
Post by nubis
* No tenes la posibilidad de que 'el cliente' funcione mal, entonces
muchos de los llamados de soporte los puede atender cualquier tecnico
que no conoce el sistema que se asegure que la pc tiene un browser
andando e internet, y recien de ahi para adelante es tu problema.
Buen punto, pero yo no pagaria el precio por todo lo que estoy comentando,
por mi experiencia no es un tema significativo (salvo que trates con
"consumidores finales", o sea, usuarios particulares).
Post by nubis
* En vez de conseguir/entrenar varios, digamos 4, programadores
python/pygtk/pyqt/wxpython , conseguis 3 que hagan html/css/javascript
(que son mas conseguibles) y pones 1 pythonero que haga de puente
entre el server y la interfaz que hacen ellos.
Es discutible, porque en general terminas necesitando diseñadores web que
sepan programar y estamos en la misma.
Post by nubis
* No perdes nada que si tengas en una interfaz de escritorio. (Ojo,
esto mas bien quiere decir que no perdes nada que que me *parezca*
reelevante a *mi* o los proyectos en los que trabajo/trabajaria)
Obviamente, de hecho hay librerias javascript que te emulan un escritorio
completo.
El tema es si estas dispuesto a pagar el precio de aprender todo eso,
agregar capas de complejidad, etc.
Post by nubis
* Si necesitas algun acceso local del cliente para hacerlo mas *rico*
podes apuntar ayudarte con flex o googlegears. Ahi reducis los
entornos donde el sistema corre 'full featured' (podes degradar y que
siga andando en el movil), pero seguis sin preocuparte por la
instalacion/actualizacion de esos plugins.
Con Python y GTK/WX/QT podria correr full featured en todas las plataformas
Post by nubis
Intente no ser objetivo y no darle mucha bola a mi percepcion
personal, pero no puedo evitar ser un troll, voy a necesitar su
ayuda, mejor ser ignorado que flameado, mejor ser refutado que
ignorado.
Yo tampoco lo puedo evitar :)

Sds
Mariano
nubis
2008-12-03 17:05:10 UTC
Permalink
Post by Mariano Reingart
Post by nubis
Post by Mariano Reingart
Para sistemas administrativo no te conviene aplicación de escritorio
(GUI)? Para esto tenes WxPython, PyGTK y PyQt
* No tenes que generar los ejecutables para las distintas plataformas.
Si, pero tenes que preocuparte por la compatibilidad de los distintos
browser y plataformas,
No tenes que preocuparse de esto haciendolo web, si usa las herramientas
adecuadas, es como decir que wxPython se ve distinto en distintos
sistemas operativos. Hay muchas librerias de javascript y hojas de
estilo que resuelven esto. Y obviamente uno elige que browsers soportar,
suponiendo que es alguien que recien empieza y solo sabe python, puede
usar pyjamas[1], o en el *peor* de los casos apuntar a *un solo* browser
multiplataforma, como Firefox u Opera. (De ese modo uno sigue
reutilizando los mecanismos de instalacion/actualizacion de cada
browser)
Post by Mariano Reingart
manejo de archivos, servicios especiales (ej.
impresora fiscal), etc.
Touche, si es un sistema donde el cliente hace todo eso, hacerlo web
queda mas complicado. Depende de lo que administre dicho sistema
administrativo, se me ocurren muchos que no.
Y si uno ya tiene el sistema hecho con una GUI web y surgen estas
necesidades, se podria tener extensiones al cliente (plugins del browser
o servidorcitos locales). Se siguen aprovechando las ventajas de usar la
GUI web, y los problemas de indole local se reducen solo a quienes usan
estas extensiones.
Post by Mariano Reingart
Ademas, tenes que dimensionar bien el servidor de aplicación, balanceo de
carga, proveer cierto mecanismo de resguardo por si falla, etc.
Con esto el servidor es más dificil de instalar y administrar.
Con los ejecutables se puede distribuir bastante la carga y liberar al
servidor.
De hecho, el despliegue es igual de complicado, solo que haciendolo web
podes ayudarte de bastantes herramientas que fueron hechas por gente que
se encontro en la misma situación, de hecho, podes traer a cualquiera
que haya balanceado el sitio de alguien y ya tiene bastante know how de
como balancear/optimizar tu aplicacion. En clientes de escritorio
*pueden* darse situaciones donde el workflow es menos generico y
necesita mas tiempo de estudio antes de optimizarlo.
Hacer un cliente de escritorio no te salva de balancear carga, tener un
server de contingencia, etc. Un cliente web *tiene* un runtime tambien,
si de hacer procesamiento en el cliente se trata.
Estas cosas aplican a clientes de escritorio tambien, asi que cuanto
menos es una cuestion de preferencia/familiaridad.
Post by Mariano Reingart
Post by nubis
* No tenes que distribuir instaladores.
No veo cual es el problema, son dos clicks para bajar e instalar un programa
en el peor de los casos. (y con python se puede hacer un
actualizador/parcheador automático)
Obvio, pero lo tenes que hacer y a menos que ya este generalizado un
mecanismo, va a terminar siendo algo muy propio de tu aplicación.
Aca denuevo, sale la subjetividad, no me molestaria hacer/encargar un
plugin de firefox para imprimir en impresora fiscal. No me gustaria
hacer un cliente y servidor de actualizacion para los clientes de mi
software.
Post by Mariano Reingart
Post by nubis
* No tenes que preocuparte por la version del cliente que corre la
gente, O de actualizarselo si esa version es vieja.
Esto para mí es una ventaja, podes tener clientes que usen versiones
estables y probar versiones betas al mismo tiempo (para algunas cosas no es
muy riesgoso).
Sino, tendrías que tener varias versiones del sitio o servidores de
aplicación, cosa que me parece mas compleja.
Es una ventaja poder probar versiones estables e inestables de la GUI.
Lo bueno es que web tambien lo podes hacer, facebook lo hizo hace poco
con muchas personas. (solo para ejemplificar lo de probar distintas
GUIs, esta claro que no es un sistema administrativo). De paso...
cambiar unas hojas de estilo para que el sistema quede con los colores
de la empresa cliente, agrandarle unos botones, etc, sumaria un par de
porotos. En un cliente de escritorio imagino que tenes que implementar
el soporte para customizarle esas cosas a cada empresa.
Post by Mariano Reingart
Post by nubis
* Podes usar de cliente un disopsitivo movil con browser. (idealmente
con la misma gui, sino, con una hecha especialmente para moviles)
Si, pero para un programa de facturación va a ser algo un poco limitado, y
despues terminas como decis, con algo hecho para moviles porque no es
totalmente compatible (por tanto js, flash, css que le hubo que agregar).
Tambien se puede hacer una interface WEB para moviles y una interface GUI
para escritorio, reutilizando el modelo, y aprovecharias lo mejor de ambos
mundos :), simplificando bastante.
Post by nubis
* Podes meter mucho eye candy que sale barato, y si el sistema lo
requiere, las paginas que muestran informacion sobre alguna entidad
(un usuario, un libro :P) quedan mas paquetas.
El eye candi en GUI creo que sale mucho mas barato y tenes mucho mas
control, no tenes que aprender CSS, Javascript, ajax, flash, sirverlight,
java, etc.,etc. (y preocuparte porque se vea igual en todas las plataformas)
En GUI tambien podes tener controles que te muestren HTML, animaciones,
sonido, etc.
mm, aca disiento bastante: No hablo de usar Flash, java ni menos
Silverlight. Hablo de usar jquery, dojo, hasta pyjamas.
*no* tenes que preocuparte que funcione en todas las plataformas, y
denuevo.
Tengo que conocer todavia el equivalente en 'precio' para poner efectos
chetos a GUI's de escritorio.
Siempre podes acotar tu soporte a, por ej, ffox, opera y el safari del
iphone o algo. (o mejor dicho, NO SOPORTAR IE6 ni lynx)
Igualmente, aclaro que hago una diferencia entre sistema de gestion y
sistema administrativo, CMS administra pero no gestiona.
Post by Mariano Reingart
Post by nubis
* No tenes la posibilidad de que 'el cliente' funcione mal, entonces
muchos de los llamados de soporte los puede atender cualquier tecnico
que no conoce el sistema que se asegure que la pc tiene un browser
andando e internet, y recien de ahi para adelante es tu problema.
Buen punto, pero yo no pagaria el precio por todo lo que estoy comentando,
por mi experiencia no es un tema significativo (salvo que trates con
"consumidores finales", o sea, usuarios particulares).
Bueno, creo que con lo que va de la respuesta el precio se hace mas
bajo :)
Y, de ser asi con menos empleados podrias dar soporte a muchas mas
empresas con gerentes que laburan desde la casa, con un contrato de
soporte donde no te pueden llamar a menos que puedan acceder a cualquier
sitio de internet y no al sistema.
Post by Mariano Reingart
Post by nubis
* En vez de conseguir/entrenar varios, digamos 4, programadores
python/pygtk/pyqt/wxpython , conseguis 3 que hagan html/css/javascript
(que son mas conseguibles) y pones 1 pythonero que haga de puente
entre el server y la interfaz que hacen ellos.
Es discutible, porque en general terminas necesitando diseñadores web que
sepan programar y estamos en la misma.
Trato de notar las ventajas de poder contratar a alguien con un perfil
mas facil de encontrar que un programador python, y no tener que
capacitarlo mucho para que empiece a hacer la interfaz grafica de tu
sistema. Por eso, tenes un pythonero cada 3 diseñadores para ayudarlos a
hacer las cosas que no saben, hasta que las aprendan, (y sino, no
importa). Bah, a nosotros nos viene andando bien este balanceo, y no
tenemos nada en especial como para que a otro no le funcione.
Post by Mariano Reingart
Post by nubis
* No perdes nada que si tengas en una interfaz de escritorio. (Ojo,
esto mas bien quiere decir que no perdes nada que que me *parezca*
reelevante a *mi* o los proyectos en los que trabajo/trabajaria)
Obviamente, de hecho hay librerias javascript que te emulan un escritorio
completo.
El tema es si estas dispuesto a pagar el precio de aprender todo eso,
agregar capas de complejidad, etc.
Y, si ya sabes y tenes experiencia en interfaces de escritorio, quizas
no. Pero si no sabes entre aprenderte una libreria GUI y los bindings de
python, o javascript + css + HTML, ahi la decision es mas pareja.
Tambien puede ser que no quieras aprenderlas vos y quieras contratar a
alguien que haga la GUI web.
Generalmente, las GUI de escritorio en python tienen piezas que cumplen
roles similares a las GUI web.

HTML => XML con las pantallas (tipo glade o similares)
Lib de Javascript => python
CSS => Te lo ahorras con el diseñador de pantallas que mete info de
presentacion, o un poco de python, y sino, se reemplaza por algo custom
que afecta el estilo de las pantallas que se generan.
Post by Mariano Reingart
Post by nubis
* Si necesitas algun acceso local del cliente para hacerlo mas *rico*
podes apuntar ayudarte con flex o googlegears. Ahi reducis los
entornos donde el sistema corre 'full featured' (podes degradar y que
siga andando en el movil), pero seguis sin preocuparte por la
instalacion/actualizacion de esos plugins.
Con Python y GTK/WX/QT podria correr full featured en todas las plataformas
Claro, pero digo que asi tambien correria bien en todas las plataformas
donde corren GTK/WX/QT, con entornos me referia que la version 'full
featured' puede no estar instalada en algunas maquinas (ej, la casa del
gerente, desde donde no va a poder imprimir facturas pero si ver
reportes, y no te va a poder llamar para que le vayas a dar soporte a la
casa). Desde el openmoko o el iphone tampoco imprimis facturas pero
manejas el inventario subido a la escalera del deposito, etc.
Post by Mariano Reingart
Post by nubis
Intente no ser objetivo y no darle mucha bola a mi percepcion
personal, pero no puedo evitar ser un troll, voy a necesitar su
ayuda, mejor ser ignorado que flameado, mejor ser refutado que
ignorado.
Yo tampoco lo puedo evitar :)
Es usted un caballero de todos modos.

saludos.
--
----nubis :)
http://woobiz.com.ar
Ricardo Aráoz
2008-12-04 15:36:13 UTC
Permalink
Post by nubis
Post by Mariano Reingart
Post by nubis
Para sistemas administrativo no te conviene aplicación de escritorio
(GUI)? Para esto tenes WxPython, PyGTK y PyQt
* No tenes que generar los ejecutables para las distintas plataformas.
Si, pero tenes que preocuparte por la compatibilidad de los distintos
browser y plataformas,
No tenes que preocuparse de esto haciendolo web, si usa las herramientas
adecuadas, es como decir que wxPython se ve distinto en distintos
sistemas operativos. Hay muchas librerias de javascript y hojas de
estilo que resuelven esto. Y obviamente uno elige que browsers soportar,
suponiendo que es alguien que recien empieza y solo sabe python, puede
usar pyjamas[1], o en el *peor* de los casos apuntar a *un solo* browser
multiplataforma, como Firefox u Opera. (De ese modo uno sigue
reutilizando los mecanismos de instalacion/actualizacion de cada
browser)
Y aún así, haciendo tu sistema en python TAMPOCO tenés que generar los
ejecutables para distintas plataformas. Y aunque tuvieras, esto no es
tan complicado ni gasta tiempo significativamente.
Post by nubis
Post by Mariano Reingart
manejo de archivos, servicios especiales (ej.
impresora fiscal), etc.
Touche, si es un sistema donde el cliente hace todo eso, hacerlo web
queda mas complicado. Depende de lo que administre dicho sistema
administrativo, se me ocurren muchos que no.
Y si uno ya tiene el sistema hecho con una GUI web y surgen estas
necesidades, se podria tener extensiones al cliente (plugins del browser
o servidorcitos locales). Se siguen aprovechando las ventajas de usar la
GUI web, y los problemas de indole local se reducen solo a quienes usan
estas extensiones.
Y complicando más la cosa, con lo que las ventajas de hacerlo más simple
se van al diablo.
Post by nubis
Post by Mariano Reingart
Ademas, tenes que dimensionar bien el servidor de aplicación, balanceo de
carga, proveer cierto mecanismo de resguardo por si falla, etc.
Con esto el servidor es más dificil de instalar y administrar.
Con los ejecutables se puede distribuir bastante la carga y liberar al
servidor.
De hecho, el despliegue es igual de complicado, solo que haciendolo web
podes ayudarte de bastantes herramientas que fueron hechas por gente que
se encontro en la misma situación, de hecho, podes traer a cualquiera
que haya balanceado el sitio de alguien y ya tiene bastante know how de
como balancear/optimizar tu aplicacion. En clientes de escritorio
*pueden* darse situaciones donde el workflow es menos generico y
necesita mas tiempo de estudio antes de optimizarlo.
Hacer un cliente de escritorio no te salva de balancear carga, tener un
server de contingencia, etc. Un cliente web *tiene* un runtime tambien,
si de hacer procesamiento en el cliente se trata.
Estas cosas aplican a clientes de escritorio tambien, asi que cuanto
menos es una cuestion de preferencia/familiaridad.
Por qué se aplican a un cliente de escritorio???? En ambas plataformas
necesitas gente que maneje la base de datos. Salvo eso la aplicación de
escritorio no necesita nada de lo que mencionaste.
Post by nubis
Post by Mariano Reingart
Post by nubis
* No tenes que distribuir instaladores.
No veo cual es el problema, son dos clicks para bajar e instalar un programa
en el peor de los casos. (y con python se puede hacer un
actualizador/parcheador automático)
Obvio, pero lo tenes que hacer y a menos que ya este generalizado un
mecanismo, va a terminar siendo algo muy propio de tu aplicación.
Aca denuevo, sale la subjetividad, no me molestaria hacer/encargar un
plugin de firefox para imprimir en impresora fiscal. No me gustaria
hacer un cliente y servidor de actualizacion para los clientes de mi
software.
Esto también depende del tamaño de los ejecutables, la cantidad de
usuarios, y tu red. Nosotros tenemos accesos directos (que también están
en la red) a los ejecutables que residen en un directorio en la red. Lo
único que tenemos que hacer es poner un ícono que acceda a los accesos
directos. Por otro lado, cuando hay una nueva versión sólo tengo que
cambiar el apuntador del acceso directo y listo, no bajo el sistema, los
que estén laburando cuando hago el cambio siguen laburando con el viejo
sistema y los que entran, ya entran en el nuevo sistema. Al otro día
tengo a todo el mundo en el nuevo sistema y puedo bajar el directorio
del viejo.
Claro que se te puede complicar con muchos usuarios, red lenta, y
ejecutables enormes. Pero con ejecutables de alrededor de un giga y
hasta 1000 usuarios no he tenido problemas. Para qué complicar la cosa
cuando no hace falta?
Ahora si querés conexiones remotas ya es otra cosa.
Pero ahí yo preferiría seguir trabajando con aplicaciones desktop y
acceder a los datos a través de web services. Dabo hace esto de forma
transparente para el programador (del cliente) que casi ni se entera si
está accediendo a un servidor de base de datos en la red o a través de
un web service.
Post by nubis
Post by Mariano Reingart
Post by nubis
* No tenes que preocuparte por la version del cliente que corre la
gente, O de actualizarselo si esa version es vieja.
Esto para mí es una ventaja, podes tener clientes que usen versiones
estables y probar versiones betas al mismo tiempo (para algunas cosas no es
muy riesgoso).
Sino, tendrías que tener varias versiones del sitio o servidores de
aplicación, cosa que me parece mas compleja.
Es una ventaja poder probar versiones estables e inestables de la GUI.
Lo bueno es que web tambien lo podes hacer, facebook lo hizo hace poco
con muchas personas. (solo para ejemplificar lo de probar distintas
GUIs, esta claro que no es un sistema administrativo). De paso...
cambiar unas hojas de estilo para que el sistema quede con los colores
de la empresa cliente, agrandarle unos botones, etc, sumaria un par de
porotos. En un cliente de escritorio imagino que tenes que implementar
el soporte para customizarle esas cosas a cada empresa.
Naaaahh! Hoy día lo hacés igual de facil.
Post by nubis
Post by Mariano Reingart
Post by nubis
* Podes usar de cliente un disopsitivo movil con browser. (idealmente
con la misma gui, sino, con una hecha especialmente para moviles)
Si, pero para un programa de facturación va a ser algo un poco limitado, y
despues terminas como decis, con algo hecho para moviles porque no es
totalmente compatible (por tanto js, flash, css que le hubo que agregar).
Tambien se puede hacer una interface WEB para moviles y una interface GUI
para escritorio, reutilizando el modelo, y aprovecharias lo mejor de ambos
mundos :), simplificando bastante.
Post by nubis
* Podes meter mucho eye candy que sale barato, y si el sistema lo
requiere, las paginas que muestran informacion sobre alguna entidad
(un usuario, un libro :P) quedan mas paquetas.
El eye candi en GUI creo que sale mucho mas barato y tenes mucho mas
control, no tenes que aprender CSS, Javascript, ajax, flash, sirverlight,
java, etc.,etc. (y preocuparte porque se vea igual en todas las plataformas)
En GUI tambien podes tener controles que te muestren HTML, animaciones,
sonido, etc.
mm, aca disiento bastante: No hablo de usar Flash, java ni menos
Silverlight. Hablo de usar jquery, dojo, hasta pyjamas.
*no* tenes que preocuparte que funcione en todas las plataformas, y
denuevo.
Tampoco en desktop (si usas wx y python).
Post by nubis
Tengo que conocer todavia el equivalente en 'precio' para poner efectos
chetos a GUI's de escritorio.
Si querés fueguitos artificiales capaz que te cuesta un poquito, pero en
ese caso no te va a servir para una aplicación administrativa.
Creo que el tema acá es que los "efectos chetos" vienen bien cuando
querés vender algo a través de la web (y aún así si son muy pesados
terminás alejando a la gente) pero para una aplicación administrativa lo
más importante es la practicidad (aunque debemos recordar que
generalmente el que te va a aprobar la compra no es el que la va a usar,
así que tiene que ser linda pero sobria).
Post by nubis
Post by Mariano Reingart
Post by nubis
* No tenes la posibilidad de que 'el cliente' funcione mal, entonces
muchos de los llamados de soporte los puede atender cualquier tecnico
que no conoce el sistema que se asegure que la pc tiene un browser
andando e internet, y recien de ahi para adelante es tu problema.
Buen punto, pero yo no pagaria el precio por todo lo que estoy comentando,
por mi experiencia no es un tema significativo (salvo que trates con
"consumidores finales", o sea, usuarios particulares).
En una aplicación desktop no hay NINGUNA posibilidad de que el browser
ande mal (no usa), así que te ahorrás ese problema. La única posibilidad
es que el usuario no sepa usar el sistema o que el sistema tenga bugs.
Para ambos casos el soporte es el mismo que necesitaría la aplicación web.
Post by nubis
Post by Mariano Reingart
Post by nubis
* En vez de conseguir/entrenar varios, digamos 4, programadores
python/pygtk/pyqt/wxpython , conseguis 3 que hagan html/css/javascript
(que son mas conseguibles) y pones 1 pythonero que haga de puente
entre el server y la interfaz que hacen ellos.
Es discutible, porque en general terminas necesitando diseñadores web que
sepan programar y estamos en la misma.
Trato de notar las ventajas de poder contratar a alguien con un perfil
mas facil de encontrar que un programador python, y no tener que
capacitarlo mucho para que empiece a hacer la interfaz grafica de tu
sistema. Por eso, tenes un pythonero cada 3 diseñadores para ayudarlos a
hacer las cosas que no saben, hasta que las aprendan, (y sino, no
importa). Bah, a nosotros nos viene andando bien este balanceo, y no
tenemos nada en especial como para que a otro no le funcione.
En ese caso podrías también desarrollar con VB que tenés millones de
programadores, y podrías dividir tu sistema en capas con lo cual podés
tener un grupo que se dedique al gui y otro a la business layer. No veo
cuál es la diferencia.
Post by nubis
Post by Mariano Reingart
Post by nubis
* No perdes nada que si tengas en una interfaz de escritorio. (Ojo,
esto mas bien quiere decir que no perdes nada que que me *parezca*
reelevante a *mi* o los proyectos en los que trabajo/trabajaria)
Obviamente, de hecho hay librerias javascript que te emulan un escritorio
completo.
El tema es si estas dispuesto a pagar el precio de aprender todo eso,
agregar capas de complejidad, etc.
Y, si ya sabes y tenes experiencia en interfaces de escritorio, quizas
no. Pero si no sabes entre aprenderte una libreria GUI y los bindings de
python, o javascript + css + HTML, ahi la decision es mas pareja.
Tambien puede ser que no quieras aprenderlas vos y quieras contratar a
alguien que haga la GUI web.
Generalmente, las GUI de escritorio en python tienen piezas que cumplen
roles similares a las GUI web.
Es obvio que si vas a contratar para que te hagan la gui "gueb", también
podés contratar para que te hagan una gui con wx.
En general si vas a aprender aplicaciones de escritorio estas están más
integradas y son coherentes entre sí. Mientras que javascript, css y
html no tienen nada que ver una con la otra, cosas totalmente distintas.
Por lo cual se me ocurre que a mí me costaría más aprenderlas.
Post by nubis
Post by Mariano Reingart
Post by nubis
* Si necesitas algun acceso local del cliente para hacerlo mas *rico*
podes apuntar ayudarte con flex o googlegears. Ahi reducis los
entornos donde el sistema corre 'full featured' (podes degradar y que
siga andando en el movil), pero seguis sin preocuparte por la
instalacion/actualizacion de esos plugins.
Pero cómo? No dijiste en el punto anterior que "No perdes nada que si
tengas en una interfaz de escritorio"? No te estás contradiciendo un poco?

Creo que cada plataforma (desktop/web) tiene sus pro y sus contras. Si
querés hacer algo para llegar a muchos usuarios y comunicarte con ellos
no hay mejor que una aplicación web, pero considero que para temas
administrativos es mejor un desktop (con agregado de web services si
fuera necesario).

Pero seamos sinceros, cada uno se rasca donde le pica. Si te sentís más
cómodo con aplicaciones web y ligás un cliente que quiera un prog
administrativo entonces lo mejor que podés hacer es hacer algo web. Si
te gustan más las desktop => vas a hacer una desktop.
Post by nubis
Post by Mariano Reingart
Post by nubis
Intente no ser objetivo y no darle mucha bola a mi percepcion
personal, pero no puedo evitar ser un troll, voy a necesitar su
ayuda, mejor ser ignorado que flameado, mejor ser refutado que
ignorado.
Yo tampoco lo puedo evitar :)
Es usted un caballero de todos modos.
saludos.
Me quito el sombrero ante tan augustos exponentes de hidalguía. ;c)

saludos
Marian
2008-12-06 04:59:21 UTC
Permalink
Mi pequeño aporte:

Hay un editor/IDE nuevo para wxPython: http://editra.org/
Bello. Hecho el mismo en wxPython. Traducido al español, con
autocompletado de código, plugins, etc.

Libros:
Para aprender:
http://almacen.gulic.org/diveintopython-5.4-es/

para +
http://slav0nic.org.ua/static/books/python/
Marian
2008-12-06 05:03:29 UTC
Permalink
Error: no es *para* wxPython. Es para usar en múltiples lenguajes.

Ah! Para distribuir los ejecutables Win:
Usa
http://nsis.sourceforge.net/
con
http://hmne.sourceforge.net/

Muy bonito

Bye.
--
Marian
____________________________
Fotos: http://mavignau.photoblog.com
CV: http://www.computrabajo.com.ar/cvs/mavignau
Gustavo Villada
2008-12-06 13:06:37 UTC
Permalink
Gracias Marian!!! :)
Marian
2008-12-06 15:49:18 UTC
Permalink
De nada :-)
--
Marian
____________________________
Fotos: http://mavignau.photoblog.com
CV: http://www.computrabajo.com.ar/cvs/mavignau
Facundo Batista
2008-12-02 22:11:27 UTC
Permalink
El día 2 de diciembre de 2008 16:46, Gustavo Villada
Post by Gustavo Villada
existe alguno para el desarrollo de aplicaciones batch?
¿A qué te referís con aplicaciones batch? ¿A aquellas que no tienen
GUI? Si es así, todos los IDEs que te van a recomendar también pueden
hacer esto.
Post by Gustavo Villada
se puede en python realizar la generacion de un pdf con codigos de
barras (me estoy refiriendo a un comprobante de pago)
Esto se hace escribiendo una imagen con una font especial para ello.
En Python son cuatro lineas, pero no encuentro un ejemplito que tenía
por ahí...
Post by Gustavo Villada
si por ejemplo realizo una aplicacion utilizando algun toolkit de GUI
(de los que vi en la wiki) aun considerando que python es interpretado
se puede generar un ejecutable para windows???
Sin ningún problema.

Slds.
--
. Facundo

Blog: http://www.taniquetil.com.ar/plog/
PyAr: http://www.python.org/ar/
Gonzalo Delgado
2008-12-02 23:08:41 UTC
Permalink
El Tue, 2 Dec 2008 16:46:10 -0200
Post by Gustavo Villada
IDE de desarrollo? (aparte del plugin para Eclipse)
http://www.python.com.ar/moin/IDEs
--
P.U. Gonzalo Delgado <gonzalodelgado-***@public.gmane.org>
http://gonzalodelgado.com.ar/
Gustavo Villada
2008-12-03 01:28:07 UTC
Permalink
Mil gracias a todos...

lo que me referia por "procesos batch" me referia a algun framework...
no al IDE que.

la unica vez que vi y "mantuve" un sistema productivo hecho en python,
fue un sistema de broadcast de emails de promociones
en mi trabajo anterior (cierta tarjeta de credito, esa nro 1)

sldos
Gustavo
Continue reading on narkive:
Loading...