¿Qué necesito para programar multiplataforma (cross-platform applications)?

Quiero empezar a hacer programas simples pero que sean multiplataforma, pero no tengo ni la menor idea en donde comenzar. No se si alla algun programa para compilar el mismo codigo fuente para las principales plataformas: Linux, Mac y Windows, pero que no sea como RealBasic que hace muy pesado las aplicaciones ya que con este sin poner nada de codigo mas que el puro formulario que crea en principio al compilarlo los exes pesan 4 mb. O cual de estos programas me recomiendan: wxWidgets, Mono o GTK; o si conocen de otro mejor diganme cual, de antemano gracias y toda la información que me pueda ayudar para este tema es bien venida. Saludos...

Comments

  • No es tan sencillo programar para multiples plataformas, el wxWidgets es el mas acercado a ser cross-platform, debido a que tiene la ventaja de usar las librerias del sistema donde corre, (KDE=Qt, Gnome=GTK, Windows=API), el problema radica cuando te basas en alguna libreria no estandar de algun sistema en particular.

    Comparando las ventajas puedes tener:

    1.- wxWidgets = Ventaja, tienes verdadera multiplataforma con solo compilar hacia el sistema que elijas; Desventaja, solo necesitas usar librerias estandar para programar o hacer el código dentro del ejecutable o agregarlo como librerias externas.

    2.- Mono = Ventaja, Librerias .NET disponibles en multiples plataformas por default (Gnome), desventaja, seguridad heredada de Windows. (código cerrado)

    3.- GTK = Ventaja, Puedes crear software comercial o libre sin pagar un quinto a los desarrolladores varios IDE disponibles, desventaja, es lento en comparación a Qt, tambien tienes que tener el runtime de GTK instalado en otros sistemas.

    4.- Qt = Ventaja, rapidez de respuesta y muchas herramientas IDE disponibles, desventaja, si creas software comercial debes comprar la licencia para desarrollar de esa forma, tambien debes incluir el runtime para Qt dentro de tu software.

    Recomendación:

    Para programas simples usa wxWidgets.

    Para algo mas elaborado GTK puede ayudarte mucho sin invertir demasiado.

    Saludos!!

  • yo, utilizaría mono...

  • Java es una buena opcion.

    No se programar en java :-( ...aun, pero estoy aprendiendo C# y he usado mono en gnu/linux UBUNTU y me ha parecido que esta bien, se pueden hacer varias cosas. Puedes crear winforms desde visual studio y lo corres en linux com mono, yo lo he hecho aunque los resultados no son optimos en cuanto a apariencia.He corrido asp.net 2005 en mono sin hacer modificaciones y exactamente los mismos resultados.Ademas con mono puedes programar para Mac.

    GTK no es un lenguaje de programacion sino una librertia grafica para gnu/linux y tambien para windows, no se si esta para Mac.

    De manera que si tu quieres que tu aplicacion se vea igual en todos lados, usa GTK e instalas GTK en el pc donde correras o instalaras tu aplicacion.

    Mira asp.net corriendo con mono en Ubuntu:

    http://www.youtube.com/watch?v=AsTWcltx9Do

    Ademas, mira Mono corriendo en un Iphone:

    http://www.youtube.com/watch?v=08_4erDQUB8

  • Bueno sin duda la mejor opción es Java. Recuerda que Java es un lenguaje interpretado, lo cual, quiere decir que no depende del sistema operativo sino de la Java Virtual Machine (JVM) instalada en el PC. Por esta razón Java puede correr en cualquier sistema operativo tipo Unix (Linux y Mac), Solaris, y por supuesto Windows.

    El único requisito es que para que tus aplicaciones Java funcionen como los tradicionales .exe es que éstas deben ser exportados a un formato .jar. Con esto tus aplicaciones correrán libremente.

    ¿Deseas portabilidad? Eso es Java: "Compila una vez ejecútalo donde quieras".

    Te recomendaría como entorno de desarrollo Eclipse (aunque NetBeans es muy bueno también), te permitirá experimentar con Java e incluso con otros lenguajes como Python.

    En cuanto a Mono, sé que es una implementación de la plataforma .Net de Microsoft por lo que, aunque disponible para Linux, tu aplicación final será para Windows. GTK es muy bueno para entornos Linux pero seguro, es más complicado conseguir documentación y ejemplos.

  • Puedes usar Java para que compartas el mismo código en las tres plataformas, o programar en C, lo que solo tendrías que modificar ciertas instrucciones para adaptarlas a cada conjunto de instrucciones de cada procesador.

Sign In or Register to comment.