xamarín tutorial mundo multiplataforma hola español empezando con cross-platform

cross platform - tutorial - ¿Cómo escribir un programa multiplataforma?



xamarin tutorial español (15)

¿Desea desarrollar un programa multiplataforma de forma nativa? Uh ... No creo que eso funcione, principalmente porque esa frase es una paradoja. Si escribe código nativo, por su propia naturaleza solo se ejecutará en la plataforma para la que lo programó. ;-) De eso se tratan los Frameworks.

Entonces, lo que debes hacer es utilizar un marco muy delgado si tu programa va a ser tan pequeño. la idea de itsmatt de Qt es una posibilidad.

Saludos,

Quiero escribir un pequeño programa de utilidad multiplataforma con GUI en él. ¿Qué idioma / biblioteca de GUI debo mantener? ¿Es posible algo?

Este va a ser un programa pequeño, por lo que no quiero que la gente descargue JVM o .NET Framework. ¿Es posible desarrollarlo de forma nativa?

Actualización 1.

Por "nativo" quiero decir que el resultado final será un código nativo sin capas intermedias, como Java Virtual Machine o .NET Common Language Runtime

Actualización 2.

Una solución GRATUITA es preferible;)


¿Destello? Está instalado prácticamente en todas partes.


¿Has mirado a Qt ?


¿Qué OS tienes en mente cuando dices multiplataforma?

Como señala correctamente Epaga, las plataformas nativas y multiplataforma son mutuamente excluyentes. Puede escribir múltiples versiones que se ejecutan de forma nativa en múltiples plataformas, o necesita usar algún marco multiplataforma.

En el caso del enfoque de infraestructura multiplataforma, siempre habrá instalaciones adicionales requeridas. Por ejemplo, muchos aquí sugieren usar Python y uno de sus frameworks. Esto requeriría instruir a las personas para que instalen python, y potencialmente el framework, primero.

Si apunta a Windows y OS X (y está preparado para experimentar con código de liberación alfa para Linux si se requiere soporte para ese sistema operativo), le recomiendo que consulte el uso de Adobe AIR para aplicaciones de GUI multiplataforma. .


¿Qué hay de Python usando Qt o Wx y luego usando PythonToExe para hacer un ''distributable''

Se deberá pensar en el desarrollo para asegurar que no se use ninguna funcionalidad nativa (es decir, registro, etc.) También cosas como los saltos de línea en los archivos de texto tendrán diferentes caracteres de escape, por lo que deberán manejarse


El problema es: si no desea tener una GUI pero no desea pedirle al usuario que descargue una API, un Framework o una máquina virtual eterna para ejecutarla, ya sea TCL / TK, Java o QT, etc. perderse bastante rápido

La razón es: Tendría que reconstruir toda la funcionalidad (GUI) que esas API, marcos y máquinas virtuales le proporcionan para ser independiente de la plataforma. Y eso es mucho trabajo por hacer ...

Por otro lado: la máquina virtual Java está instalada en casi cualquier sistema operativo desde cero, ¿por qué no probar esta?


Estoy de acuerdo con Georgi, Java es el camino a seguir. Con un poco de trabajo, puede hacer que su aplicación de escritorio también funcione como un applet de Java (para que los usuarios no necesiten descargar nada activamente). Vea http://www.geogebra.org como un ejemplo de una aplicación que funciona sin problemas como una aplicación Java multiplataforma Y tiene un puerto simple para un applet web.

Otras dos ventajas de usar Java son:

  1. Tienen bibliotecas extensas para construir la interfaz de usuario, incluidos los constructores de componentes de interfaz de usuario.
  2. El marco de tiempo de ejecución de Java generalmente se actualiza automáticamente para el usuario.

Una desventaja:

  1. La versión de Java instalada en la computadora de los usuarios finales puede no ser totalmente compatible con su aplicación, lo que requiere que codifique con el denominador más bajo posible.

Prueba RealBasic. Sintaxis similar a Visual Basic, se dirige a Win32, OS X y Linux. No conozco ningún detalle sobre la orientación de Linux, pero para cualquier desarrollo multiplataforma que he hecho entre Win32 y OS X, ha sido un sueño.

http://www.realbasic.com

Editar: genera archivos ejecutables nativos. Hay un pequeño costo: $ 100.


Si "TIENE" que ser Desktop use Qt. Nada mejor que ahora.

Sin embargo, personalmente me di por vencido en el escritorio y cualquier proyecto basado en la interfaz de usuario que hago normalmente se basa en el navegador / servidor. Puede escribir fácilmente un pequeño servidor personalizado que escuche algún puerto para que el programa pueda ejecutarse localmente sin necesidad de que sus usuarios instalen Apache o tengan acceso a la red. Tengo un pequeño framework Lua, Python y C ++ que creé para ese propósito (quiero agregar Javascript para el backend con V8 :)


Si vas a mirar Qt y WxWidgets, ¡no olvides echarle un vistazo a GTK + !



wxWidgets tiene enlaces a todo tipo de idiomas, python, por ejemplo, si tu aplicación es lo suficientemente pequeña.


Lázaro es genial. GTK2 en Linux, win32 / 64 en Windows, WINCE en euh, Wince. Incluso usa Carbon en Mac (trabajando en COCOA). También es fácil de vender a su jefe (el código es compatible con Delphi)


Estoy de acuerdo con David Wees y Georgi,

Java es multiplataforma por excelencia. Literalmente escribes una vez y corres a todas partes. Sin necesidad de compilar su código para cada sistema operativo objetivo o bitness, no tiene problemas para vincularse con nada, etc.

La única cosa es, como usted señaló, que debe instalarse un JRE, pero es rápido y sencillo de hacer, incluso para usuarios finales novatos (es cuestión de hacer clic en "Siguiente>" varias veces en el instalador).

Y con Java Web Start, la implementación es aún más sencilla: el usuario simplemente hace clic en el botón de inicio de una página web y la aplicación se ejecuta (si se instala la JVM adecuada de acuerdo con lo especificado en el descriptor JNLP) o el usuario se redirige a la página de descarga de Java (si no se encuentra una JVM adecuada).


Si conoces C o C ++, el primer marco de GUI multiplataforma en el que puedo pensar es:

  • QT (C ++, patentado pero gratuito con la licencia LGPL)
  • wxWidgets (C ++, el más completo y estable pero también enorme)
  • FLTK (C ++)
  • FOX (C ++)
  • IUP (C, más simple y más limpio que los anteriores)

Si conoces a Pascal, puedes probar freepascal + Lazarus . Aunque nunca lo he usado.