Las aplicaciones WPF son, en esencia, aplicaciones administradas? Right? Entonces, tengo que elegir entre usar C++ administrado o C# administrado. Experimenté con C++ administrado hace años. Parecía no estar del todo preparado para el horario estelar. Supongo que Microsoft ha puesto más esfuerzo en administrar C# que en C++ administrado. Por lo tanto, parece que usar C# administrado es la mejor alternativa entre los dos. ¿Es este el caso? ¿Qué experiencias has tenido con WPF en cualquier idioma? Gracias por adelantado.¿Debería escribirse una aplicación WPF en C++/CLI o C#?
Respuesta
Managed C++ ha sido reemplazado por C++/CLI, y "managed C#" es solo C#.
Recomiendo encarecidamente que utilice C# para un nuevo proyecto y use C++/CLI solo cuando sea necesario. C# tiene una mejor compatibilidad, tiene una base de usuarios más grande y es más fácil trabajar con Visual Studio 2010.
Además, tenga en cuenta que C++ y C++/CLI son dos idiomas diferentes. Para mi primer proyecto .Net, elegí C++/CLI porque ya conocía C++, y esta era una muy mala idea: la curva de aprendizaje de C++ a C++/CLI es similar a aprender C# de C++: no caiga en esa trampa .
En términos de back-end, ambos se ejecutan en el CLR y ambos son capaces del trabajo. En realidad, todo se reduce a lo que te hace sentir más cómodo. Si no está seguro, experimente con ambos. Usa lo que sea más productivo.
Editar:
Como se acaba de señalar a mí, sin embargo, parece que el apoyo para plantillas de WPF (y posiblemente incluso intelisense) simplemente no está allí para C++. Entonces, en ese caso, creo que debería recomendar C#.
C# es el más utilizado, por lo que si tiene problemas, hay más soporte en línea para C#. C# también tiene un mejor soporte por parte de Microsoft. En general, es solo un producto más terminado, incluso ahora. Si realmente no te importa, iría con C#.
No es cierto.C++/CLI * es * un producto acabado y maravilloso, especialmente con las especificaciones C++ 0x y la capacidad de utilizar librerías de plantillas de encabezado C++. Sin embargo, rara vez es la herramienta adecuada para el trabajo. –
Creo que C++ es mejor para juegos, donde necesitas llegar a un nivel básico a menudo. WPF está tratando de hacer exactamente lo contrario; 'alejate del dibujo y déjame hacer todo por ti'. C# simplemente se ajusta mejor a ese concepto. –
Puede usar C++ administrado para su backend pero, en la inspección, VS (estoy usando 2010 Ultimate) no tiene ninguna plantilla incorporada para una aplicación C++ WPF, solo C# o VB.
Estoy seguro de que podría forzarlo a trabajar si quisiera, pero le sugiero que use C#.
C++/CLI solo fue creado para admitir la escritura de capas de interoperabilidad entre código no administrado (es decir, C/C++ nativo) y código administrado. Para "levantar objetos pesados", definitivamente debe usar C# (o VisualBasic.NET).
IMO sin duda C# (o VB/F #).
C++/CLI es excelente cuando se cruza el límite del mundo administrado y una biblioteca C++. La complejidad es más alta, aunque surgen cuestiones sutiles por el hecho de que uno combina un lenguaje administrado y otro no administrado.
Los tiempos de compilación también son más largos en C++/CLI, especialmente dado que las plantillas de código se modelan después de cómo funciona el compilador de C# en función de cómo funciona el compilador de C++.
- 1. ¿Debería escribirse el código cliente-servidor en un "proyecto" o dos?
- 2. ¿Qué partes de una aplicación Java deberían escribirse en Scala?
- 3. Reciba WM_COPYDATA struct en la aplicación WPF o Console C#
- 4. ¿Cómo usar archivos EPS en una aplicación WPF o Silverlight?
- 5. ¿Cuándo debería usar SnapsToDevicePixels en WPF 4.0?
- 6. DialogResult en la aplicación WPF en C#
- 7. ¿Podemos ejecutar una aplicación C#/WPF en Mac OS X?
- 8. ¿Debería un objeto escribirse a sí mismo en un archivo, o debería actuar sobre él otro objeto para realizar E/S?
- 9. ¿Qué debería saber un desarrollador experto en C#/.Net/WPF?
- 10. Gráfico de líneas dinámicas en C# Aplicación WPF
- 11. ¿Cómo deberían escribirse expresiones booleanas en PHP?
- 12. ¿Cómo podría escribirse este fragmento C de forma más segura?
- 13. Cómo implementar mdi en una aplicación WPF
- 14. Cómo convierto una aplicación de consola .NET a una aplicación Winforms o WPF
- 15. Reiniciar la máquina desde una aplicación C#/WPF
- 16. WPF o Windows Forms
- 17. ¿Cómo actualizar appSettings en una aplicación WPF?
- 18. WCF dataservice security en una aplicación WPF
- 19. Ejecutar una aplicación WPF en Windows XP
- 20. Silverlight o WPF?
- 21. ComboBox SelectedValue o SelectedItem Binding WPF C#
- 22. ¿Incrustar Flash Player en una aplicación C++ o Java?
- 23. Prueba de una aplicación WPF Gui-heavy
- 24. ¿Cómo creo una aplicación C# que decide si mostrarse como consola o aplicación de ventana?
- 25. Cómo usar System.ComponentModel.DataAnnotations en la aplicación WPF o Winforms
- 26. Enfoque para una aplicación WPF multilingüe
- 27. WinForms o WPF o Qt para la GUI de Windows con C/C++ como back-end
- 28. ¿Encuentra la ubicación del ejecutable de mi aplicación en WPF (C# o vb.net)?
- 29. Aplicación WPF usando una variable global
- 30. ¿Cómo salir de una aplicación WPF programáticamente?
No realmente: Visual Studio tiene características IDE para admitir el desarrollo de WPF con C# (y VB.NET) pero no para C++/CLI. Y luego está esto: http://stackoverflow.com/questions/2681999/no-intellisense-for-c-cli-in-visual-studio-2010 –
Gracias por traer eso a mi atención. No me di cuenta de que el apoyo era así de carente. – nukefusion