Estoy comenzando mi primer proyecto de C++. Estoy usando Visual Studio 2008. Es una aplicación de Windows de una sola forma que accede a un par de bases de datos e inicia una transacción de WebSphere MQ. Básicamente, entiendo las diferencias entre ATL, MFC, Win32 (soy un poco confuso en eso en realidad) y CLR, pero no sé cómo elegir.¿Cómo decido si usar ATL, MFC, Win32 o CLR para un nuevo proyecto de C++?
¿Hay uno o más de estos para compatibilidad retroactiva?
¿Es CLR a bad idea?
Cualquier sugerencia apreciada.
Editar: He elegido C++ para este proyecto por razones que no incluí en la publicación, que no son del todo técnicas. Entonces, asumiendo C++ es la única/mejor opción, ¿cuál debería elegir?
Buena pregunta. Es parte de un proyecto más grande que incluye algunas otras piezas que tienen que estar en C++ por razones relacionadas con legado y proveedores. Esta parte no * tiene * que estar en C++ pero como hay otras partes que sí lo tienen, y dado que esta parte es relativamente pequeña, estaba planeando hacerlo todo en el mismo idioma. –
C++/CLI (/ clr) puede estar muy cerca de C#, si le gusta trabajar en C#, pero quiere/necesita usar C++. La principal diferencia son algunas cosas menores de sintaxis, y tratar de evitar el uso de C++ estándar en lugar de las llamadas al CLI. Realmente no hay razón para evitarlo. –
Y eso no es necesariamente un mal proceso de pensamiento. Sin embargo, todavía creo que lo mejor es ir C# y P/Invoke en sus bibliotecas existentes. Si ya era * un * gurú de MFC, y esto era solo una pequeña adición a su proyecto, entonces sí, probablemente tendría sentido continuar en C++. Aunque incluso en ese caso podría ser una buena oportunidad para crear un "tiempo de práctica" con .NET framework – Clyde