Cordial saludo para todos, en un post anterior estaba decidido a crear aplicaciones de escritorio y solicitaba la mejor combinación utilidades para lograrlo, las respuestas generaron controversia en el sentido que si era mejor hacerlas web o no, eso me agrada pues la idea principal es la de mejorar el producto existente, desarrollado 100% en Visual FoxPro, multiusuario, con la base de datos nativa y siempre conectado.
Ahora lo que quiero es migrar a python y de paso mejorarlas en tos sus aspectos, pero se presenta tres alternativas, web, escritorio o hibrido, entiendo perfectamente las ventajas del desarrollo web, pero, hay requerimientos que cumplir y algunas limitaciones: Requerimientos: * Son varias aplicaciones que comparten la base de datos, en cuanto a su mantenimiento o administración. * Cada aplicación debe funcionar independiente de las otras, excepto por la base de datos. * Un cliente puede poseer una o varias de ellas, pero nunca todas. * Cada cliente debe tener su propia base de datos, es información muy sensible. * Las aplicaciones básicas responden a los requerimientos del estado colombiano y no a los del cliente, a solicitud se desarrollan aplicaciones especiales para el diligenciamiento automático de las básicas, con la garantía de ninguno de mis otros clientes podrán acceder a ellas. * La función principal de las aplicaciones básicas es la de generar archivos que representan un único documento, pero una sola operación puede generar más de 1000 documentos, tamaño máximo por archivo 100KB codificado en ASCII extendido hasta 256 caracteres. * Como lo mencioné antes, estas aplicaciones desarrolladas en VFP se encuentran en producción, y no creo que mis clientes acepten ni sería justo entregarles menos de lo que ya poseen, quiero decir: o Validación campo a campo teniendo en cuenta todos los datos hasta el momento incorporados. o Para campos relacionados el usuario digita dato requerido por que en la mayoría de los casos lo tiene a la mano o se lo sabe, esto les brinda más agilidad que ponerse a seleccionar de una lista de probablemente miles de opciones, sin embargo, si lo desconoce al oprimir una tecla especial se le brindara una lista filtrada de acuerdo con datos conocidos y con opción de búsqueda por los campos de la tabla padre. o Prevención de diligenciamiento, activación o desactivación de casillas de acuerdo con datos incorporados en el formulario actual o anteriores. * Por último y la más importante, mis clientes están sometidos a un régimen sancionatorio por errores, omisión de información o no entrega oportuna de la documentación, y pueden ser económicas (cuantiosas), suspensión o cierre de la entidad, esto está amparado por pólizas que el estado hace efectivas tan pronto como lo crea conveniente, normalmente siempre y después pregunta que paso mediante un requerimiento. Esto realmente es preocupante y solo pensar en ofrecer los servicios de servidor ya sea web o de ejecución de aplicaciones remotas me da miedo, en caso de fallo y no poder restaurarlo rápidamente me metería en serios problemas, y no con uno sino con todos. * En la actualidad mi segundo mejor cliente tiene mi aplicación en servidor de aplicaciones y la acceden a través de internet desde diferentes sucursales en el país, como lo hicieron, no tengo ni idea, pero lo importante es que cuando lo deseen pueden trastear con la base de datos e instalar el software en cada una de las sucursales y hacerlas independientes y en cuestión de minutos están en producción nuevamente. Las limitaciones no son infranqueables, se deben a mi falta de conocimientos sobre web, pero si van influir significativamente en el tiempo de desarrollo, he estudiado python, django, html5 y css, pero creo que aún me falta mucho más, por ejemplo: * Como ponerlas en producción local y/o hosting sin ningún conocimiento en servidores y que además con lo que estudiado sigo sin entender. * Como por lo menos replicar las características del software anterior en VFP. Mi opinión, que igual puede estar lejos de la realidad, es que Django está muy estructurado y revertir todo eso podría ser más complejo por ir en contra de su filosofía y su forma de actuar, quizá con Flask tenga que codear más pero a lo mejor aprenderé a recorrer el camino, creo que con cualquiera de estos framework se puede resolver el segundo punto de mis limitaciones, es cuestión aprender, claro con un poco de orientación como sobre que debo estudiar. El que me preocupa realmente es el primer punto, si no puedo poner en producción la aplicación de forma local en el sistema operativo Windows de una manera sencilla, que corra bien y sin mayores inconvenientes a futuro, que no interfiera con los procesos y actividades actualmente corriendo en el equipo que fungirá de servidor y que no genere costos adicionales a mi cliente, debo descartarlo y tomar el camino de aplicaciones de escritorio, que en realidad es mucho más dispendioso pero tránsito por caminos conocidos, programación controlada por eventos, solo requiero que me orienten en la selección de las herramientas para el desarrollo de GUIs, he leído algo sobre las que están relativamente actualizadas con las últimas versiones de Python, me gustan Kivy, pyGObject, pyQt, Qt5, como herramientas de diseño gráfico no me gusta ninguna, creo poder utilizar las de VFP y generar los archivos para utilizarlos con python y la utilería que me aconsejen, ah, y en cualquiera de los casos debo conocer muy bien las características de PostgreSql. Disculpen lo extenso y quedo a la espera de su colaboración, gracias de antemano, Jesús
_______________________________________________ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/