Pregunta

Estoy trabajando en un producto basado en dibujos donde quiero producir versiones para iPhone, OS / X de escritorio, tabletas Windows, navegador basado en Silveright, Windows Mobile y Windows en ese orden de prioridad.

Para la portabilidad de la GUI, la respuesta clásica es mantener el núcleo en C ++ y usar capas delgadas Cocoa / Objective-C o WPF / C #.

Sin embargo, Silverlight complica las opciones.

No tendría ningún problema al migrar mi código a C ++ / CLI y mantener una base de código dual (con algunas macros para falsificar las palabras clave contextuales de C ++ / CLI y algunas búsquedas judiciales y reemplazarlas por ^ y%).

De lo que he podido encontrar hasta ahora , Parece poco probable que C ++ / CLI sea compatible con Silverlight. Eso me deja con las opciones:

  1. Migración única de una base fuente C ++ v1.0 a C # y mantenimiento paralelo en curso
  2. Porte en vivo con una herramienta (¡recomendaciones, por favor!) de C ++ a C # o viceversa, que es lo suficientemente suave como para ser parte de un proceso de construcción.
  3. Separación arquitectónica de la versión Silverlight para que la lógica C ++ permanezca en un servidor. Estoy un poco incómodo con las implicaciones de rendimiento.

¿Alguien puede sugerir alternativas, proporcionar buenas noticias sobre C ++ / CLI en Silverlight o recomendar herramientas de portabilidad? Estoy lo suficientemente cómodo en cualquiera de los dos idiomas para hacer que C ++ o C # sea mi idioma principal para el backend, siempre que un puerto sea confiable.

Editar: Al observar la gama de productos ofrecidos por Soluciones de software tangibles , sus notas sobre los convertidores dejan en claro que la conversión de C # a C ++ es más fácil que a la inversa. Eso es lo que esperaba: plantea ideas interesantes sobre cómo restringir mi estilo C ++ para que sea el denominador OO menos común.

¿Fue útil?

Solución

  

Separación arquitectónica de la versión Silverlight para que la lógica C ++ permanezca en un servidor. Estoy un poco incómodo con las implicaciones de rendimiento.

Yo haría esto. El rendimiento probablemente no sea tan malo como imaginas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top