No tengo mucho conocimiento sobre el desarrollo de Windows Phone 7
. Sé que existen dos caminos para el desarrollo de una aplicación. Silverlight
o XNA
. Antes de comenzar, me gustaría saber para qué escenarios Silverlight
es la mejor opción y para qué tipo de aplicaciones tiene más sentido usar XNA
?¿Cuándo debería usar Silverlight y cuándo XNA?
Respuesta
Silverlight está diseñado para aplicaciones de construcción. Como tal, incluye un modelo de gráficos retenidos (el re-dibujo se maneja para usted) y una amplia gama de elementos de interfaz de usuario que incluyen controles interactivos y controles que realizan la lógica de diseño.
XNA está diseñado en torno a los juegos de construcción. Como tal, incluye un modelo de gráficos inmediato (debe dibujar cada fotograma) y funciones amigables para el juego, como una cartera de contenido para importar gráficos y soporte de audio de bajo nivel.
No hay nada que te impida usar Silverlight para juegos y XNA para aplicaciones, pero a menos que tengas una buena razón para cambiarlo, te encontrarás luchando contra el framework mientras intentas hacer cosas simples.
Neil Knight mencionó que puede usar las mezclas en Mango, aunque la mezcla implica el uso de XNA en una aplicación Silverlight y no al revés.
Silverlight tiene un rico conjunto de objetos para construir interfaces bidimensionales, especialmente interfaces 2D compuestas de texto, botones, imágenes. Es excelente para mostrar datos y tomar datos.
XNA está diseñado para construir juegos o simulaciones, en particular 3-d, y le da acceso al dispositivo a un nivel algo más cercano al hardware. XNA carece del tipo de objetos que tiene Silverlight, pero tiene la flexibilidad de hacer cosas más interesantes si pasa el tiempo.
Puede encontrar this post más útil.
Microsoft proporciona una tabla útil sólo para este tipo de pregunta :)
http://msdn.microsoft.com/en-us/library/ff402528(v=VS.92).aspx
Uso Sliverlight si
- quieres un marco de aplicación orientada a eventos basados en XAML.
- Desea una creación rápida de una interfaz de usuario de estilo Rich Internet Application.
- Desea utilizar los controles de Windows Phone.
- Quiere incrustar video dentro de su aplicación.
- Desea utilizar un control de navegador web HTML.
uso XNA si
- ¿Quieres un marco de juego de alto rendimiento.
- Desea una creación rápida de juegos en 2D y 3D con varias pantallas.
- Desea administrar recursos artísticos como modelos, mallas, sprites, texturas, efectos, terrenos o animaciones en XNA Content Pipeline.
Combinar Silverlight y XNA si
- ¿Quieres una aplicación basada en XAML, basada en eventos integrado con un marco de juego de alto rendimiento.
- Desea crear un juego de múltiples pantallas en 2D o 3D que incorpore una interfaz de usuario de Rich Internet Application.
- Desea utilizar controles de Windows Phone junto con elementos artísticos como modelos, mallas, sprites, texturas, efectos, terrenos o animaciones en XNA Content Pipeline.
- Desea utilizar el procesamiento de texto de Silverlight, incluido el texto internacional, en lugar de las fuentes sprite.
- Desea que el modelo de navegación de página de una aplicación de Silverlight se combine con el rico poder gráfico de una aplicación de XNA Framework.
- 1. ¿Cuándo debería usar TCP_NODELAY y cuándo TCP_CORK?
- 2. ¿Cuándo debería usar require() y cuándo usar define()?
- 3. ¿Cuándo debería usar _aligned_malloc()?
- 4. ¿Cuándo debería usar CompiledQuery?
- 5. ¿Cuándo debería usar GC.SuppressFinalize()?
- 6. ¿Cuándo debería usar semáforos?
- 7. ¿Cuándo debería usar ConcurrentSkipListMap?
- 8. Cuándo debería usar SynchronousQueue
- 9. En SQL Server, ¿cuándo debería usar GO y cuándo debería usar punto y coma?
- 10. ¿Cuándo debería usar doctrine ORM y cuándo zend-db-table?
- 11. ¿Cuándo debería usar async/await y cuándo no?
- 12. ¿Cuándo y por qué debería usar TStringBuilder?
- 13. ¿Cuándo debería usar IEnumerable y GetEnumerator?
- 14. ¿Cuándo debería usar remove_reference y add_reference?
- 15. C# ¿Cuándo debería usar List y cuándo debería usar el arraylist?
- 16. ¿Cuándo debería usar std_logic_vector y cuándo debería usar otros tipos de datos?
- 17. ¿Cuándo debería usar stdClass y cuándo debería usar una matriz en php oo?
- 18. ¿Cuándo debería usar Import-Package y cuándo debería usar Require-Bundle?
- 19. En Objective-C, ¿cuándo debería usar métodos de clase y cuándo debería usar métodos de instancia?
- 20. ¿Cuándo debería usar html5 sessionStorage?
- 21. C#: ¿Cuándo debería usar TryParse?
- 22. Cuándo usar Pepino y cuándo usar RSpec?
- 23. ¿Cuándo debería usar "use" y cuándo "require" y cuándo "AUTOLOAD" en perl [buena práctica de programación]?
- 24. ¿Cuándo debería usar # en ColdFusion?
- 25. ¿Cuándo debería usar marcos HTML?
- 26. ¿Cuándo debería usar los parámetros?
- 27. ¿Cuándo debería usar git add?
- 28. ¿Cuándo debería usar un analizador?
- 29. ¿Cuándo usar == y cuándo usarlo?
- 30. Cuándo usar undef_method, y cuándo usar remove_method?
En realidad, con el nuevo desarrollo de Beta para Windows Phone, puede mezclar Silverlight y XNA juntos. –
posible duplicado de [WPF, Silverlight o XNA: elección de una plataforma para el desarrollo de juegos] (http://stackoverflow.com/questions/540227/wpf-silverlight-or-xna-choosing-a-platform-for-game-development) –