wie gehts mit .net weiter?



  • hallo@ all, ich hätte da mal ein paar fragen bezüglich dotnet. die im Moment aktuelle Version ist 3.0, welche ja auf der version 2.0 aufbaut. Gegen Ende des Jahres wird eine Version erscheinen, die vermutlich die nummer 3.5 trägt. Irgendwo hab ich aufgeschnappt, dass die neuen Anwendungen, die durch das Framework 3.5 erstellt werden, zwar mit einem neuen Compiler und einer erweiterten Klassenbibliothek erstellt werden, aber weiterhin die gleiche CLR verwenden, wie die Anwendungen, die mit 3.0 bzw. mit 2.0 erstellt wurden. Dass es sprachliche Veränderungen geben wird, schon alleine deswegen, weil LINQ in c# integriert werden muß, dürfte ebenfalls klar sein. Für mich stellen sich nun eine Reihe von Fragen. Wenn man eine Klassenbibliothek/Funktionssammlung erstellt, mit netframework 2.0, dann müßte diese doch in .net3.5 auch nutzbar sein, oder täusch ich mich? Wie würdet ihr vorgehen, wenn ihr heute ein langfristiges Projekt über 3 Jahre ausbildung starten müßtet? würdet ihr alles in 2.0 schreiben auch auf die Gefahr hin, dass Windowsforms in 2 Jahren total out ist, und keiner mehr so eine Anwendung haben will? ich persönlich denke, dass Wpf ein Programm nicht wirklich besser macht(im Sinne von Funktionalität), aber es ist halt groß im kommen. Ich hoffe auf ein paar tips von profis,die einem Azubi Fachinformatiker Ende des ersten Lehrjahres helfen können
    vielen dank



  • Was ist für dich veraltet?
    Veraltet, wenn eine Technik nicht mehr als Allheilmittel auf der microsoft.com Startseite präsentiert wird?
    Oder veraltet, wenn es keine breite Unterstützung mehr für diese Technik gibt?

    Denk' mal drei Jahre zurück. Da waren wir bei .NET 1.1. Die Unterstützung dafür ist inzwischen sehr gut, und einige Softwareschmieden nutzen 1.1 immernoch als Entwicklungsplattform.
    Abgesehen davon sind die Frameworkversionen abwärtskompatibel, das heißt ein Projekt kann jederzeit auch innerhalb einer neuen CLR ablaufen.

    Ich sehe also keinen Grund, warum du ein Projekt nicht mit .NET 2.0 beginnen solltest, es sei denn du benötigst natürlich Funktionen der WCF o.Ä.



  • marco.b schrieb:

    Abgesehen davon sind die Frameworkversionen abwärtskompatibel

    Die Frameworkversionen sind parallel installierbar, abwärtskompatibel im herkömmlichen Sinn allerdings nicht



  • titan86 schrieb:

    würdet ihr alles in 2.0 schreiben auch auf die Gefahr hin, dass Windowsforms in 2 Jahren total out ist, und keiner mehr so eine Anwendung haben will?

    Ebenso könnte sich in zwei Jahren herausstellen das WPF der totale Flopp ist und alle Windows Forms wollen. (ok, sehr unwahrscheinlich)

    Fakt ist, Microsoft tauscht in regelmässigen Abständen (im Schnitt ca alle 5 Jahre) grundsätzliche Elemente komplett aus. Egal was Du lernst, es ist immer nur für eine (imho sehr kurze) Zeit "aktuell". Die betreiben keine "Weiterentwicklung" im eigendlichen Sinne, sondern fangen immer wieder neue Produkte an. (Wobei intern meistens alles beim alten bleibt, sowohl Wndows.Forms als auch MFC sind letzt endlich nur Wrapper um die alte Windows API herum...)

    Was bedeutet das für einen Programmierer? Nimm das was aktuell am besten läuft und arbeite damit. Bau Deine Software modular auf und wenn es notwendig wird, tausche Module aus. Im schlimmsten Fall kann das bedeuten das Du irgendwann das Windows-Forms Modul gegen eine WPF Variante austauschen mußt. Aber das gehört nunmal bei langlebigen Produkten die auf Kleinweisch angewiesen sind dazu.

    Wobei, wenn das Projekt jetzt startet, was spricht dann dagegen von Anfang an WPF zu nutzen?



  • für mich spricht die mangelnde Designerunterstützung dagegen, expression blend is ganz schön, aber auch unverschämt teuer



  • CMatt schrieb:

    marco.b schrieb:

    Abgesehen davon sind die Frameworkversionen abwärtskompatibel

    Die Frameworkversionen sind parallel installierbar, abwärtskompatibel im herkömmlichen Sinn allerdings nicht

    Man lernt nie aus, danke.
    Dennoch frage ich mich, wo die Abwärtskompatiblität fehlen soll. Aus der FCL fliegen keine Typen, und die CLR ist laut Jeffrey Richter, ein Buchautor der direkt mit dem .NET Entwicklungsteam zusammenarbeitet, abwärtskompatibel.
    Wäre nett, wenn du darauf genauer eingehen könntest.



  • titan86 schrieb:

    für mich spricht die mangelnde Designerunterstützung dagegen, expression blend is ganz schön, aber auch unverschämt teuer

    Ende des Jahres kommt das neue Studio und das hat einen WPF Designer, die Beta hat auch schon einen, ist also (fast) alles wie gehabt.



  • die CLR ist laut Jeffrey Richter, ein Buchautor der direkt mit dem .NET Entwicklungsteam zusammenarbeitet, abwärtskompatibel.

    Hmm.. kenne das Buch nicht, erscheint mit aber angesichts der CLR runtime breaking changes liste zwischen 1.1 und 2.0 als schlichtweg falsch:
    http://msdn2.microsoft.com/en-us/netframework/aa497241.aspx

    Ein komplette Liste der kritischen Änderungen zwischen 1.1 und 2.0 kannst du hier finden:
    http://msdn2.microsoft.com/en-us/netframework/aa570326.aspx



  • ich hätt mal ne frage: Was ist denn WPF? Und meint ihr VS2008 wird noch unter XP laufen?



  • Such' mal im Internet nach "Windows Presentation Foundation", da wirst du tonnenweise Antworten finden.

    Ich denke schon, dass VS 08 auch auf XP laufen wird.



  • marco.b schrieb:

    Ich denke schon, dass VS 08 auch auf XP laufen wird.

    Klar wird's auf XP laufen, wer zum Geier hat denn schon Vista im Unternehmenseinsatz?! Testen kann man's an der Beta, die läuft unter XP.



  • Hallo

    Gibts die Beta frei verfügbar als iso? Habt ihr schon Erfahrungen damit?

    chrische



  • chrische5 schrieb:

    Gibts die Beta frei verfügbar als iso?

    Ja, als Virtual PC Image.

    http://www.microsoft.com/downloads/details.aspx?FamilyID=36b6609e-6f3d-40f4-8c7d-ad111679d8dc&DisplayLang=en



  • chrische5 schrieb:

    Gibts die Beta frei verfügbar als iso? Habt ihr schon Erfahrungen damit?

    Beides ja.

    http://msdn2.microsoft.com/de-de/sql/aa336858.aspx



  • Hallo

    Lass mich oder uns doch mal an deinen Erfahrungen teilhaben.

    chrische



  • Wenn man ein fettes Projekt buildet, reagiert die IDE immer noch schlecht währenddessen und danach für 20sec gar nicht mehr. Ich sehe auch sonst nichts, was sich gebessert haben könnte.



  • Optimizer schrieb:

    Wenn man ein fettes Projekt buildet, reagiert die IDE immer noch schlecht währenddessen und danach für 20sec gar nicht mehr.

    Wie meinst Du das? Strg+Break unterbricht den Build-Vorgang auf Wunsch jederzeit. Überhaupt kein Problem. Die IDE reagiert also nicht schlechter als normale Compiler auch. Kompilieren dauert eben so seine Zeit.



  • chrische5 schrieb:

    Lass mich oder uns doch mal an deinen Erfahrungen teilhaben.

    Mir ging es beim testen darum zu erfahren wie gut WPF integriert ist. Noch bin ich nicht zufrieden, denn in den Eigenschaften gibt es noch keinen Zugriff auf Events. Apropos, sind die vielleicht nun woanders, weiss das jemand?



  • titan86 schrieb:

    ich persönlich denke, dass Wpf ein Programm nicht wirklich besser macht(im Sinne von Funktionalität)

    Das ist ein sehr guter Gedanke. Viele Leute verwenden Technologien nur weil sie grad "in" sind und einen cool vorkommen. Dabei ists eigentlich wie beim handwerken, nur mit den richtigen Werkzeugen kommt man effektiv an sein Ziel.

    WPF ist an sich was richtig tolles, aber primär nur wenn man eh vorhat eine komplexe GUI zu schreiben. Will man was einfaches kommt man ohne WPF genauso gut zum Ziel.

    Wobei ich mittlerweile selbst einfache GUIs mit WPF schreiben würde, alleine wegen dem Databinding, Styles und XAML welche es einfach leicht machen selbst komplexeste GUIs schnell zu schreiben.

    Und die .Net Runtimes sind abwärtskompatibel. Wenn man z.B. nur die 2er drauf hat, laufen da auch 1.1er Programme wenn der Entwickler nicht gerade ein Manifest zulegt was die Ausführung unter 1.1 erzwingt. Genauso gilt das für kommende Versionen. 3.0 ist technisch nur nen 2.0 mit zusätzlichen Klassenbibliotheken und 3.5 sind dann wieder neue Bibliotheken, ob sich was an der Runtime ändert weiß ich nicht, glaub ich aber weniger da es ja auch für 2.0 die Linq Preview z.b. gibt.



  • Zwergli schrieb:

    Und die .Net Runtimes sind abwärtskompatibel. Wenn man z.B. nur die 2er drauf hat, laufen da auch 1.1er Programme wenn der Entwickler nicht gerade ein Manifest zulegt was die Ausführung unter 1.1 erzwingt.

    Da wär ich mir nicht ganz so sicher. Mir fällt da grad ein Wert im Bereich Remoting ein, der unter 1.1 default auf false steht, unter 2.0 auf true. Remtoing-Code der daher unter 1.1 einwandtfrei geht läuft erstmal unter 2.0 deswegen nicht.

    Ich weis jetzt ehrlich gesagt nicht ob das Einfluß auf fertig kompilierte Programme hat, aber spätestens wenn man den Sourcecode dann unter 2.0 kompilieren will muß man ihn erstmal umschreiben.

    Ähnliches Beispiel, wenn auch nicht direkt Framework bedingt sind z.B. Dienst-Setups die unter XP einwandfrei installieren, unter Vista aber mit einer kryptischen Fehlermeldung abbrechen. Auch hier wurde ein Defaultwert, der unter XP immer false ist für Vista auf true gesetzt... (Ok, die tatsächliche Änderung unter Vista ist weitreichender von wegen UAC und so)

    Für mich als Entwickler bedeutet das, das Code der unter der aktuellen Framework Version läuft unter einer neuen Version u.U. überarbeitet, oder im schlimmsten Fall komplett neu geschrieben werden muß. Und unter dem Aspekt das ich meinen Sourcecode ja auch weiter verwenden möchte kann man schon behaupten das die Framework Versionen nicht wirklich kompatibel sind.



  • Hallo

    Man kann doch einfach beide Installtionen 1.1 und 2.0 parallel drauf haben.

    chrische


Anmelden zum Antworten