Pregunta

.NET se ha convertido en una tecnología popular entre los desarrolladores y consumidores de software. Estaba pensando si sería una sabia decisión desarrollar un producto basado en Windows Forms en .NET que pueda ser descargado por miles de clientes en todo el mundo. El verdadero problema podría ser la instalación del framework que ha crecido considerablemente con las versiones .NET.

v2.0 tenía una instalación decente de 22MB pero la última v3.5 supera los 150MB y puede ser un factor decisivo para los clientes. He oído hablar de algunas herramientas que hacen un tipo de "estático". enlazar para ensamblados .NET (por ejemplo, ILMerge) y puede usarse para crear pequeños ejecutables autocontenidos, pero la pregunta es si estas herramientas pueden usarse en un entorno de producción. La herramienta ILMerge fue una herramienta de investigación y creo que nunca llegó a la instalación VS.

Tengo un producto para desarrollar que necesita una interfaz de usuario muy bonita que se pueda lograr con el soporte de WPF. Pero no estoy seguro de si los clientes desean descargar un marco de 150 MB (no estoy seguro de qué tan grande es la versión 3.0) para una aplicación de 4 MB. Si desarrollo en .NET 2.0, pierdo el soporte para WPF. ¿XP, Vista, Windows 7 vienen con un marco .NET preinstalado?

- ACTUALIZADO BASADO EN COMENTARIOS -

La aplicación se descargará de un sitio web y no tendrá medios distribuibles.

  1. Use .NET 2.0 : esto no me permitirá usar WPF, por lo que perderé las cosas elegantes a menos que use alguna herramienta de skinning de terceros.
  2. Use el perfil del cliente para eliminar la instalación : la instalación se reducirá a alrededor de 30 Megs y retendré el soporte de WPF / WCF junto con las nuevas características del marco.
  3. Sistemas operativos compatibles

      Win 98, ME, 2000 - Full install of Runtime required
      Win XP SP2, SP3, 2003 (I think these have .NET 2.0)
      Vista, 2008 - All version have atleast v3.0
      Windows 7 - v3.5
    
¿Fue útil?

Solución

Varias versiones de .NET Framework vienen preinstalado con Vista y Windows 7 :

  • XP - Nada
  • Vista - .NET 3.0
  • Windows 7 - .NET 3.5

Si está realmente preocupado por el tamaño de descarga, debería echar un vistazo al perfil del cliente. Esta es una versión reducida del marco que incluye solo los bits más importantes para el desarrollo de aplicaciones cliente. Creo que tiene ~ 30 MB de tamaño. El soporte fue irregular en 3.5. Solo funcionaba en XP de 32 bits y solo si no se instalaron otras versiones de framework , pero parece ser mucho mejor en 4.0. Ahora funciona en todas las plataformas que admiten el marco completo .NET, incluso si ya tienen otra versión de marco y viene en forma redistribuible, así como un instalador web Ver aquí

Más allá de los detalles técnicos, debe considerar su mercado objetivo. Diferentes mercados tienen diferentes líneas base y requisitos. Recuerde que siempre puede agrupar el instalador .NET con su aplicación en un solo CD si está distribuyendo físicamente los medios. Yo diría que en la mayoría de los casos no debería ser un problema (especialmente si se dirige al perfil del cliente), solo me preocuparía si se dirigiera a un sector de mercado pequeño y específico que tuviera requisitos muy estrictos sobre qué software estaba permitido .

Otros consejos

Si le preocupa el tamaño de la instalación, apuntaría al marco .Net 2.0 sobre el marco .Net 3.5, si solo está haciendo una aplicación básica de formularios de Windows (sin WCF, WPF o Linq, etc.) entonces, el marco .Net 2.0 tiene el 90% de la funcionalidad de .Net 3.0 o 3.5, y también se presenta en un porcentaje mucho más alto de máquinas (80% según este blog)

En VS2008 modifiqué las plantillas de mi proyecto para que este sea el predeterminado.

También existe la .NET Framework Vista previa del perfil del cliente eso debería reducir el tamaño de descarga de .NET Framework a 28 MB. Incluye WPF.

Ciertamente puede ser una preocupación para los usuarios con conexiones de red lentas. Una solución es restringir el desarrollo para que no use funciones más nuevas (eso es lo que hago) y proporcionar un enlace al tiempo de ejecución de .NET 2.0 en la página web de instrucciones de instalación de su aplicación. Esto funcionará bien para Windows Forms (aunque no será posible usar WPF y algunas de las funciones de idioma más recientes).

No creo que sea un factor decisivo, la mayoría de las veces. Vista tiene .NET 3.0 ya empaquetado, creo. Además, Java está en el mismo barco (que requiere un JRE) y no conozco ningún software que realmente haya sufrido la "sobrecarga". de descargar una plataforma en tiempo de ejecución como Java o .NET.

Creo firmemente que es mejor pensar en estas plataformas como estándares de facto ; Tantas aplicaciones los requieren hoy en día; es probable que la mayoría de sus usuarios potenciales ya los tenga instalados.

Ok, déjame hacerte esta estúpida pregunta. ¿Por qué te has limitado a un cliente de escritorio independiente en lugar de una aplicación web? Podrías hacer las cosas elegantes usando Silverlight. Uno de los clientes con los que trabajé tiene un cliente independiente en el mercado, pero finalmente quiere trasladarlo a la Web, ya que también necesita a los usuarios de Mac.

Que sea tan maravilloso que los clientes descarguen un marco de 1GB :).

Ahora en serio, ya que XP y todas las versiones anteriores vienen con .NET preinstalado, ¿de qué se preocupa?

Podrías apuntar a .NET 2.0 por ahora (a menos que estés comprometido con WPF) y, después de que 3.5 gane suficiente popularidad, cambiar.

Si no se requiere la instalación fuera de línea de .NET, entonces se puede utilizar el instalador en línea y el tamaño real de descarga será inferior a 60 megas (dependiendo de cuánto ya esté instalado).

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