Pregunta

Al desarrollar una aplicación de escritorio en .NET, ¿es posible que no se requiera .NET Framework?¿Desarrollar software en .NET es una forma preferida de desarrollar aplicaciones de escritorio?¿Cuál es el lenguaje de programación más utilizado por las empresas de software para desarrollar aplicaciones de escritorio?

¿Se supone que el requisito de .NET Framework se basa en el sistema operativo Windows que ha instalado, por eso enumeran los requisitos de la versión del sistema operativo Windows?

¿Fue útil?

Solución

Aún puede desarrollar aplicaciones para el escritorio de Windows usando C/C++, eliminando el requisito del marco .NET, pero deberá asegurarse de que las bibliotecas necesarias ya estén en el sistema o instaladas.

Lo bueno de .NET framework es que Windows XP SP2 y Vista tienen el tiempo de ejecución de framework 3.0 instalado de forma predeterminada.

En muchos sentidos, este es el "estándar de desarrollo" de Microsoft y lo ha sido durante un tiempo.Esto le permite no preocuparse por tener un montón de bibliotecas agregadas a su aplicación.Si se ciñe a todas las bibliotecas proporcionadas por .NET, al final sólo tendrá que preocuparse por implementar su ejecutable, lo cual es un gran alivio para el dolor de cabeza.Cuando tienes un montón de bibliotecas que debes implementar también, entonces comienzas a tener problemas cuando escribes actualizaciones, porque debes asegurarte de que esas actualizaciones se implementen en tu instalador existente y en todas las aplicaciones instaladas existentes. .

En cuanto a "preferido", eso siempre tiende a irritar las plumas a veces, pero cada vez se buscan más desarrolladores .NET para la web y el escritorio en los sitios de búsqueda de empleo que suelo visitar.8^D

EDITAR:Muchas gracias a Orion por señalar mi confusión sobre los marcos.Obtienes 3.0 "desde el principio si estás en XP SP2 o Vista.Todo lo demás requerirá una simple descarga o ejecución de Windows Update.

Otros consejos

No puede ejecutar una aplicación .Net sin el marco .Net.El marco se encarga de algunas de las tareas en segundo plano más tediosas, por lo que no podrías ejecutar la aplicación sin el marco.

En la plataforma Windows, utilizar .NET es la forma preferida de desarrollar aplicaciones de escritorio.El modelo WinForms de .NET es una forma de desarrollar aplicaciones de cliente pesado o tradicionales, siendo Windows Presentation Foundation de .NET la última dirección tecnológica de MS.

Supongo que lo que intento decir es que cuando analizo los requisitos del sistema para cierto software, rara vez veo .NET Framework como un requisito.Entonces, siempre me pregunto cómo se las arreglan sin que sea un requisito (si desarrollaron el software en .NET).Entonces, simplemente asumo que la mayoría del software comercial no está escrito en .NET, por eso hago esta pregunta.Espero que haya aclarado algunas cosas.

Mononucleosis infecciosa Tiene una versión de Windows, si es absolutamente necesario evitar la dependencia de .NET.

Sin embargo, se mire como se mire, necesitará un tiempo de ejecución compatible con .NET en cualquier computadora en la que se ejecute su aplicación.Entonces, si desea evitar por completo .NET, probablemente tendrá que distribuir el tiempo de ejecución Mono junto con su aplicación.

La mejor práctica para la distribución de aplicaciones .NET es que el instalador se inicie de alguna manera con el instalador redistribuible .NET para el marco requerido, de modo que si el marco requerido aún no está instalado (digamos, necesita 3.5 en Windows XP), entonces el instalador solo ponlo.

.NET Runtime es una instalación lo suficientemente pequeña como para que sea factible (es alrededor de 24 MB para .NET 2.0, no he comprobado qué tan grande es .NET 3.5).

Supongo que lo que estoy tratando de decir es que cuando miro los requisitos del sistema para cierto software rara vez veo que el marco .NET es un requisito.Por lo tanto, siempre me pregunto cómo se ponen sin que sea un requisito (si desarrollaron el software en .NET).Entonces, supongo que la mayoría de los software comercial no están escritos en .NET, por eso estoy haciendo esta pregunta.Espero que haya aclarado algunas cosas.

No tengo números, pero voy a suponer que dado que la mayoría de la gente ejecuta XP y Vista en sus escritorios, enumerar el marco .NET es discutible, especialmente si están apuntando al marco 2.0 en el aplicación en sí.En el pasado, ¿cuántas aplicaciones viste que decían "requiere vbrun50.dll" o algo así ya que se incluyó en las instalaciones de Windows de forma predeterminada?

Además, es un poco menos "aterrador" para aquellos que no son muy expertos en informática.Todo lo que quieren hacer es descargar, instalar y ejecutar la aplicación.Un par de aplicaciones que tengo requieren el marco 2.0 y algunas personas me preguntan qué es eso, cómo lo consigo y si me cuesta algo.La respuesta típica que les doy es "Si estás ejecutando XP o Vista, no hay nada de qué preocuparse" y parece que eso les gusta.

Creo que si pudieras hacer algo como vincular estáticamente el marco .NET para no tener que desarrollarlo, entonces estarías infringiendo el EULA que proporciona Microsoft.

¡Es el precio que tenemos que pagar por tener una experiencia de desarrollador tan rica!¡Vale la pena si se considera la dificultad de volver a la programación MFC!

Remotesoft ofrece un enlazador: $1250 por una única licencia de desarrollador: http://www.remotesoft.com/linker/index.html

Si su aplicación se ejecutará en Mono (y el soporte de escritorio Winform de Mono es bastante bueno ahora), puede empaquetar su aplicación como un paquete Mono, que es un único ejecutable.Hay dos opciones: la predeterminada incluye el tiempo de ejecución pero no lo vincula estáticamente, la otra lo vincula estáticamente al tiempo de ejecución Mono.La razón por la que es posible que no desee un enlace estático es que colocaría su aplicación bajo la LGPL;los paquetes que no están vinculados estáticamente (aún solo un exe) no tienen ese requisito.http://www.mono-project.com/Mono:Runtime#Bundles

Podrías considerar usar "Implementación con un clic", lo que hace que sea muy fácil agregar los instaladores redistribuibles .Net 2.0, 3.0 y/o 3.5 a su aplicación.Simplemente haga clic en una casilla de verificación en las propiedades de su proyecto y su instalador detectará automáticamente si se ha instalado el marco de requisitos previos y, en caso contrario, lo instalará.

No es adecuado para todas las situaciones, pero si puedes aprovecharlo puede ser bastante ingenioso.

Hice algo de programación en .NET (usando C#) y me di cuenta de que muchas veces ansiaba tener más control sobre varios controles.Estos requerían conocimientos que se extendían más allá del marco .NET.

Por ejemplo, cuando estaba trabajando con el control WebBrowser para producir una herramienta de prueba automatizada para aplicaciones web, me di cuenta de que hay ciertas situaciones que requerían controladores de eventos del control ActiveX axWebBrowser de nivel inferior y la documentación era escasa/las muestras de código incorporaban una gran cantidad de Conceptos de interoperabilidad COM.Entonces, ¿tal vez tener algún conocimiento sobre COM podría resultar útil?

Supongo que lo que estoy tratando de decir es que cuando miro los requisitos del sistema para cierto software rara vez veo que el marco .NET es un requisito.Por lo tanto, siempre me pregunto cómo se ponen sin que sea un requisito (si desarrollaron el software en .NET).Entonces, supongo que la mayoría de los software comercial no están escritos en .NET, por eso estoy haciendo esta pregunta.Espero que haya aclarado algunas cosas.

Muchas aplicaciones desarrolladas con C++/MFC para escritorios Windows requieren una versión específica de las DLL de tiempo de ejecución de MFC, aunque es posible que no se indique explícitamente como un requisito.Creo que lo mismo ocurre con las aplicaciones que requieren .NET.

Por ejemplo, la aplicación en la que trabajo viene con archivos redistribuibles tanto para .NET como para la versión particular de MFC que necesitamos, así como una serie de otros componentes necesarios.Nuestro programa de instalación instalará cualquier componente que no esté instalado actualmente en el sistema del usuario.Cada versión de los últimos años ha utilizado más código .NET que la versión anterior.

No creo que sea exacto suponer que la mayoría del software comercial no utiliza .NET sólo porque no figura como requisito.No creo que puedas asumir nada con precisión a partir de eso.

Lo bueno de .NET framework es que Windows XP tiene la biblioteca de ejecución de framework 2.0 instalada de forma predeterminada.

¿Desde cuando?Tuve que decirle a muchos de nuestros usuarios de Windows XP que lo instalaran.Sí, puedes bajarlo a través de la actualización de Windows, pero estoy bastante seguro de que es una instalación opcional y no algo que sucede automáticamente.

y Vista tiene 3.5 instalado

No, tiene instalado el 3.0.Obtienes WPF, pero no obtener enlace

Sí, puede crear una aplicación integrada en dot NET sin utilizar el marco.Puede utilizar un programa como ESS dotNET FuZe para incorporar cualquier dll, incluidos los dll de marco, en la aplicación.El EXE resultante ya no necesita un marco.

Por favor vaya a este enlace: http://essaver.net/fuze.html para echar un vistazo a FuZe.

Es posible que no se requiera .NET Framework;Hay algunas empresas que venden (por miles de dólares, claro está) soluciones que le permitirán hacer esto.Sin embargo, estos son trucos completos y no son compatibles con Microsoft.

La forma de desarrollar aplicaciones de escritorio (es decir, usar .NET o no) depende de sus necesidades.No hay una forma preferida.

El lenguaje más utilizado probablemente sea C#.

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