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á.