Que tal Jorge
Te platico un poco de contexto, yo vengo de programar en PowerBuilder (ultima versin utilizada 10.5) y su objeto datawindow es super poderoso, si aprenden a usarlo al 100%, pueden hacer cualquier aplicacin basndose en un 90% en este objeto, ademas de que s permite herencia de ventanas. Es un producto muy, muy maduro pues tiene muchsimos ms aos en el mercado que Xojo(RealStudio) , por lo que no sera posible realizar una comparacin muy realista.
En lo personal me gustan mucho los dos productos xojo y powerbuilder, pues en lo que uno es dbil el otro es fuerte.
Creo que deben tener en consideracin que ambas plataforma de desarrollo tienen diferentes objetivos en cuanto a tipo de aplicaciones finales. A continuacin listo algunas de las caractersticas nicas que tiene cada uno (de las pocas que tengo presentes):
[h]XOJO[/h]
a) Multiplataforma con un mismo cdigo fuente, compilando en cdigo nativo para cada plataforma
(no como java que es interpretado por el run-time de cada plataforma)
Tambin cuenta con objetos exclusivos de cada plataforma para aprovechar mas el kernel del sistema operativo.
b) Diferentes tipos de Proyecto
- Programas desktop con interface grfica GUI.
2.1) Programas desktop de smbolo de sistema (no tienen interface grfica),
enfocados para crear aplicaciones de smbolo de sistema.
2.2) Programas Servicio de Windows ( o equivalentes para las dems plataformas)
enfocados para crear servicios que estn activos aun sin iniciar sesin de usuario,
o inclusive sin tener interface grfica instalada como puede ser en Linux.
3.1) Aplicaciones WEB con servidor web incluido, para usarse con pocos usuarios.
3.2) Aplicaciones WEB compilando a FastCGI para usar servidor web externo, usuarios ilimitados usando mltiples servidores.
a diferencias de otros lenguajes para la WEB, Xojo se compila, haciendo sus aplicaciones de las mas seguras.
- Aplicaciones para iOS dispositivos mviles (lamentablemente solo para dispositivos Apple)
- Prximamente compatible con hardware RaspberryPI, para crear aplicaciones que se usen en micro dispositivos.
(Internet de las cosas)
c) Amplia variedad de objetos para mltiples propsitos.
(no solo se enfoca en hacer sistemas administrativos y/o base de datos relacional)
ejemplo: Puedes crear tus propio protocolo Serial, TCP UDP para trasmisin de datos con dispositivos externos,
recientemente disee un socket para transmisin de datos con vehculos GPS (solo en XOJO encontr el potencial
para hacerlo rpido y sin tanta complicacin como hubiera sido hacerlo en lenguaje C desde cero.)
[h]PowerBuilder[/h]
a) SuperObjeto Datawindow (cuando lo conoces al 100%, no existe equivalencia con ningn objeto de cualquier lenguaje)
b) SuperObjeto DataWindowsReport este es el primo del anterior, y tiene el potencial para hacer reportes muy complicados.
c) Mltiples niveles de herencia de ventanas.
[h]Deficiencias en ambos sistemas[/h]
- Manejo de grficas deficiente (tanto en pantalla como dentro de reportes)
[h]Conclusiones[/h]
Desde mi muy particular perspectiva, PowerBuilder esta pensado para hacer aplicaciones, para conectarse a bases de datos relacionales. Con un enfoque muy alto en ahorro de cdigo, s aprenden a crear objetos maestros, en lugar de crear un objeto por cada tabla de la base de datos, es posible hacer un programa que administre todas las tablas de una base de datos, sin tener que re-compliar cada vez que cambian el diseo de esta. (Incluyendo validaciones de datos, seguridad de usuarios, histrico de cambios, reportes diseados por el usuarios, etc. etc.). En suma; a mi parecer es un lenguaje para hacer sistemas administrativos rpidamente.
XOJO es un lenguaje multi-propsito, puedes hacer desde tu propia terminal en smbolo de sistema, hasta una aplicacin web no muy complicada. En lo personal, lo uso para todo aquello que no puedo hacer en PowerBuilder, o es mas fcil y/o rpido hacerlo en XOJO.
Nota Adicional
No recomiendo en lo mas mnimo, usar libreras de objetos de terceros, pues tienden a no ser compatibles con las nuevas versiones del lenguaje principal. En su mayora vienen de empresas no muy solidas y terminan desapareciendo, y s las usan en alguna parte importante de su programa, se veran imposibilitados en cambiar de versin del lenguaje que estn usando, desaprovechando las ventajas de los correcciones de bugs y mejoras de este.
Esto pasa muy frecuente con XOJO, pues tiene un excelente soporte sobre bugs y mejoras, dando como resultado la liberacin de varias versiones al ao. Por ejemplo, estn por sacar la versin para compilar a 64bits, pero muy probable que las libreras de terceros se queden en 32 bits un buen tiempo. (salvo muy pocas excepciones)
Lo mejor en ambos lenguajes, es que si necesitas algn objeto que no tiene el lenguaje en si, hagan su propia librera adicional para que dispongan del cdigo fuente y puedan mejorarlo/actualizarlo cuando salgan las nuevas versiones del lenguaje primario que usan.
En el caso de los reportes que exportan a XML y usan un reporteador externo (como puede ser JasperReport ), me parece excelente, pues aprovechan el potencial de ambos programas.
Este es un muy, pero muy breve, comparativo entre estos dos lenguajes de programacin, espero te sirva para guiarte en tu decisin.