.Net oder MFC?
-
Hallo,
ich möchte eine Verwaltungssoftware für ein Hotel schreiben. Der Nutzer soll über die Zimmernummer sehen können, wann dieses Zimmer reserviert ist. Das klingt relativ einfach und habe auch schon eine Idee wie ich das Ganze umsetze.
Da ich jahrelange Erfahrung mit der MFC habe und mich auch mit DB's auskenne wollte ich eine dialogbasierte Anwendung schreiben die über die ADO-Schnittstelle mit einer DB wie MySQL oder einfacher Access verbunden wird. Da aber die MFC schon sehr veraltet ist und ich mich mehr oder weniger mit dem Net-Framework beschäftigen möchte, habe auch in dieser Richtung überlegt. Ok dort habe ich weniger Erfahrung aber da das Projekt nicht eilt habe ich Zeit um mich auch darin einzuarbeiten, was Aufgrund meiner Java-Kenntnisse nicht so schwer sein sollte.
Das Problem das ich sehe, ist das man auf dem Kundenrechner auf das Net-Framework angewiesen ist, also der Kunde auch dieses installieren muss.
Mit der MFC hat man sollche Probleme nicht.
Trotzdem möchte ich up to date bleiben und mich mehr mit .Net beschäftigen.Was meint Ihr dazu?
Vielen Dank für Ratschläge
LG
Micha
-
Ich würde auf C# und .Net setzen, allein schon wegen C#. Die MFC benutzt C++, was in der heutigen Zeit nicht mehr gerade empfehlenswert ist aufgrund der zahlreichen Fallstricke und Unannehmlichkeiten dieser Sprache. Und wenn das Projekt nicht eilt, ist es doch die optimale Gelegenheit sich in .Net und C# einzuarbeiten
-
Hallo,
gebe Dir vollkommen Recht das C++ und die MFC der Vergangenheit angehören, aber bedenke der Hotelbesitzer kennt sich mit PCs so gut wie gar nicht aus. Also er will die SW einfach nur installieren und dann laufen lassen. Mit .Net bzw. C# muss er zusätzlich das .Net Framework installiert haben, womit er bestimmt nichts mit anzufangen weis. Oder gibt es eine Möglichkeit die Installation des Net Frameworks in C# zu integrieren so das er gar nicht damit konfrontiert wird?
-
Hi,
Also es gibt auf jeden Fall die Möglichkeit, daß das .Net Framework automatisch installiert wird, wenn die Installationsroutine der Software feststellt, daß .Net nicht installiert ist. Ich kenne mich mit Windows Vista und Windows 7 nicht aus, aber gut möglich, daß .Net bei diesen sowieso schon vorinstalliert ist.
-
Er hat Windows XP
-
C++ und die MFC der Vergangenheit angehören,
Geht das schon wieder los ... MFC ist nicht gerade ein huebsches C++.
-
Sorry, aber bekommt der Hotellier von dir keinen Support?
Du willst ihm also deine Software geben und "mach mal!" sagen?
Wo ist das Problem, .NET zu installieren? Was ist schwieriger daran, als wenn er deine Software installieren muß? Der Vorgang ist doch immer der gleiche: EXE anklicken, Weiter, Weiter, Weiter, Fertig!
Wichtig wäre es, für eine Entscheidung, ob der Kunden-PC überhaupt .NET-fähig wäre. Wenn er noch mit nem uralt Windows und 4 MB RAM rumgurkt, kannste das sowieso vergessen. Aber wenn er einen einigermaßen .NET-fähigen Rechner hat, dann liefert man halt auf der CD-ROM sowohl das eigene Programm als auch den .NET-Installer aus. Und da es dein Kunde ist, sollte man noch Hilfe bei der Installation anbieten (selbst wenn es nur über das Telefon ist, weil man keine Möglichkeit hat vor ort zu sein).
Weiterhin sind natürlich Admin-Rechte nötig. Gehört der PC ihm oder ist er geleased? Läuft andere Software auf dem PC, die per Vertrag die Installation von Fremdsoftware untersagt? Ist auf seine Platte genug Platz frei?
Das sind tausendmal wichtigere Gründe, als ob der Hottelier es schafft einen Doppelklick auf die .NET-EXE zu machen. Weil das kann man über Support lösen.
Deine Argumente hören sich eher so an, als ob du gar kein .NET machen willst. "Wie komme ich jetzt aus der Nummer raus?"
-
Das Problem das ich sehe, ist das man auf dem Kundenrechner auf das Net-Framework angewiesen ist, also der Kunde auch dieses installieren muss.
Mit der MFC hat man sollche Probleme nicht.Nicht ganz korrekt. Bei MFC und C++ und C hat man dasselbe Problem.
Da muss auch die korrekte Runtime installiert sein - kann sein, dass das schon der Fall ist, aber gerade bei XP ist die 2005er und 2008er Runtime nicht einfach schon drauf. (Und natürlich kann statisch gelinkt werden.)Simon
-
Sorry, aber bekommt der Hotellier von dir keinen Support?
Natürlich bekommt er Support, aber man möchte nicht schon bei der Installation den Support anrufen oder? Wenn Du dich mit Projekten auskennts und auch schon welche abgegeben hast, dann müsstes Du wissen, das man die SW so leicht wie möglich bedienbar programmieren sollte und dagehört auch das Installieren bzw. Konfigureiren dazu.
Wie oft hast Du dich schon geärgert, wenn Du eine SW installiert hast die von alleine nicht läuft und irgendwelchen Schnick Schnack noch zusätzlich benötigt. So etwas nennt man einfach nur schlecht programmiert.In meiner 5 jährigen Erfahrung mit der Entwicklung von Anwendungen habe ich schon allerlei SW gesehen die andere programmiert haben, wo man nur sagen kann Oh waia.
Zu all deinen anderen Argumenten:
Der Rechner ist nicht so alt das er nur 4MB RAM aufweist. Du redest hier von einem System das es vor 10 Jahren gab und rarität ist. Ausserdem zeig mir ein System auf dem mit 4MB RAM Windows XP läuft. Weiterhin ist er der Admin und hat auch keine weitere Zusatz-SW installiert.Deine Argumente hören sich eher so an, als ob du gar kein .NET machen willst. "Wie komme ich jetzt aus der Nummer raus?"
Dann würde ich das Thema gar nicht aufgreifen und sofort mit MFC beginnen.
P.S: Um das Ganze mal abzurunden, werde ich mich wohl eher mit C# also .Net beschäftigen. Meine Argumente dafür sind das die MFC schlecht programmiert und veraltet ist und das .Net einfach moderner und sicherer ist.
Trotzdem vielen Dank für Eure Hilfen
-
Gehört das Software-Deployment nicht zu deinen Services bzw. ist nicht Teil des Vertrages? Interessant.
Ansonsten gibts Hilfe von MS:
http://msdn.microsoft.com/en-us/library/dd560516.aspx
-
Gehört das Software-Deployment nicht zu deinen Services bzw. ist nicht Teil des Vertrages? Interessant.
Aus welcher Aussage von mir entnimmst Du denn sowas?
-
mad_martin schrieb:
Gehört das Software-Deployment nicht zu deinen Services bzw. ist nicht Teil des Vertrages? Interessant.
Interessant das ich nicht der einzige bin, der diese Vermutung hat.
Wenn ich einen Auftrag bekomme, bediene ich den Kunden von vorne bis hinten! Ich fahre (sobald ich feststelle, das der Kunde ein DAU ist) höchstpersönlich vorbei und hau persönlich die CD-ROM ins Laufwerk und mach den Doppelklick auf den Installer.
Und dann gibts halt noch ne nette Einführung.
-
Oh man, könnt ihr nicht einmal in einem Thread einfach nur die Frage(n) des OPs beantworten, anstelle euch mit irgendwelchen dämlichen Unterstellungen zu profilieren und irgendwelche Offtopic Diskussionen zu starten?
Dieses Forum ist so voller selbstverliebeter Kinder, ein Grund, weshalb ich mich hier nie registrieren würde.
-
mike2003 schrieb:
Aus welcher Aussage von mir entnimmst Du denn sowas?
Aus dieser:
mike2003 schrieb:
Natürlich bekommt er Support, aber man möchte nicht schon bei der Installation den Support anrufen oder?
Das klingt für mich wie "ich lass den Kunden selbst installieren".
Fand ich halt komisch, weil ich das so noch nie erlebt habe.@Smackd0wner:
Geh einfach wieder spielen, wenn du selbst nichts zum Thema beitragen kannst.
-
Wenn Du schon jahrelang Erfahrung mit der MFC hast, dann solltest Du auch dabei bleiben. Nur weil sich das Konzept der MFC seit Jahren nicht mehr großartig verändert hat, heißt das nicht, dass die MFC veraltet ist. Sie ist trotz ihrer vielen Jahre immer noch ein ziemlich schlanker und schneller API-Aufsatz.
-
schlank *g*
-
Wenn man von der aufgeblähten MFCNext absieht, dann kommt die MFC von VC9 gerade mal auf 1,1 MiB.
-
Bitte keine Vergleiche zw. MFC und NET.
Ich komme aus der MFC und würde heute auch auf NET mit SQL 2008 oder SQL Express 2008 setzen.
Programm ist schneller und einfacher zu erstellen.
Sollte man auf Web bzw. Webservices setzen dann kann man den Code fast 1zu1 übernehmen wenn es vorher ein Desktopprogramm war.
Installation ist das leichteste was es gibt. Einfach ein Setupprojekt und in 1 Minute ist da alles installiert.
-
Schneller und einfacher ist relativ. Wenn man 15 Jahre lang mit C++/MFC programmiert hat, dann ist C#/.NET ein totaler Neuanfang. Die Produktivität dürfte anfangs gegen 0 gehen.
-
mike2003 schrieb:
Hallo,
ich möchte eine Verwaltungssoftware für ein Hotel schreiben. Der Nutzer soll über die Zimmernummer sehen können, wann dieses Zimmer reserviert ist. Das klingt relativ einfach und habe auch schon eine Idee wie ich das Ganze umsetze.
Da ich jahrelange Erfahrung mit der MFC habe und mich auch mit DB's auskenne wollte ich eine dialogbasierte Anwendung schreiben die über die ADO-Schnittstelle mit einer DB wie MySQL oder einfacher Access verbunden wird. Da aber die MFC schon sehr veraltet ist und ich mich mehr oder weniger mit dem Net-Framework beschäftigen möchte, habe auch in dieser Richtung überlegt. Ok dort habe ich weniger Erfahrung aber da das Projekt nicht eilt habe ich Zeit um mich auch darin einzuarbeiten, was Aufgrund meiner Java-Kenntnisse nicht so schwer sein sollte.
Hallo,
Ich würde dir auch zu .NET/C# oder Java raten. MFC-Programme sind schlecht erweiterbar, wenn du es mit nicht-Mircosoft Technologien zu tun bekommst. Also, wenn Deine Software Zukunftssicher sein soll, dann nimm .NET oder Java, nicht C++ und MFC.
Hinweis: Kein Trollversuch oder Flamewar. Ich bin C++ Programmierer, habe schon vieles mit den MFC programmiert und mag C++ sehr gern