OT. Que lenguaje se adaptara mejor para el desarrollo en el entorno multiplataforma y multiequipo

358 views
Skip to first unread message

José Luis   (VFP 9 SP 2.  09.00.0000.7423)

unread,
Jan 27, 2018, 4:44:25 PM1/27/18
to Comunidad de Visual Foxpro en Español

OT. Que lenguaje se adaptara mejor para el desarrollo en el entorno multiplataforma y multiequipo.


Python

PHP

Angular

otros ¿cuales?

 


Carlos Miguel FARIAS

unread,
Jan 27, 2018, 5:32:50 PM1/27/18
to Grupo Fox
Además Freepascal, Java. El tema es que tan rápido quieres lograr soluciones. Que tipo de soluciones? Escritorio, Web, ambos, móviles?
Que tipo de target para las aplicaciones?: comerciales, científicas, manejo de datos, de todo un poco, tratamiento de imágenes, geográficas.
Php, angular puede ser muy bueno para web, de hecho tiene buenos frameworks
Java hace de todo, pero la curva de aprendizaje es larguísima, y ahora que tiene metida la pata Oracle, no sabes donde empieza el licenciamiento
FreePascal-Lazarus (Delphi de embarcadero con $$$$) otra opción.
Mi elección Python: No pude todavía discernir que no puede hacerse con Python: Web, escritorio, robótica, móvilies, manejo de datos, imágenes, sistemas GIS, etc.
Dos frameworks muy buenos (Flask y Django, para lo pequeño a mediano y para lo mediano a lo grande)
Además, fácil de aprender, gratis, una comunidad inmensa (no tan simpática como la de fox)
Saludos: Miguel, La Pampa (RA)

Libre de virus. www.avast.com

José Luis   (VFP 9 SP 2.  09.00.0000.7423)

unread,
Jan 27, 2018, 11:53:08 PM1/27/18
to Comunidad de Visual Foxpro en Español
Para estas:
 
Que tipo de soluciones? Escritorio, Web, móviles?
 
Que se pueda trabajar con ellas.


Que tipo de target para las aplicaciones?:manejo de datos

Para una institucion.

Carlos Miguel FARIAS

unread,
Jan 28, 2018, 9:24:02 AM1/28/18
to Grupo Fox, vfp-a-python
Soluciones que conozco:
Cuando hablamos de escritorio, supongo una aplicación con infinidad de controles formularios complejos en cuanto a validaciones y corriendo exclusivamente desde una red interna (o requiriendo muchísima seguridad). Si no, una aplicación del tipo navegador-servidor puede suplirla sin problemas.

Las universidades argentinas gestionan por ejemplo Presupuesto y contabilidad pública (incluye presupuesto, recursos, bancos, tesorería), RRHH (legajo y liquidación de sueldos) y Compras y suministro con sistemas de intranet (navegador+servidor) escritos en PHP con un framework propio y SGBD Postgresql. Porque eligieron PHP, lo ignoro. Por lo que veo, las migraciones entre versiones no son fáciles, pero es atendible porque más allá de desarrollo de núcleo centralizado, cada universidad mete los dedos para adaptarlo a sus propias idiosincrasias.
Pero PHP no te sirve por ejemplo para móviles, salvo claro está, si el móvil accede a una página web adaptativa (y eso corre por cuenta de HTML5, CSS3 y javascript y librerías asociadas).
Para escritorio PHP también es utilizable, cuando lo probamos hace muchos años antes, era bastante complejo.

Angular solo permite Web (muy potente) se basa en Javascript (no lo probé).

Python permite los tres entornos (escritorio con diversas librerías gráficas: tkinter, wxpython, pyside-pyQT, kivy), la primera es simple, tiene más componentes visuales que VFP, salvo por supuesto la grilla (browse), y no tiene la facilidad de máscaras de edición en la entrada (se pueden elaborar a mano). Las otras son muy completas, (muy a la N), por supuesto la curva de aprendizaje más larga, pero no por difíciles si no por cantidad.
Para Web python provee frameworks como Flask o Django entre otros para cualquier nivel de tamaño de sistema (django tiene un procedimiento de migración muy bueno, que además permite rollback), lo interesante es que puedes desarrollar con flask y si te queda chico, parte del desarrollo de formularios puedes reaprovecharlo con django.
Para móviles python tiene opciones como qpython (puede asociarse a kivy).
Si no te gusta el framework web de python, puedes escribir uno propio (en python).
En python puedes desarrollar cualquier cosa, usas librerías gráficas externas (pero codificas en python para accederlas). Tiene "baterias" incluidas, o sea librerías incluidas para casi cualquier cosa y si tienes problemas de velocidad, puedes escribir rutinas en C y usarlas desde python (la API de interrelación es muy completa).

Busca la en la web por tipo de aplicación y agrega la palabra python y vas a ver que hay soluciones (por ejemplo: ERP + python -> odoo, openerp, tryton, etc.) (GIS + python -> qgis)
Y en general grátis (puede haber cargos por asesoramiento).
El Arcgis: uno de los softwares comerciales más conocido del mercado, utiliza python para programar sus scripts.

También, puedes pensar en una opción multilenguaje (por ejemplo MIT ofrece appinventor que permite desarrollar aplicaciones para celular complejas utilizando un lenguaje gráfico, similar a trabajar con los bloquecitos Lego (no confundir con lenguaje Logo).

Lo importante es que todos acceden a un SGBD.

En cuanto a la aclaración de "institución", es del tipo pública o privada, si es pública: gubernamental (orientado a lo administrativo) o descentralizada (administrativo más algún manejo de datos ad-hoc: militar, salud pública, etc.), si es privada: con fines de lucro o sin fines de lucro.
Esto lo pregunto porque: si es pública, usar software libre implica menor gasto público (y menos posibilidades de "negociados" en la contratación), aunque el Estado pueda pagar licencias, no tener que pagarlas es mejor para los ciudadanos.
Si es privada, pagar licencias puede ser conveniente para gerentes de empresas, ya que pueden endosar culpas al proveedor si algo no funciona, y además, puede que el costo del software no sea significativo a nivel costos para el giro comercial que tengan.
Pero si es privada sin fines de lucro, soluciones con licencias pagas puede ser prohibitivo.

En fin, tu arriesgas el final de tu aparato digestivo, y verás que es lo que te conviene. Nuestras opiniones son sin interés, pero tampoco corremos riesgos.

Saludos: Miguel, La Pampa (RA)
Larga Vida y Prosperidad
Que la Fuerza los acompañe, soluciones mejores hay pero están del lado oscuro (del bolsillo)

francisco prieto

unread,
Jan 28, 2018, 9:32:10 AM1/28/18
to publice...@googlegroups.com, vfp-a-python
Carlos, te felicito por vender a Phyton pero te falto aclarar que es interpretado, no sirve para hacer software propietario.

Es muy importante entender si ese va a ser un requerimiento.

En esos casos me volque por FreePascal, en Android AndroidStudio y para el resto Scriptcase.

Saludos,

Pancho
Cordoba
Argentina

Carlos Miguel FARIAS

unread,
Jan 28, 2018, 9:53:39 AM1/28/18
to Grupo Fox
Es cierto que es interpretado, pero se puede pseudocompilar (pero es lo mismo que C#, Java, y un montón más de utilidades).
Es cierto que una aplicación en Pascal o C o C++ se compilan y la ingeniería inversa es muy difícil (casi imposible), pero si te lo quieren abrir, te lo abren. Fíjate que abren Windows, los linux y lo parchean a gusto.
En mi comentario anterior, no incluí Pascal porque no lo he usado, y como se que hay gente en el foro que lo han usado, bueno ellos deberán indicar sus ventajas (y desventajas).
NO ES CIERTO que vendo python, no cobro por sugerirlo, y si tienen que usarlo, no tienen que pagar.

python no baja de la 5ta posición, Pascal no figura.
OJO: Si no trabajara con python, trabajaría con FreePascal - Lazarus. pero mis neuronas ya no van (conseguí entrar a dar clase a la Universidad 90's por ser casi el único que en el medio progamaba algo en pascal (Turbo Pascal 3), ha ha)

Saludos: Miguel, La Pampa (RA)
Larga Vida y Prosperidad
Que la Fuerza los acompañe


Libre de virus. www.avast.com

francisco prieto

unread,
Jan 28, 2018, 10:09:29 AM1/28/18
to publice...@googlegroups.com
Te diría que la gran mayoría de los programadores del momento realizan su trabajo como servicio y no como producto y es por eso que los lenguajes que compilan los usan menos personas que los lenguajes interpretados, pero  que lo use mas gente no significa que sea mejor sino que son mas populares, a quien no le gustaría tener en su casa un Ferrari o un McLaren y se conforman con un Fiat... Fiat es mas popular, pero no confundas Ferrari es mejor...

Saludos,

Pancho
Córdoba
Argentina

mapner

unread,
Jan 28, 2018, 1:38:59 PM1/28/18
to Comunidad de Visual Foxpro en Español
Con Python desconcierta el que tarden casi una década en decidir si se debe desarrollar en v2.7 o v3.x
Cómo ventaja tiene la facilidad de sintaxis y la gran cantidad de librerías disponibles. Un buen ejemplo de la capacidad de Python es Odoo, un ERP libre muy bien desarrollado, o bien su fork, Tryton.
Pascal es muy lenguaje, del tipo strong typed y su baja en popularidad con respecto a Python es que nunca ha sido tomado en serio en el ámbito empresarial (Pascal se enseñaba como primer lenguaje de programación en varias universidades, o sea, se lo veía como un entorno meramente educativo).
De un tiempo para acá, estoy desarrollando en Java que tiene cosas asombrosas y cosas pesadillescas... pero sin duda es un entorno más que robusto... y tiene una curva de aprendizaje bastante más pronunciada que otros...
lo seguro es que hoy se debe poder manejar más de un lenguaje y plataforma para cubrir los requerimientos del mercado...

Saludos

Carlos Miguel FARIAS

unread,
Jan 28, 2018, 4:56:03 PM1/28/18
to Grupo Fox
El tema entra una línea y la otra es porque había muchísimo desarrollado con la versiones 2.x y migrar todo el código no se hace por la regla de lo que funciona no se toca.
No debería sorprenderte de que tarden +10 años en decidir migrar de la versión 2.x a la 3.x. La organización sin fines de lucro que desarrolla python, sigue dándole mantenimiento a ambas líneas (a las 2.7x le siguen agregando compatibilidad con la 3.x). Todo lo nuevo se está haciendo en 3.x-
Fíjate que este foro, hay desarrolladores aferrados a VFP, con más de 10 años que no se le agrega nada a un lenguaje descontinuado además (el único soporte oficial es que mantienen algunas cosas y ayudas para consultar).
En PHP, había frameworks soportando las versiones 4 y 5 (lo que era un desperdicio tremendo) 10 años después de que había salido la versión 5 (muy superior) y además, gente emperrada en promover dichos frameworks.
En cuanto a si python y pascal es uno mejor que el otro, no es discutible, pascal permite generar ejecutables puros, no interpretados o pseudocompilados. Pero sería la única ventaja que le veo. (El tema velocidad puede ser otro, pero si necesito 6 meses de desarrollo para algo que soluciono en minutos, la velocidad del ejecutable sería lo de menos).
Por supuesto, si desarrollo software donde por sus características, hubiese mucho pirata suelto tratando de robármelo, usaría freepascal (no estás promoviendo indirectamente Delphi? ;-D).
Saludos: Miguel

Mario López

unread,
Jan 29, 2018, 1:39:31 PM1/29/18
to Comunidad de Visual Foxpro en Español

@Francisco:

.. es interpretado, no sirve para hacer software propietario…

No veo ninguna diferencia en ese caso entre Python y VFP: ambos permiten “empaquetar” un proyecto de forma que simule un .EXE nativo en Windows (generando el .EXE proyecto en VFP y “compilando” el mismo con http://www.py2exe.org/ respectivamente). También en ambos casos es sencillo “desempaquetar” el .EXE para extraer el fuente con herramientas específicas de des-compilación, salvo que se tomen medidas específicas para evitarlo (REFOX para VFP y compilación con Cython y otros para Python).

Aca https://medium.com/@xpl/protecting-python-sources-using-cython-dcd940bb188e hay un link de como proteger código Python compilandolo con Cython.

Mis 2 centavos,
Mario


FreePascal-Lazarus (Delphi de embarcadero con $$) otra opción.
Mi elección Python: No pude todavía discernir que no puede hacerse con Python: Web, escritorio, robótica, móvilies, manejo de datos, imágenes, sistemas GIS, etc.
Dos frameworks muy buenos (Flask y Django, para lo pequeño a mediano y para lo mediano a lo grande)
Además, fácil de aprender, gratis, una comunidad inmensa (no tan simpática como la de fox)
Saludos: Miguel, La Pampa (RA)

Carlos Miguel FARIAS

unread,
Jan 29, 2018, 6:37:21 PM1/29/18
to Grupo Fox, vfp-a-python
El py2exe a bajar es el de https://pypi.python.org/pypi/py2exe/0.9.2.0 ya que el otro solo sirve para las versiones 2.x
Si vas a empezar con python ahora, es ilógico que empieces con 2.x, cuando la 3.x es muy superior.
Saludos: Miguel, La Pampa (RA)

francisco prieto

unread,
Jan 29, 2018, 9:13:49 PM1/29/18
to publice...@googlegroups.com, vfp-a-python
Mario con VFP hago drivers propietarios e imposible de descompilar... con Phyton eso no es posible...

Saludos,

Pancho
Cordoba
Argentina

Mario López

unread,
Jan 30, 2018, 12:17:19 PM1/30/18
to Comunidad de Visual Foxpro en Español
@Francisco: en el 2do link que mandé muestran como compilar módulos Python a archivos .DLL para Windows o .so para Linux. Igual imposible de descompilar hasta ahora no vi nada, ni en VFP ni en otra plataforma, yo pude descompilar un .EXE mío con REFOX branded con una herramienta de cracking de las que había por ahi.

HTH
Mario

---

Carlos Miguel FARIAS

unread,
Jan 30, 2018, 3:22:41 PM1/30/18
to Grupo Fox
Si el programa en VFP usa el runtime para correr, es descompilable. Se puede intersectar lo que va recibiendo el runtime. Si lo que haces es realmente bueno, van a encontrar la forma de crakearlo.
Es más, es muy probable que no les interese que hace o como lo hace, si no, ver como lograr que se pueda piratear sin problemas.
Pregúntale a Microsoft.
Saludos: Miguel

Antonio Meza

unread,
Jan 30, 2018, 4:17:49 PM1/30/18
to Comunidad de Visual Foxpro en Español
Miguel de casualidad puedes poner algunas capturas de pantalla de como se ve la aplicación con Python y Tk?

saludos
Antonio Meza

Carlos Miguel FARIAS

unread,
Jan 30, 2018, 5:33:58 PM1/30/18
to Grupo Fox, vfp-a-python
Mis habilidades estéticas no son muy buenas, esto es un ejemplo de una calculadora que estoy armando para un curso... (despacito)

Esto está hecho usando TK simple no el modo TTK que presenta los controles de acuerdo a como se ve en windows.
Este ejemplo solo muestra, botones, rotulos y text (que es un control con el que se puede hacer un editor más potente que el que tiene vfp) que es el que usa el IDLE que trae python como instalación.

Tal como comente antes, en Tkinter no tienes facilidades de formato de datos en la entrada de datos ni una grilla editable como en vfp (trae treeview que puede simular una grilla solo lectura), hay un editor de pantallas para tkinter que te permite diseñar pantallas bastante fácil (pygubu), hay otro llamado page, pero el código que genera es muy enredado y solo usa posicionamiento absoluto y no automático.
El posicionamiento automático es similar al anchor de fox, pero más intuitivo.
Saludos: Miguel

Mañana trato de mostrar otra pantalla que desarro
calculadora.png

Carlos Miguel FARIAS

unread,
Jan 31, 2018, 6:11:44 AM1/31/18
to vfp-a-python, Grupo Fox
Acá van otras pantallas con tkinter.
Son dos ejemplos de treeview, que permite definir varias columnas (como una grilla), y darle características a cada fila.
No permite tener entrada de datos ni imágenes.
Los otras muestran un canvas (el diagrama de relación de tablas) que permite meter cualquier cosa adentro (frame con controles de cualquier tipo, dibujar, objetos, etc.etc.) y el otro es un text, que permite hacer un editor de texto como el mismo IDLE que trae python. Un autor, en un libro (parte de él) desarrolla el block de notas en muy pocas líneas de código. Además, el text permite meter imágenes y frame (windows) con controles de todo tipo.
El uso que muestro es muy acotado.
Solo algunos controles son del tipo ttk.
Las otras interfaces (wxpython y pyside-pyqt) son mucho más potentes.
Saludos: Miguel

--
Has recibido este mensaje porque estás suscrito al grupo "VFP a Python" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a vfp-a-python+unsubscribe@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a vfp-a-...@googlegroups.com.
Visita este grupo en https://groups.google.com/group/vfp-a-python.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

pnt1.png
pnt2.png
pnt3.png
pnt4.png

Carlos Miguel FARIAS

unread,
Jan 31, 2018, 6:16:40 AM1/31/18
to vfp-a-python, Grupo Fox
Omiti que todos los elementos visualizados en el canvas como en el text pueden vincularse a eventos de ratón, en el text pueden definirse áreas de texto para que aparezcan con diferentes propiedades de texto y que dichas áreas respondan a diferentes eventos (ratón, etc.)
Saludos: Miguel

Antonio Meza

unread,
Jan 31, 2018, 12:56:14 PM1/31/18
to Comunidad de Visual Foxpro en Español
Muchas gracias por compartir y comentar!!! es bueno que compartas tus buenas experiencias con Python tan detalladamente.

saludos
Antonio Meza
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a vfp-a-python...@googlegroups.com.

Antonio Meza

unread,
Feb 2, 2018, 2:42:35 PM2/2/18
to Comunidad de Visual Foxpro en Español

Carlos Miguel FARIAS

unread,
Feb 2, 2018, 6:08:14 PM2/2/18
to Grupo Fox
Gracias Antonio: Nosotros en el laburo hicimos el curso de Django, y algunos sistemas, ahora estoy usando Flask para un sistemita porque no amerita (el sistema) todo lo que da Django.
El manual de Django ronda las 2000 páginas.
Saludos: Miguel
Reply all
Reply to author
Forward
0 new messages