2008-10-29 26 views
7

¿Está Visual Studio escrito en .NET winforms? ¿O los winforms son demasiado lentos para una aplicación tipo editor?¿Visual Studio está escrito en winforms?

+0

No es lento para mí. –

+0

Daok, ¿qué quieres decir? Entonces, ¿contranet está escrito en .net winforms? –

+9

Esta pregunta es un poco como preguntar "¿Cuándo dejaste de pegar a tu esposa?" –

Respuesta

1

Basado en mi experiencia con el VS SDK, parece que fue creado con C++/COM, pero creo que es solo porque el equipo de Visual Studio decidió hacerlo (AND Windows Forms no existía como versión versión cuando estaban desarrollando por primera vez el IDE de VS.NET).

Puede usar Windows Forms para una aplicación de tipo editor. Creo que SharpDevelop es una aplicación de WinForms.

3

En su núcleo, VS sigue siendo un ejecutable no administrado, por lo que no usa winforms. Puede haber partes escritas en .NET particularmente en torno a algunas de las características más nuevas, pero el modelo de extensibilidad del núcleo está basado en COM (y muy complejo ...)

21

Esta no es una pregunta justa. :)

Visual Studio .NET (devenv.exe) no está escrito directamente en WinForms, ya que no es un ejecutable de CLR. (Mi corazonada es que todavía se produce con Visual C++.) Sé de hecho que ni las versiones 2005 y 2008 de devenv.exe llevan un encabezado CLR. (Acabo de eliminar ambos en ILDASM, definitivamente no son código administrado.)

Dicho esto, el hecho de que devenv.exe no esté escrito en WinForms no significa que WinForms sea demasiado lento para un editor. WinForms no es, en la mayoría de los sistemas, demasiado lento en absoluto: nuestro código de aplicación será el cuello de botella antes de que el marco sea.

Mi corazonada es que devenv.exe está escrito en C/C++ debido a que es una actualización de un entorno de larga data; el costo para Microsoft para reescribirlo en .NET es indudablemente prohibitivo.

Una vez más, en lo que respecta a la velocidad de WinForms, hay bastantes aplicaciones de WinForms que no tienen ningún problema de rendimiento, incluido un IDE de .NET bastante robusto (SharpDevelop).

+0

Así como monodesarrollo (el puerto mono de SharpDevelop) es toda la aplicación administrada, y funciona bien sin ningún problema. (http://monodevelop.com/) –

+1

La última vez que revisé, devenv.env mostró signos de estar escrito con C++ y MFC: si usas WinSpy para mirar los nombres de clase de ventana, muchos de ellos tienen el clásico "Afx". .. "patrón de MFC. – DavidK

+0

DavidK: Eso tiene mucho sentido, si se tiene en cuenta que devenv.exe ha existido desde los primeros días de Visual Studio, y se ha actualizado/modificado a lo largo de los años en lugar de reescrito. ¡Buena llamada! (No pensé en WinSpy.) –

2

Si el equipo VS no usó WinForms, está sugiriendo que la única razón posible sería que WinForms sea demasiado lento. Eso no es valido El hecho de que el IDE de SharpDevelop esté escrito en WinForms y tenga un buen rendimiento muestra que no es "demasiado lento", independientemente de lo que use el IDE de Visual Studio.

3

Esto suena un poco como una pregunta "Are you still beating your wife?" sin respuesta que suena bien desde el punto de vista de Visual Studio.

No, Visual Studio (al menos hasta 2008) no está escrito con .NET. Sin embargo, SharpDevelop y otros editores son y no sufren necesariamente problemas de velocidad.

+1

Realmente podrías haber elegido una mejor metáfora que esa ... – RCIX

2

Esta es una especie de dos preguntas en una. Como otros han mencionado, Visual Studio no usa WinForms. Su otra pregunta no tiene nada que ver con la primera, ya que a) Visual Studio no es un "editor", es un IDE yb) está haciendo la pregunta.

Dicho esto, WinForms es una excelente opción para cualquier aplicación basada en Windows, incluyendo un IDE (como SharpDevelop antes mencionado) y cualquier "editor" que pueda imaginar, incluyendo audio y video. Entonces, no, no es "demasiado lento" para una "aplicación tipo editor".

Usted es libre, por supuesto, de escribir código lento que se ejecuta en una aplicación de Windows Forms.:)

Cuestiones relacionadas