¿Existe una tendencia para los kits de herramientas GUI multiplataforma? [cerrado]

12

¿Cuál es la tendencia actual para el uso de marcos de GUI multiplataforma en este momento? ¿Hay más personas que comienzan a usar marcos multiplataforma (como GTK +, Qt y wxWidgets) o hay más que usan más marcos vinculados a la plataforma (por ejemplo, Cocoa o WPF)? ¿Está más o menos estancado? ¿Es como una montaña rusa? ¿Cómo crees que será la tendencia, digamos, dentro de 5 años?

El panorama del sistema operativo está cambiando con menos personas que usan Windows (observación personal). Esto debería aumentar la demanda de kits de herramientas multiplataforma, ¿no es así?

Editar: Además, ¿qué herramientas (multiplataforma) son las que más crecen, si es así?

    
pregunta Anto 30.01.2011 - 14:28

4 respuestas

11

Casi parece que hay una tendencia contra los kits multiplataforma. Si la gente quiere escribir una vez, ejecutar en cualquier lugar, tienden a usar HTML, hacer un sitio web. Las personas solo están utilizando los kits de herramientas de la plataforma cuando se exige un aspecto y comportamiento nativos, por ejemplo, en el iPhone. Por lo tanto, si la razón principal por la que se está molestando con la aplicación que no es de la Web es tener un aspecto y un estilo nativos, no tiene mucho sentido usar un kit multiplataforma.

Los kits de herramientas multiplataforma nunca han funcionado tan bien; Las plataformas de escritorio no son tan similares, y es difícil abstraerlas realmente. Agregar teléfonos y tabletas a la mezcla lo hace aún más difícil. Usted termina con una abstracción muy permeable (consulte enlace ). A menudo es más fácil separar bien su "motor" de su interfaz de usuario y escribir la interfaz de usuario por separado por plataforma.

La tendencia a que Mac sea más popular podría hacer que los kits multiplataforma sean menos populares en lugar de más. Creo que a menudo la gente usa un kit multiplataforma más para verificar teóricamente la casilla de verificación multiplataforma que para obtener resultados realmente buenos en todas las plataformas. Una vez que realmente te preocupas por las múltiples plataformas ... empiezas a ver cómo los kits multiplataforma tienen desventajas.

Aquí hay una publicación del blog de Alex Payne sobre esas desventajas: enlace

Creo que es revelador que muchas de las aplicaciones grandes y populares multiplataforma inventen su enfoque multiplataforma propio (Firefox, Chrome, Eclipse, OpenOffice.org son ejemplos que vienen a la mente). Al ser propietarios del marco, pueden perforar la abstracción cuando sea necesario. Además, todas estas aplicaciones han tendido a verse igual (y no especialmente nativas) en todas las plataformas.

Dicho todo esto, no tengo estadísticas reales ni nada. Pero he trabajado mucho en GTK + y tengo cierta familiaridad con los códigos de base, incluidos Firefox, Chrome y Eclipse. Así que he visto los desafíos técnicos aquí de primera mano.

    
respondido por el Havoc P 30.01.2011 - 16:23
13

De hecho, ha habido una tendencia hacia un conjunto de herramientas de interfaz de usuario multiplataforma en los últimos años. Ese kit de herramientas es HTML / CSS / JavaScript.

Es mucho más sencillo de desarrollar una vez y lo veo ejecutarse de manera casi idéntica en todas partes.

Y sí, los desarrollos se están alejando masivamente del escritorio a la web. Lo ves tú mismo.

    
respondido por el user8685 30.01.2011 - 15:44
7

Tiendo a usar juegos de herramientas multiplataforma porque tienen un mejor diseño, no porque estoy tratando de ser multiplataforma. Por ejemplo, trabajo en proyectos escritos en C ++ dirigidos únicamente a la plataforma Windows. ¿Uso win32 o MFC, prácticamente las ÚNICAS opciones disponibles para el kit de herramientas nativo?

Holy fsck no! ¡Son casi los peores montones de basura de espagueti que he visto! El acoplamiento directo del sistema de eventos al sistema de "mensajes" subyacentes del sistema operativo es increíblemente poco intuitivo y carece de la expresividad necesaria para crear rápidamente programas de IU. Las abstracciones de nivel superior, actualmente solo proporcionadas por kits de herramientas multiplataforma, son absolutamente esenciales para la tarea.

Ese es solo un ejemplo también. Podría enmarcar y en la lista de cosas que se hacen mejor con los juegos de herramientas multiplataforma. El hecho es que las interfaces gráficas son más similares entre sí que distintas. Hay muy poca diferencia entre un programa de Windows en Windows y uno en Linux, por ejemplo. El tipo de cosas que hace cuando crea programas de UI es casi siempre el mismo, independientemente del sistema operativo al que se dirija ... y solo pequeñas diferencias entre arquitecturas, como teléfono / palm o computadora. El campo se ha centrado simplemente en metodologías multiplataforma porque a) es necesario para mucha gente yb) es lo mismo sh! T.

    
respondido por el Crazy Eddie 30.01.2011 - 22:05
0

Un argumento en contra de producir un marco multiplataforma es que siempre estará dirigido al denominador común más bajo: los clientes del marco quieren escribir código solo una vez y se ejecutan en todas partes. Por lo tanto, una plataforma de hardware impresionante se parecería a cualquier otra plataforma que ejecute ese marco, ya que no puede aprovechar las características específicas de la plataforma.

Con el tiempo, desafortunadamente, esto da como resultado marcos que se inclinan hacia su plataforma más popular y el soporte de hacking en conjunto para las otras plataformas, o simplemente los recortan cuando se acaba el presupuesto / popularidad.

Una forma de sacar provecho de las habilidades específicas de la plataforma es tener algo como una construcción #if PLATFORM_FEATURE_X en torno a todos los códigos específicos o verificaciones de tiempo de ejecución equivalentes que resulten en la expansión del código. Esto se vuelve tedioso con bastante rapidez, ya que las variantes de la misma plataforma necesitarán un manejo específico. Por ejemplo, algunos XBox v1 no tenían disco duro, por lo que los juegos que utilizan herramientas multiplataforma no podían usarlo para el almacenamiento en caché, en comparación con una versión para PC en la que se puede garantizar un disco duro.

Para las aplicaciones de escritorio / productividad, el aspecto de la plataforma parece ser importante, pero muchas aplicaciones tienen su propio estilo, por lo que no es un problema que se vea igual en todas las plataformas, por ejemplo. Aplicaciones creadas con AIR.

Los proveedores de hardware como Apple, Sony, Nintendo y Toshiba querrán asegurarse de que sus productos hagan algo para diferenciarse de la competencia, por ejemplo. Toque, Acelerómetros / Groscopios, Blu-Ray, pantalla 3D. Es poco probable que alguna vez haya una plataforma con todas las características de todos los competidores combinados en uno (debido al costo y la complejidad), por lo que uno ganará.

    
respondido por el JBRWilkinson 30.01.2011 - 21:15

Lea otras preguntas en las etiquetas