Question

Lors du développement d’une application de bureau en .NET, est-il possible de ne pas avoir besoin du .NET Framework ?Le développement de logiciels en .NET est-il un moyen privilégié pour développer des applications de bureau ?Quel est le langage de programmation le plus utilisé par les éditeurs de logiciels pour développer des applications de bureau ?

L'exigence du .NET Framework est-elle simplement supposée en fonction du système d'exploitation Windows que vous avez installé, c'est pourquoi ils répertorient les exigences de version du système d'exploitation Windows ?

Était-ce utile?

La solution

Vous pouvez toujours développer des applications pour le bureau Windows en utilisant C/C++, éliminant ainsi l'exigence du framework .NET, mais vous devrez vous assurer que les bibliothèques nécessaires sont déjà sur le système ou installées.

L'avantage du framework .NET est que Windows XP SP2 et Vista ont le runtime du framework 3.0 installé par défaut.

À bien des égards, il s'agit du « standard de développement » de Microsoft et ce depuis un certain temps.Cela vous permet de ne pas vous soucier d'avoir un tas de bibliothèques ajoutées à votre application.Si vous vous en tenez à toutes les bibliothèques fournies par .NET, vous n'aurez qu'à vous soucier du déploiement de votre exécutable, ce qui est un véritable soulagement.Lorsque vous devez également déployer un certain nombre de bibliothèques, vous commencez à rencontrer des problèmes lorsque vous écrivez des mises à jour, car vous devez vous assurer que ces mises à jour sont diffusées dans votre programme d'installation existant et dans toutes les applications installées existantes. .

Quant à "préféré", cela a toujours tendance à ébouriffer les plumes, mais il y a de plus en plus de développeurs .NET recherchés pour le Web et le bureau sur les sites de recherche d'emploi que j'ai tendance à visiter.8^D

MODIFIER:Un grand merci à Orion d'avoir signalé ma confusion sur les frameworks.Vous obtenez 3,0 "si vous utilisez XP SP2 ou Vista.Tout le reste nécessitera un simple téléchargement ou une exécution de Windows Update.

Autres conseils

Vous ne pouvez pas exécuter une application .Net sans le framework .Net.Le framework prend en charge certaines des tâches en arrière-plan les plus fastidieuses, vous ne pouvez donc pas exécuter l'application sans le framework.

Sur la plate-forme Windows, l'utilisation de .NET est le moyen privilégié pour développer des applications de bureau.Le modèle WinForms de .NET est un moyen de développer des applications client traditionnelles ou lourdes, Windows Présentation Foundation de .NET étant la dernière direction technologique de MS.

Je suppose que ce que j'essaie de dire, c'est que lorsque je regarde la configuration système requise pour certains logiciels, je considère rarement le .NET Framework comme une exigence.Du coup, je me demande toujours comment ils s'en sortent sans que ce soit une obligation (s'ils ont développé le logiciel en .NET).Donc, je suppose simplement que la plupart des logiciels commerciaux ne sont pas écrits en .NET, c'est pourquoi je pose cette question.J'espère que cela a clarifié certaines choses.

Mono Dispose d'une version Windows, si vous devez absolument éviter la dépendance à .NET.

Quoi qu'il en soit, vous aurez besoin d'un environnement d'exécution compatible .NET sur n'importe quel ordinateur sur lequel votre application est exécutée.Donc, si vous souhaitez éviter complètement .NET, vous devrez probablement distribuer le runtime Mono avec votre application.

La meilleure pratique pour la distribution d'applications .NET est que le programme d'installation soit démarré d'une manière ou d'une autre avec le programme d'installation redistribuable .NET pour le framework requis, de sorte que si le framework requis n'est pas encore installé (par exemple, vous avez besoin de 3.5 dans Windows XP), le programme d'installation le fera. il suffit de le mettre dedans.

Le runtime .NET est une installation suffisamment petite pour que cela soit réalisable (il fait environ 24 Mo pour .NET 2.0, je n'ai pas vérifié la taille de .NET 3.5).

Je suppose que ce que j'essaie de dire, c'est que lorsque je regarde les exigences du système pour certains logiciels, je vois rarement le framework .NET comme une exigence.Donc, je me demande toujours comment ils s'en sortent sans que ce soit une exigence (s'ils ont développé le logiciel dans .NET).Donc, je suppose simplement que la plupart des logiciels commerciaux ne sont pas écrits dans .NET, c'est pourquoi je pose cette question.J'espère que cela a clarifié certaines choses.

Je n'ai pas de chiffres, mais je suppose que puisque la majorité des gens utilisent XP et Vista sur leur ordinateur de bureau, lister le framework .NET est sans objet, surtout s'ils ciblent le framework 2.0 dans le l'application elle-même.À l'époque, combien d'applications avez-vous vues indiquant « nécessite vbrun50.dll » ou quelque chose du genre puisqu'elles ont été placées par défaut dans les installations Windows ?

De plus, c'est un peu moins "effrayant" pour ceux qui ne sont pas très doués en informatique.Tout ce qu’ils veulent, c’est télécharger, installer et exécuter l’application.Quelques-unes des applications que j'ai nécessitent le framework 2.0 et certaines personnes me demandent ce que c'est et comment puis-je l'obtenir et est-ce que cela me coûte quelque chose ?La réponse typique que je leur donne est "Si vous utilisez XP ou Vista, il n'y a pas de quoi s'inquiéter" et ils semblent aimer ça.

Je pense que si vous pouviez faire quelque chose comme lier statiquement le framework .NET afin de ne pas avoir à le développer, vous violeriez le CLUF fourni par Microsoft !

C’est le prix que nous devons payer pour avoir une expérience de développeur aussi riche !Cela en vaut la peine quand on considère la difficulté de revenir à la programmation MFC !

Remotesoft propose un éditeur de liens - 1 250 $ pour une licence de développeur unique : http://www.remotesoft.com/linker/index.html

Si votre application s'exécute sur Mono (et que la prise en charge du bureau Winform de Mono est plutôt bonne maintenant), vous pouvez regrouper votre application sous forme de bundle Mono, qui est un seul exécutable.Il existe deux options : la valeur par défaut inclut le runtime mais n'établit pas de lien statique vers celui-ci, l'autre vous lie statiquement au runtime Mono.La raison pour laquelle vous ne souhaitez peut-être pas créer de lien statique est que cela placerait votre application sous LGPL ;les bundles qui ne sont pas liés de manière statique (toujours juste un seul exe) n'ont pas cette exigence.http://www.mono-project.com/Mono:Runtime#Bundles

Vous pourriez envisager d'utiliser "Déploiement ClickOnce", ce qui rend très facile l'ajout du démarrage des installateurs redistribuables .Net 2.0, 3.0 et/ou 3.5 dans votre application.Cliquez simplement sur une case à cocher dans les propriétés de votre projet et votre programme d'installation détectera automatiquement si le framework prérequis a été installé et l'installera dans le cas contraire.

Cela ne convient pas à toutes les situations, mais si vous pouvez en profiter, cela peut être assez astucieux.

J'ai fait de la programmation en .NET (en utilisant C#) et j'ai réalisé que j'avais souvent besoin de plus de contrôle sur un certain nombre de contrôles.Cela nécessitait des connaissances allant au-delà du framework .NET.

Par exemple, lorsque je travaillais avec le contrôle WebBrowser pour produire un outil de test automatisé pour les applications Web, j'ai réalisé qu'il existe certaines situations qui nécessitaient des gestionnaires d'événements du contrôle ActiveX axWebBrowser de niveau inférieur et que la documentation était rare/les échantillons de code incorporaient beaucoup de Concepts COM Interop.Alors peut-être qu'avoir quelques connaissances sur COM pourrait s'avérer utile ?

Je suppose que ce que j'essaie de dire, c'est que lorsque je regarde les exigences du système pour certains logiciels, je vois rarement le framework .NET comme une exigence.Donc, je me demande toujours comment ils s'en sortent sans que ce soit une exigence (s'ils ont développé le logiciel dans .NET).Donc, je suppose simplement que la plupart des logiciels commerciaux ne sont pas écrits dans .NET, c'est pourquoi je pose cette question.J'espère que cela a clarifié certaines choses.

De nombreuses applications développées avec C++/MFC pour les postes de travail Windows nécessitent une version spécifique des DLL d’exécution MFC, même si elle n’est pas explicitement répertoriée comme exigence.Je pense que la même chose devient vraie avec les applications nécessitant .NET.

Par exemple, l'application sur laquelle je travaille est livrée avec des fichiers redistribuables pour .NET et la version particulière de MFC dont nous avons besoin, ainsi qu'un certain nombre d'autres composants requis.Notre programme d'installation installera tous les composants qui ne sont pas actuellement installés sur le système de l'utilisateur.Chaque version des dernières années a utilisé plus de code .NET que la version précédente.

Je ne pense pas qu'il soit exact de supposer que la plupart des logiciels commerciaux n'utilisent pas .NET simplement parce qu'il n'est pas répertorié comme une exigence.Je ne pense pas que vous puissiez en déduire quoi que ce soit avec précision.

L'avantage du framework .NET est que Windows XP dispose de la bibliothèque d'exécution du framework 2.0 installée par défaut.

Depuis quand?J'ai dû dire à beaucoup de nos utilisateurs de Windows XP de l'installer.Oui, vous pouvez le télécharger via la mise à jour de Windows, mais je suis presque sûr qu'il s'agit d'une installation facultative et non de quelque chose qui se produit automatiquement.

et Vista a 3.5 installé

Non, la version 3.0 est installée.Vous obtenez WPF, mais vous ne le faites pas obtenir Linq

Oui, vous pouvez créer une application construite dans dot NET sans utiliser le framework.Vous pouvez utiliser un programme comme ESS dotNET FuZe pour incorporer n'importe quelle DLL, y compris les DLL de framework, dans l'application.L’EXE résultant n’a plus besoin de framework.

Veuillez accéder à ce lien : http://essaver.net/fuze.html pour jeter un œil à FuZe.

Il est possible de ne pas exiger le .NET Framework ;certaines entreprises vendent (pour des milliers de dollars, remarquez) des solutions qui vous permettront de le faire.Il s’agit cependant de hacks complets et non pris en charge par Microsoft.

La manière dont vous développez des applications de bureau (c'est-à-dire en utilisant ou non .NET) dépend de vos besoins.Il n’y a pas de méthode privilégiée.

Le langage le plus utilisé est probablement le C#.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top