Ist es in Ordnung, neue Anwendungen für .NET noch zu schreiben?

8

Ich starte gerade eine neue Windows-App. Es wird ein Audio-Bearbeitungswerkzeug sein, das in C ++ geschrieben ist. Es wird alle üblichen GUI-Sachen wie Menüs, Symbolleisten usw. benötigen. Es wird auch einen eingebetteten Webbrowser haben.

Ich denke daran, es auf .NET zu erstellen, aber ich würde gerne von Ihnen hören, ob es .NET immer noch schwierig macht, es zu implementieren. Wie viel Prozent der regulären Benutzer haben bereits die .NET-Laufzeitumgebung? Ich möchte meinen Nutzern keine Probleme machen, dass sie eine 100 MB-Laufzeit herunterladen müssen, nur um meine App zu starten.

Was denkst du über Stack-Überlaufer? Soll ich .NET gehen oder sollte ich bei der Win32 API bleiben? Oder vielleicht sogar ein Drittanbieter-System wie QT oder wxWidgets?

    
Adam Pierce 09.03.2009, 06:05
quelle

12 Antworten

22

Sie können Ihre Benutzer auf die .Net verweisen Bootstrapper , es ist ein Download von 100kb, der erkennt, welche Teile des .Net-Frameworks sie derzeit haben und nichts herunterladen wird.

Es gibt auch Ссылка eine Initiative von @shanselman

    
ChadT 09.03.2009, 06:11
quelle
13

Ich kenne keine genauen Zahlen, aber Vista hat .NET eingebaut, und andere Versionen von Windows können es ziemlich leicht von Microsoft Update absetzen. Sie können die .NET-Laufzeitumgebung auch mit Ihrer Anwendung neu verteilen.

Ich würde mir nicht zu viele Gedanken darüber machen, ob Ihre Benutzer .NET installiert haben.

    
Jesse Weigert 09.03.2009 06:09
quelle
11

Microsoft treibt das .NET-Framework sehr stark voran. Ich glaube, dass Sie nicht einmal Microsoft Office 2007 installieren können, ohne das .NET Framework auf Ihrem Computer installiert zu haben. Wenn Microsoft .NET für ihre neuesten Office-Programme benötigt, können Sie also davon ausgehen, dass Ihre Microsoft-basierten Kunden die erforderlichen .NET Foundation-Bibliotheken installiert haben. Natürlich hängt dies stark davon ab, welche Art von Anwendung Sie erstellen. Ich habe auch von einigen Videospielentwicklern gehört, die ihr Spiele-Paket mit der Open-Source-Mono-Version von .NET verschicken. Ob Sie es glauben oder nicht, es gibt tatsächlich eine sehr starke und stabile Version von Mono für Microsoft Windows.

    
ewalk 09.03.2009 06:26
quelle
5

Das Herunterladen / Installieren von .NET Framework ist nicht das lästig. Aber ich würde vorschlagen, Ihr Problem aus einem anderen Blickwinkel zu betrachten.

Wenn Sie wüssten, dass alle Benutzer das Framework installiert haben, würden Sie sich für C ++ entscheiden oder würden Sie .Net verwenden? Aufgrund Ihrer GUI-Anforderungen würde ich annehmen, dass Sie .NET für alle Feinheiten verwenden, die es an den Tisch bringt.

Die anderen Optionen, die Sie aufgelistet haben, mögen akzeptabel sein, aber es ist schwer, das .Net Framework bei der Unterstützung dieser clientseitigen Komponenten zu schlagen.

Alles in allem scheint der Kompromiss zwischen einem einzelnen Download und der besseren Anwendungsunterstützung, die Sie bekommen, ein guter zu sein.

    
jro 09.03.2009 06:11
quelle
2

.NET ist wie Java - Sie müssen sicherstellen, dass die entsprechende Laufzeit vorhanden ist. Das d / l ist nicht 100mb! HA! Es ist 196mb. Aber es gibt ein "Client-Profil", das es auf 26 MB reduziert, höre ich.

Die Bereitstellung der .NET-Laufzeit ist ein Nachteil, aber für mich ist die Produktivität des Entwicklers in C # gegenüber C ++ stark verbessert. Ich werde meinen Nutzern gerne 45 Sekunden Downloadzeit ersparen, um eine höhere Produktivität zu erreichen. Aber das bin nur ich. (ps: Die benötigte Laufzeit kann vom Installer automatisch heruntergeladen werden).

    
Cheeso 09.03.2009 06:12
quelle
2

Die .NET Framework 2.0-Laufzeit ist nur 22 MB, und es ist ein guter Rahmen zum Ziel, vor allem, wenn Sie WPF oder WCF nicht benötigen. Vista-Benutzer werden mindestens 3.0 installiert haben, also müssen sie nichts tun, und viele andere Anwendungen zielen bereits auf 2.0, daher wird sie bereits installiert haben.

Außerdem ist Ihre Anwendung in .NET wesentlich kleiner als die, die Sie in C ++ schreiben würden. Die ausführbaren Dateien sind in ihrer eigenen Hinsicht viel kleiner, und die daraus resultierende MSI-Datei beim Erstellen eines Setup-Projekts in VS ist kleiner als alles, was ich bisher produziert gesehen habe.

    
Dave Van den Eynde 09.03.2009 08:32
quelle
2

Wir stellen mehrere Anwendungen für Kunden in verschiedenen Branchen bereit, und zur Zeit ist .NET Framework 2.0 überhaupt kein Problem. (Und es ist sowieso nur ein 22 MB Download.) Sie können immer noch Visual Studio 2008 und C # verwenden, aber Sie müssen .NET 2.0 als Zielframework wählen und Sie müssen Windows Forms anstelle von WPF für die GUI verwenden (was sein könnte abhängig von Ihren Erfahrungen,

.NET Framework 3.0 und 3.5 (und 3.5 SP1 usw.) scheint zumindest in Unternehmensnetzwerken nicht üblich zu sein; es ist wesentlich größer, hat mehr potentielle Fallstricke während der Installation und unterstützt nicht mehr Windows 2000 und Windows 98 (was .NET 2.0 immer noch tut).

    
realMarkusSchmidt 09.03.2009 12:35
quelle
1

Welche Art von Anwendung erstellen Sie? Das ist wirklich wichtig. Wenn Sie sich Sorgen um Ihre Benutzer machen, dann:

  • Wenn Sie Ihre Benutzer kontrollieren, gibt es kein Problem - Sie steuern ihre Maschinen und Sie können sicherstellen, dass .NET bereits installiert ist
  • Wenn Sie über externe Benutzer (für Ihre Organisation) sprechen, würde ich entweder die ASP.NET- oder die Silverlight-Anwendung
  • empfehlen

Entscheide selbst. Ich würde wahrscheinlich mit Silverlight gehen, da dies Desktop-Anwendungen am nächsten kommt (was ich denke, Sie beziehen sich auf) und immer noch ist der Download sehr klein (ich denke etwa 2MB). Werfen Sie einen Blick auf Ссылка .

    
David Pokluda 09.03.2009 06:28
quelle
1

Was ich gelesen habe: Mono (die .NET-Implementierung der libre-Software) wird mit einem Linker ausgeliefert - Sie könnten Ihre Anwendung mit Mono kompilieren, indem Sie alle benötigten Komponenten verknüpfen.

Der gute Teil ist, dass Sie ein eigenständiges Paket erhalten: Es ist nicht erforderlich, dass der Endbenutzer ein bestimmtes .NET-Framework installiert, falls dies nicht bereits geschehen ist. Der Nachteil ist: Je nachdem, wie viele .NET-Bibliotheken Sie verwenden, wird Ihre ausführbare Datei möglicherweise riesig , was die Vorteile zunichte macht.

    
Joe Pineda 09.03.2009 12:59
quelle
0

.Net wird Ihnen das Leben im Vergleich zu nativen C ++ - und Windows-APIs oder sogar QT erleichtern. Aber wenn die GUI nicht komplex ist, ist es besser, QT zu verwenden, da die .Net-Framework-Größe relativ groß ist

    
Ahmed Said 09.03.2009 06:47
quelle
0

Keine Empfehlung für .Net, aber wenn Sie sich aus irgendeinem Grund dafür entscheiden, .Net nicht zu verwenden, empfehle ich Ihnen, QT über Win32 API zu verwenden. Ich finde die Win32-API wirklich unordentlich und viel schwieriger zu benutzen als QT, was meiner Meinung nach wirklich nett ist.

    
DeadHead 09.03.2009 06:18
quelle
0

Die ClickOnce API ist auch etwas, das es wert ist, untersucht zu werden. Sie können es verwenden, um Ihre Anwendung über das Internet zu verteilen, und die Anwendung kann zu Hause anrufen, um automatisch Updates zu erhalten (falls gewünscht).

Ich benutze jetzt bei meinem Job und es macht die Verteilung und Aktualisierung von Desktop-Software ein Kinderspiel.

    
Jason Miesionczek 09.03.2009 13:50
quelle

Tags und Links