| 

.NET C# Java Javascript Exception

4
Hallo,

ich weiß, dass dieses Thema immer wieder zu Diskussionen führt aber leider stehe ich nun auch vor dem Problem eine große VB6 CRM Applikation nach .NET migrieren zu müssen.
Leider ist derzeit überhaupt nicht zu erkennen welche Technologie MS nun weiter forcieren wird:


    Winforms
    WPF
    Silverlight
    ?


Winforms bietet den größten Umfang aber wird nicht weiterentwickelt; WPF stagniert meiner Meinung nach und die Produktivität ist schlecht; Silverlight scheint tot; Lightswitch hat guten Ansatz aber für große Apps nicht zu gebrauchen; und bitte nicht HTML 5 - ist ein Hype und bietet nicht die Möglichkeiten wie eine "Fat Client" Lösung (Geschwindigkeit, Office Integration, Drag & Drop; Reporting etc.) und nicht jeder braucht eine Webanwendung wenn diese nur im internen Netz läuft ;-)

Es ist eigentlich traurig das wir im Jahr 2013 noch immer keine echte Alternative zu VB6 hinsichtlich der Produktivität/RAD haben - ich fühle mich derzeit nicht in der Lage zu entscheiden in welche Richtung die Migration der VB6 Anwendung gehen soll...

Was ist eure Meinung und Erfahrungen in diesem Bereich?

lg Robs
News:
11.04.2013
mad rian 21 1 2
7 Antworten
3
Schau nicht so sehr darauf, wohin bei Microsoft die Reise möglicherweise geht, sondern vor allem, was die Anforderungen an die Lösung sind. Wenn Du das System mit Winforms so bauen kannst, dass der Kunde zufrieden ist, dann ist das doch schön. Warum sollte es Dich stören, dass wahrscheinlich kaum noch neue Features zu Winforms hinzukommen werden, wenn Du mit den vorhandenen auskommst? Es muß ja nicht immer die neueste Technologie sein.

ASP.NET, HTML5, Silverlight: wenn Du keine Anforderungen hast, die eine im Browser laufende Lösung erfordern, dann kannst Du die alle streichen (aber eben aus diesem Grund, und nicht, weil HTML5 Dir als Hype erscheint; dass Silverlight "tot" ist, greift als Argument auch nur, wenn Deine Anwendung länger als die 8 Jahre leben soll, die es noch unterstützt wird).

WPF: dito. Du hast hier viel mehr gestalterische Möglichkeiten als mit Winforms, aber die Frage wäre, ob Du die brauchst - also: wie soll das neue CRM aussehen?

Und wie schon JEwen schrieb: schau, dass Du das UI sauber vom Rest der Anwendung trennst. Welche von den angefragten (UI!)-Technologien Du auch wählst: es sollte wirklich nur sehr wenig Code geben, der davon abhängt. Und das geht auch produktiv und performant.
11.04.2013
Matthias Hlawatsch 13,2k 4 9
1
Stimmt genau... eine VB6-Applikation lässt sich am einfachsten auf WinForms portieren. Und natürlich spricht bei der Migration nichts gegen eine Optimierung der Architektur sowie die Nutzun g erweiterter Funktionalitäten, die .NET und beispielsweise auch die WinForms bieten.
VbFan 11.04.2013
2
Na, da würde ich doch empfehlen, nicht nur einfach zu migrieren, sondern das ganze gleich in eine anständige Architektur zu verpacken. Trenne die Anwendungslogik, Datenbankzugriffe usw. komplett von der UI und Du bist freier bei der Entscheidung ob WinForms, WPF usw. Dies ist die einzige Möglichkeit, sich nicht auf eine Technologie festzulegen, diese austauschbar zu halten.

Suche nach MVC Pattern, MVVM Pattern.
11.04.2013
JEwen 2,7k 5
0
Das Resultat einer Migration wäre natürlich auch eine "anständige" Architektur zu verwenden wobei ich für mich sagen kann, dass auch die VB6 Lösung sehr sauber programmiert ist (und vor allem extrem Performat) :

    alles in Klassen gekapselt
    Module in DLL's ausgelagert
    saubere Datenzugriffsschicht und Verwendung von Stored Procedures
    ...


und "anständige" Architektur ist auch relativ - die meisten (kleinen) Firmen müssen auch an die Produktivität denken denn sie müssen Geld verdienen - wenn man sich als Beispiel Lightswitch ansieht wo alles super sauber nach den Best Practises aufgebaut ist (MVVM, EF etc.) dann hilft das auch nix wenn das Teil extrem langsam ist...

Ich hätte mir gewünscht, dass wir endlich so ein RAD Tool bekommen wie es VB6 war/ist - dies fehlt mir derzeit einfach...

lg
11.04.2013
mad rian 21 1 2
0
Wenn man etwas über den Tellerrand (heißt jenseits Microsoft) schaut, dann empfiehlt sich ein .NET-RAD-Tool.
Wir haben sehr gute Erfahrungen mit Gupta Team Developer in der Version 6.x (aktuell 6.1) gemacht. Durch die 4GL und einer aus meiner Sicht genialen IDE lassen sich Projekte sehr gut umsetzen.
Nachteil: Von dem alten VB-Code kann praktisch nichts verwendet werden und man muss sich natürlich mit der 4GL anfreunden (bei uns kein Problem, da wir auch bereits Centura Team Developer verwendet hatten).

Vielleicht ist dies trotzdem eine Anregung...
11.04.2013
edvservice 1,4k 1 6
Danke aber Gupta ist mit doch zu "Exotisch" und da die Kunden durchgehend MS Technologie verwenden möchte ich dabei bleiben gerade auch deshalb weil ich mir über Jahre(zente) das Know-How in MS Technologie aufgebaut habe - trotzdem Danke für die Anregung ;-)
mad rian 11.04.2013
0
Ganz so einfach stellt sich mir das nicht dar - unsere VB6 CRM App ist nun 13 Jahre in Betrieb und wurde/wird immer noch weiterentwickelt und an die neuen Plattformen (Win7/8) angepasst (Design)
Wenn nun die Kunden Geld für eine Portierung auf eine top moderne und zukunftsträchtige Plattform in die Hand nehmen dann erwarten dies sich auch das dies noch in zumindest einigen Jahren Gültigkeit hat!
Gerade aber bei Silverlight ist dies nicht der Fall und auch bei WinForms und WPF ist ja alles offen - grade auch WPF wird auch in Fachzeitschriften kritisiert da hier seit Jahren keine wesentlichen Verbesserungen kommen.

Das hier MS uns relativ in Unklaren lässt kotzt mich sowieso total an :-(

Also so einfach wie oben Beschreiben erscheint mir das nicht...

lg
11.04.2013
mad rian 21 1 2
Erst mal: bitte nutze für Feedback ausschließlich die Kommentarfunktion. Antworten werden hier nach Bewertung sortiert und erst dann nach Zeitstempel, deshalb ist möglicherweise bald nicht mehr klar, worauf Du Dich hier genau beziehst.
Ansonsten: was genau ist bei Winforms und WPF offen? Die Zukunft? Klar, die ist immer offen. Beide Produkte sind nicht abgekündigt, man darf davon ausgehen, dass sie solange leben wie .NET.
Microsoft hat ja auch nicht die Glaskugel - oder hättest Du erwartet, dass sie vor 5 Jahren gesagt hätten: 2012 werden wir Windows RT auf den Markt bringen?
Matthias Hlawatsch 12.04.2013
Offen ist, dass es hier keine (sichtbare) Weiterentwicklung gibt und die Strategien bei MS fehlen (Roadmap) - es ist schon seit Jahren nicht mehr klar wo MS überhaupt hin will (so sehe ich das zumindest) und wenn ich mir ansehe was man alles mit VB6 schon 2000 machen konnte und wie hoch die Produktivität damit war und dies mit WPF vergleiche dann sehe ich aus sicht der RAD hier einen gewaltigen Rückschritt. Ich erwarte mir vom größten Softarekonzern hier eine Roadmap und klare Aussagen wie es weitergeht...
mad rian 12.04.2013
Also ehrlich gesagt, VB6 und WPF zu vergleichen ist genauso als würde man Äpfel mit Birnen vergleichen. Das sind zwei völlig unterschiedliche Technologien. Und was geht mit VS2012 nicht, was mit VB6 geht?
JEwen 12.04.2013
Ich habe nicht VB6 mit WPF funktional verglichen sondern nur hinsichtlich der Produktivität (RAD)
robert
mad rian 12.04.2013
Na ja, wir entwickeln hier auch mit WPF, ich kann nicht erkennen dass die unproduktiv sind, oder langsamer als wenn sie VB6, WinForms oder sonst etwas programmieren würden.
JEwen 12.04.2013
Na da sind wir dann wohl anderer Meinung ;-)
mad rian 12.04.2013
Scheint so, aber das ist ja nichts schlimmes :-))
JEwen 12.04.2013
0
ich habe für meinen Kunden in den letzten Jahren mehrere größere VB-Anwendungen nach .NET portiert. Wenn es darum geht, dass die Anwendung nach der Migration genauso funktioniert wie vorher, bleibt eigentlich nur die Alternative die Anwendung mit dem Migrationsassistenten aus Visual Studio 2008 oder mit einem der käuflichen Tools wie z.B ArtinSoft’s Visual Basic Upgrade Companion (VBUC) oder VB Migration Partnerzu einer Windows-Forms Anwendung zu migrieren.

Damit verbaust du dir aber die Möglichkeit einer grundlegenden Renovierung der Anwendung, was dazu führt (wie ich leidvoll erfahren habe), dass Fehlerbehebung und Weiterentwicklung nur mit großem Aufwand durchzuführen ist.

Ich würde an eurer Stelle überlegen, ob ihr sie nicht lieber komplett neu entwickelt. Ihr könntet sowohl mit der Architektur als auch mit der Oberflächentechnologie auf der "grünen Wiese" anfangen und euch das beste und geeignetste für eure Anwendung heraussuchen.

Was die Oberflächentechnologie angeht, würde ich pragmatisch vorgehen. Sowohl Windows Forms als auch WPF wird von MS noch einige Jahre unterstützt werden, da die Verbreitung der Technologien sehr hoch ist, auch wenn diese vielleicht nicht mehr weiterentwickelt werden. Wie Jens und Matthias bereits gesagt haben: wenn du die Oberfläche von der Anwendungslogik separierst spielt die Auswahl der Oberflächentechnologie keine so große Rolle mehr und das wichtigste ist, dass deine Kunde / deine Anwender mit der Anwendung zufrieden sind.

Gruß
Klaus
12.04.2013
luedi 2,2k 1 9
0
Die Situation ist in der Tat deprimierend.

Ich habe vor 2 Jahren in einem Projekt gearbeitet, wo man versucht hat, eine VB6 Anwendung nach WPF zu migrieren. Nach einem Jahr bin ich frustriert ausgestiegen.

Wer noch alte VB6 Anwendungen pflegt, ist ja seit 13 Jahren ausschließlich dabei ein Legacy System am Laufen zu halten. Spagetti-Code, Fat Client, Monolith. Wenn man so eine Anwendung migrieren will, muss man sie komplett neu entwickeln: Analyse, Architektur, Entkopplung, Modularisierung .. Diese Erfahrung fehlt aber den Entwicklern in solchen Projekten, die ja meist nur mit der Pflege dieser Systeme beschäftigt waren.

WPF ist prinzipiell eine feine Technologie. Aber wenn man dann auch auf eine vernünftige Architektur mit MVVM aufsetzen will, die meisten Entwickler sich aber nicht mit XAML auskennen und dann auch die Projektleiter sich nicht mit ALM auskennen, läuft man bei der Migration von VB an jeder Ecke gegen eine Wand.

Und ja, es gibt kaum Neuerungen in den letzten Jahren.

Ich halte es daher zur Zeit nicht für sinnvoll, eine Migration von VB6 nach NET durchzuführen und würde dieses Jahr zumindest noch abwarten.
Es wird sich zeigen, ob HTML5 nur ein Hype ist und ob nicht doch XAML/C# letztlich Silverlight und WPF ablösen wird.

Wie Du sagst, Du willst auf die Zukunft setzen, aber die Zukunft kennen wir nicht und MS selbst hinkt den anderen im Moment immer soweit hinterher, dass sie auch nichts zukunftsoriertiertes entwickeln können.

Btw. meine alten VB6 Anwendungen inkl Visual Studio 6 laufen in einer virtuellen Umgebung (VMWare) unter XP.
12.04.2013
judgy 3,0k 1 1 8
das WPF eine guter Ansatz ist besteriete ich überhaupt nicht nur fehlt mir hier der RAD Ansatz und ich kann damit kaum gewinnbringend entwickeln (Einzelkämpfer)...
mad rian 12.04.2013

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