| 

.NET C# Java Javascript Exception

3
Unter welcher .Net Version realisiert ihr eure Projekte?
Ist es immer Sinnvoll die neuste Version zu unterstützen?

Hintergrund. Einige Fremdbibliotheken verwendet die .Net.2.0 Version.
Ich sehe in .Net.2.0 ebenfalls den größten gemeinsamen Nenner.

Wie sieht es mit der Performance aus? Wenn ich .Net.4.0 Installiert aber meine Software als .Net.2.0 realisiere?
News:
14.03.2011
smartic 510 1 8
smartic 510 1 8
5 Antworten
4
Zu den bereits gegebenen Antworten hängt das auch von deiner Software-Architektur ab.
Schreibst du eine reine Desktop-Anwendung, die möglichst viele Windows-Benutzer erreichen soll, macht es derzeit noch Sinn auf .NET 2.0 zu entwickeln.
Schreibst du eine Client-Server Architektur, darf man meiner Meinung nach für den Server-Part .NET 4.0 mit all seinen Features verwenden. Schließlich befindet sich hier der gesamte Businesslayer und Dataaccesslayer.
Der Client sollte dann wiederum möglichst viele Anwender erreichen.
14.03.2011
Jürgen Luhr 7,1k 2 9
3
Und umgekehrt: für eine reine Desktop-Anwendung, bei der es Dir wichtiger ist, WPF in all seiner Schönheit einsetzen zu können, als eine möglichst breite Nutzerbasis zu haben, wäre .NET 4.0 angesagt.
Matthias Hlawatsch 14.03.2011
2
Genau so sehe ich es auch. Verbreitung vs. Usability
Jürgen Luhr 14.03.2011
1
Hi,

wird entwickeln geteilt, einige Projekte sind noch 2.0, andere 3.5.
4.0 kommt als nächstes.

Performancemäßig dürfte das keinen Unterschied machen imo.

Ob es sinnvoll ist, die aktuellste Version zu verwenden hängt davon ab, ob die neuen Features
verwendet werden sollen oder in den nächsten Projektschritten vielleicht zum Einsatz kommen.
14.03.2011
KHoffmann 939 7
1
Keine vollständige Antwort, aber zwei Überlegungen:

Die 3er-Versionen von .NET sind Erweiterungen von .NET 2.0 in dem Sinne, dass Bibliotheken hinzugefügt worden und neue Features in den Sprachen hinzugekommen sind, die Runtime aber die gleiche geblieben ist. D.h. wenn Du "in .NET 3.5 SP1" entwickelst, läuft das Ergebnis am Ende trotzdem auf der 2.0er-Basis.

Wenn Du Plattformenn älter als Windows XP SP 2 unterstützen mußt (soll es ja noch geben...), bleibt Dir nur das "reine" .NET 2.0 - die späteren Versionen setzen ein halbwegs aktuelles Windows voraus.
14.03.2011
Matthias Hlawatsch 13,2k 4 9
2
Auch zu beachten: sollen Funktionen verwendet werden die als "obsolet" gekennzeichnet sind. Oft kann man darüber zwar hinwegsehen, aber es kommt natürlich auf den Einsatz der Software drauf an. Wenn eine neue .NET Version erscheint und die alten Funktionen nicht mehr existieren, dann wäre das auch nicht so gut.
Mehr dazu: http://msdn.microsoft.com/en-us/library/ee461502.aspx
SensenMannLE 14.03.2011
Obwohl ich in 2.0 Programmiere und 4.0 installiert habe werden die "obsolet" Funktionen doch bereits als solche gekennzeichnet. Oder liege ich da falsch?
smartic 14.03.2011
Ja, sollte so sein, also auch wenn man 2.0 als Ziel ausgewählt hat (sicher bin ich mir da aber nicht). Die Frage ist hier halt, kann man mit den alten Funktionen leben oder nicht.
Wenn z.B. die Fremdbibliotheken in aktualisierter Version erscheinen, dann muss Dein Projekt mindestens die gleiche Version als Ziel haben. Solltest Du aktuell obsolete Versionen verwenden und später aufgrund der Fremdbibliothek das Zielframework ändern müssen, dann kann es unter Umständen vorkommen, dass Du Dein Programm anpassen musst, da alte Funktionen nicht mehr existieren. Eine Frage der Wahrscheinlichkeit.
SensenMannLE 14.03.2011
1
"in .NET 3.5 SP1" entwickelst, läuft das Ergebnis am Ende trotzdem auf der 2.0er-Basis" .. das stimmt NICHT! ein .Net 3.5 SP1 - Programm welches die 3.5 Funktionen verwendet läuft auch nur dann wenn 3.5 installiert ist. Umgedreht funktioniert es aber. Ein .Net 2.0 Programm läuft auf einem Rechner der nur 3.5 installiert hat! .Net 4.0 ist eigenständig und basiert nicht mehr auf .Net 2.0. Du kannst also auf einem Rechner wo nur .Net 4.0 installiert ist keine 2.0 oder 3.5 Programme ausführen.
Floyd 14.03.2011
@Floyd: vielleicht habe ich mich mißverständlich ausgedrückt. Ich wollte nicht suggerieren, dass ein 3.5er Programm auf einem Rechner läuft, der nur 2.0 installiert hat. Mir ging es darum, dass auch die 3.5er Bibliotheken auf der CLR 2.0 laufen. Deswegen müssen sie aber trotzdem erst mal auf dem Rechner drauf sein, klar.
Matthias Hlawatsch 14.03.2011
1
Das hängt auch davon ab, welche Anforderungen du hast. Ich habe einzelne Projekte noch lange im 2.0er Framework gelassen, weil ich weitere Funktionalitäten einfach nicht gebraucht habe und weil ich den Umstellungsaufwand beim Kunden nicht machen wollte. Jetzt habe ich den System.Management-Namespace entdeckt und stelle gerade mehrere Applikationen um, weil der Namespace etwas bietet, was ich dort brauche, und der Namespace ist in 2.0 nicht enthalten. Wie schon gesagt, das hängt von der Funktionalität ab, die du brauchst.
06.05.2011
KN 1,7k 1 8
0
Ich muss nochmal die Performace ansprechen. Ich habe gelesen das sich in 4.0 sich bezüglich der Ausführungsart was geändert/verbessert hat.
Stichwort Garbage Collector. Hat das generell mit 4.0 zu tun oder reicht die Installation aus?
Bsp: In 2.0 Entwickeln und auf einem Rechner mit 4.0 laufen lassen.
14.03.2011
smartic 510 1 8

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH