¿Cuál es el mejor framework multiplataforma Xamarin o QT?

No hay mejor …
… y es una pregunta personal (religiosa) en la mayoría de los casos …

Fui dominante programador de C ++ de 1994 a 2000 e hice algunas bibliotecas de números para Graph Theory que se usaron en mi biblioteca para el modelado, simulación y análisis de Petri Net. La configuración del modelo de algún sistema de fabricación modelado como Petri Net o Automata en c ++ simple fue “run-to-the-hills” para la mayoría de los usuarios. Los usuarios quieren una interfaz de usuario, una interfaz de usuario agradable y con C ++ en ese momento era casi imposible. Lo intenté en 1998 (e implementé la interfaz de usuario) en WxWidgets, pero las mejoras y el mantenimiento fueron engorrosos. En ese momento, estaba claro que el proceso de estandarización demasiado largo hizo algún daño al lenguaje muy poderoso.

Entonces, [todavía] sé algo de C ++ …

Mi vida me llevó a .net en 2001 y desde entonces soy predominantemente desarrollador de C # con viajes ocasionales al mundo de Java y al mundo de C ++ para obtener números. Leo Java y Objective-C / Swift a diario, pero no escribo código.

C # (F #) son hoy verdaderos lenguajes xplat, horizontal y verticalmente.

Horizontalmente:

  • IoT: Windows 10 Core, mono y dotnet core en RPi y otros
  • móvil: Windows Phone, Windows Mobile 10 (UWP), Xamarin.Android, Xamarin.iOS, Tizen
  • escritorio: Windows (WPF, Windows Forms), Linux (GTK #), Mac (Xamarin.mac)

Verticalmente:

  • IoT
  • Móvil
  • escritorio
  • Servidor – ASP.net

Entonces, con C # puedo compartir mucho código horizontal y verticalmente y compartir significa menos recursos (tiempo, mano de obra) y esto significa ahorro de costos y esto significa que las empresas lo valoran. Por lo tanto, verá mucho C # y Java en el cuerpo, pero no tanto Qt. Si se usa c ++ para el procesamiento de números, se envolverá con C # PInvoke y JNI de java.

Con C # es posible acercarse al rendimiento de C ++ con optimizaciones avanzadas, pero esto agrega esfuerzo a la codificación normal.

Entonces, si eres un desarrollador de C #, lo más probable es que elijas Xamarin y si eres un desarrollador de C ++, la elección será Qt.

Xamarin

Xamarin se ha convertido en uno de los principales proveedores de soluciones en el mercado nativo de desarrollo de aplicaciones multiplataforma. La herramienta permite a los desarrolladores usar una base de código C # para crear aplicaciones de Android , iOS, Mac y Windows. Hay acceso nativo a la API en los sistemas operativos compatibles y también la capacidad de agregar “componentes” a una aplicación para la funcionalidad del complemento, como el escaneo de códigos de barras, la facturación en la aplicación y una multitud de controles personalizados.

Qt

La herramienta de desarrollo multiplataforma más antigua, Qt tuvo su lanzamiento inicial en 1990. Posiblemente tiene la lista más grande de medios compatibles, especialmente Android, iOS , BlackBerry y Windows, pero también llega a Mac OS, Linux, Sailfish, QNX y más.

Las últimas versiones de Qt (5.6+) incluyen una gran cantidad de soporte de aplicaciones móviles, agregando funcionalidad para DPI alto, navegación y UI temática. Desde entonces, se han agregado más controles a estos estilos que cubren Diseño de materiales (Android), Diseño universal (Microsoft) y el estilo predeterminado de Qt.

Escribí esto que cubre esos dos. La esencia de esto es que ambos marcos tienen objetivos completamente diferentes. Xamarin es un marco nativo pesado que significa que cada botón en Xamarin se asigna a un botón nativo del sistema operativo con todo el equipaje que trae el frente de portabilidad.

QT es un marco ligero que significa que dibuja un botón por sí mismo y, por lo tanto, es conceptualmente más portátil.

Estas son compensaciones ideológicas, por lo que debe decidir de qué lado del debate le gustaría estar. Además de eso, C ++ y C # son bastante diferentes entre sí.

Bueno, parece que hay muchas diferencias. Nunca escuché sobre QT hasta que lo preguntaste. Entonces esto podría no ser justo.

Hay varias diferencias centrales entre Xamarin y QT, y también similitudes. Investigué hace un tiempo sobre Xamarin frente a otros. Y sigo creyendo que ir con Xamarin fue la elección correcta.

Comparemos.

  1. Soporte y documentación: la documentación de Xamarin está mejorando desde que Microsoft la adquirió. El apoyo de la comunidad es enorme. La fuente está disponible en GitHub. QT parece ser desconocido, si golpeas una pared, estás solo. Tal vez un poco de apoyo muy limitado. La documentación de C # está en todas partes, QT, lo dudo. La documentación específica de Xamarin está mejorando enormemente desde que Microsoft la adquirió. Xamarin gana aquí.
  2. Con licencia, Xamarin es gratuito en Visual Studio Community Edition. Sin embargo, necesita una Mac para compilar para iOS (si QT se compila de forma natural, también lo necesita, es solo el Acuerdo de Apple). QT viene en 2 términos de licencia. Perpetua y suscripción. Cada uno requiere renovación para obtener la nueva versión de las herramientas (que incluye correcciones de errores que solucionan problemas con su aplicación) ¡Camarin también gana aquí! Y si es una startup, solicite Bizspark, obtendrá VS Enterprise de forma gratuita.
  3. Si conoce C #, esa sería otra razón para usar Xamarin.

Al final, solo usted puede decidir cuál se ajusta a sus necesidades. La pregunta es demasiado amplia, QT definitivamente tendrá sus ventajas sobre Xamarin. Pero no pude encontrarlos.

Si el tiempo retrocede, aún elegiría a Xamarin, poner mi destino Startup’a en manos de Microsoft es mejor que un inicio. Sé que Microsoft y Xamarin no irán a ningún lado pronto. El compromiso a largo plazo es importante, vivirás con esta opción durante mucho tiempo. Elije sabiamente.

Espero que esto ayude,

Adel

Yo uso Xamarin y es uno de los mejores marcos multiplataforma

Si conoce C #, puede usarlo para crear aplicaciones para Android, iOS y UWP con el mismo código

Sin plataforma cruzada, debe escribir la aplicación para Windows con C #, para iOS con Swift u Objective-C y para Android con Java

Puede comenzar a aprender C # desde cero y también puede aprender sobre Xamarin en http://www.university.xamarin.com

(1) Xamarin es GENIAL para el desarrollo de C #

(2) Qt es GENIAL para el desarrollo de C ++ (y otros lenguajes también)

(3) Qt es más potente (más funciones + más rápido)

Xamarin

More Interesting

¿Quiénes son los mejores desarrolladores de aplicaciones móviles en EAU o en un país cercano?

¿Cuáles son las posibilidades para el desarrollo de aplicaciones móviles?

¿Puedo tomar mi aplicación móvil actual y asignarla a otro equipo de desarrollo para continuar el proyecto?

Cómo transmitir mis ideas a un equipo de desarrollo móvil

¿Qué tan difícil es desarrollar una aplicación como Playchess?

¿Puedes convertirte en millonario haciendo una aplicación gratuita?

¿Cómo se cancelan las notificaciones móviles de WhatsApp cuando se leen mensajes en la web de WhatsApp?

¿Cuáles son las herramientas utilizadas para desarrollar aplicaciones de Android?

Estoy dispuesto a cambiar rápidamente mi carrera y comenzar a solicitar trabajos independientes. ¿Qué es mejor, desarrollo móvil, backend Java o front-end web?

¿Cuánto tiempo le tomaría a una persona sin experiencia en informática desarrollar una aplicación móvil?

Si tuviera que crear una aplicación web con aproximadamente 5000 usuarios, ¿qué tecnologías utilizaría? ¿Qué pasaría si también quisieras tener una aplicación móvil?

¿Cómo les va ahora a los desarrolladores de aplicaciones y negocios de Internet móvil de Indonesia?

Para una carrera, ¿debería seguir el desarrollo de iOS solamente o también debería aprender el desarrollo de Android?

¿Qué marco debo usar para crear una aplicación multiplataforma como Evernote o Dropbox?

Cómo comenzar a escribir aplicaciones Java para teléfonos celulares