web- vs. hardprogrammierung
-
"hardprogrammierung" im sinne von C++ usw.
zielgruppe: entwickler mit mehrjähriger "professioneller" entwicklung! vor allem im C++-bereich.
habe ein konkretes problem. meine erfahrung liegt hauptsächlich im webbereich, d.h. bei der arbeit erstelle ich hauptsächlich web-applikationen. bestell-, kunden- und datahousesysteme. möglich sind mehrere tausend nutzer gleichzeitig. bis auf 3D-applikationen und systemverwaltungen (wegen zugriff auf wichtige systemressourcen) könnte ich euch vermutlich alles in ASP und PHP schreiben.
so, all das ist natürlich auch in "hard"-sprachen möglich. meine ersten datenbankanwendungen waren in VB. mittlerweile habe ich erkannt, dass webprogrammierung in vielen bereichen ihre stärken hat.
web (konsole):
wie in der konsolenprogrammierung wird der inhalt direkt auf dem schirm ausgegeben. will ich mehr sehen oder umschalten, wir der schirm "neu beschrieben". beeinflusst man den speicher sind hierbei gewisse spielereien möglich (web aussenvor).will ich was ändern, muss es neu geladen werden. im web bieten einem scriptsprachen wie JavaScript (oder bald Smallscript) eine möglichkeit die elemente direkt zu manipulieren und anzusprechen. denn die verarbeitung erfolgt vor der ausgabe. stehen die elemente, habe ich vom server keine möglichkeit drauf zuzugreifen.
objekt-anwendungen:
typisch für windows. objekte werden erstellt, ausgegeben und über den code manipuliert. dabei werden elemente meist nur ausgeblendet usw., also kein erneutes laden des fenster (schirms).änderungen treten schneller in kraft, denn ich kann die objekte direkt ansprechen und reagieren.
wie jeder weiß, sind spiele in konsole geschrieben. das hat eben sein gründe. es bietet viele vorteile (für den entwickler!).
gut. möchte bald ein größeres projekt starten.
wenn ich mir nun überlege wie einfach es für mich ist objekte in PHP und ASP zu erstellen, div. aktionen auszuführen und abzufangen usw., erscheint mir die windows-programmierung (siehe oben fall 2) als rückständig. versucht doch mal eine anwendung zu schreiben die 1000 besucher ausgibt und dabei stets ein textfeld (oder mehrere) zur verfügung stellt! in einem windows-fenster ist es nicht einfach. 1000 textfelder? (begrenzung von 255?)
natürlich bin ich mittlerweile auf dem webbereich erfahrener, daher gilt es vor allem den C++-entwicklern. was soll ich nehmen?
es wäre so optimal in C++ zu schreiben, denn dann würde ich endlich ordentlich C++ lernen. am liebsten würde ich es in konsole schreiben, nur dann ist es nicht "schön genug". leider. eine echte zwickmühle. sich aber nur auf den webbereich einzuschränken ist auch nicht die optimalste lösung.
wie sehen eure C++-anwendungen in den firmen aus? windows? konsole? wie realisiert ihr div. grafische ausgaben wie balken etc. kleinigkeiten also?
-
Original erstellt von rawa:
**...daher gilt es vor allem den C++-entwicklern. was soll ich nehmen?
**unter windows baut alles auf die WinAPI auf. da diese recht unübersichtlich und noch dazu nicht objektorientiert ist (und auch nur C (kein C++)), gibts jede menge frameworks, die diese funktionen mehr oder weniger sinnvoll in klassen kapselt. auf welche technik man dabei setzt ist ne eigene philosophie und nicht weniger flameware-würdig als Win vs. Linux.
es ist ganz einfach geschmackssache. am weitesten verbreitet ist die MFC (wenn auch (IMHO) mit der schelchtesten technik). sehr gut gefällt mir die VCL von Borland (nicht umsonst erscheint das C# Framework vom HAndling und Aufbau her schon fast ein Klon zu sein).mein tipp: einfach mal ein paar meinung anhören und sich dann selber ein bild machen
btw: MFC hat keine Zukunft!
-
sonst mach das doch einfach mit der Methode
du schreibst dir ein schönes C++ Back-End und dann mit einer Script Sprache oder so kannst du dir dann leicht eine GUI drauf basteln.
Schau dir vielleicht mal http://kaptain.sourceforge.net/ dafür an.
Dann sparst du dir mit der GUI Library groß rumfummeln zu müssen und kannst theoretisch sogar ein WebFront End in deinem geliebten PHP schreiben
(btw. ich programmiere zum größten Teil nur auf der Konsole, aber ich arbeite auch (noch) nicht professionell)
-
danke schon mal. ja, viele meinungen wären interessant. hoffe viele erfahrene entwickler schreiben noch.wenn, dann wollte ich schon Borland C++ nehmen. hatte schlechte erfahrungen mit MFC und VC++.
natürlich fehlt es mir hier an erfahrung. praktisches beispiel:
http://www.ftp.rasystems.de/bilder/c_frames.gif
1 = Logo
2 = Menü
5 = Unter-Menü
3 = Inhalt
4 = Statusanzeige etc.ok. (4) könnte ich ja noch mit der statusbar realisieren. aber, was ist wenn ich in (2) menü "personen" auswähle. dann will ich, dass in (5) welche aufgelistet werden. wenn ich also in (5) eine auswähle, werden in (3) die inhalte dieser person gezeigt.
wie sollte ich das etwa in Win32-entwicklung realisieren? elemente ausblenden und einblenden lassen? oder gleich ein fenster (frmInfos z.b.) bei bedarf einblenden und dabei den inhalt laden?
wie würdet ihr das anpacken? wohlgemerkt am liebsten in C++ und in der Win32-fenster-umgebung (borland c++).
[ Dieser Beitrag wurde am 19.04.2003 um 14:07 Uhr von rawa editiert. ]
-
Hi,
wenn Du schon in C++ programmieren willst, dann solltest Du vielleicht vom Webdesign mal etwas abweichen. Du hast mit der WinAPI ja ganz andere möglichkeiten. Schau Dir doch mal ein paar Programme auf Deiner Platte an, wie die von der Benutzerführung her aufgebaut sind. Daran kannst Du Dich ja etwas orientieren.
grüße Con@n
-
Also ganz verstehe ich nicht was es mit diesen 1000 Textfeldern auf sich hat.
Ich arbeite u.a. als Softwareentwickler und erstelle Programme wo der User kein Programm runterladen soll im Web.
Alles andere als direktes Programm.Im Web habe ich viele Möglichkeiten nicht die ich mit C++ habe.
Z.B. eine Liste von USern in einem Chat.
Sind da z.B. 150 User eingeloggt dann muss ich jedesmal diese Liste neu zum Clienten übertragen um sie aktuell zu halten.
Bei einen Lokal laufenden Programm lese ich nur die Liste aus der DB aus und schaue was sich geändert hat. (Mache ich im WEB auf den Server auch(CGI-C++))
Nun kommt aber der Unterschied. Ich brauche die Liste nicht neu zu Zeichnen sondern nur die geänderten Daten im Control tauschen.
Man kann das auch im Web realisieren aber dafür braucht der Client wieder eigene Software. (Flash, etc.)
-
ich weiß, dass ich vom webbereich weggehen sollte. daher meine frage wie ihr es lösen würdet?
1000 felder waren nur ein beispiel. wie wäre es z.b., wenn man 500 personen (verwaltung z.b.) darstellen möchte. alle an die 8 spalten. natürlich könnte ich ein datagrid o.ä. nehmen, das ist aber langweilig.
prinzipiell würde ich datensatz für datensatz ausgeben. wie würdet ihr das mit C++ in Win32 machen? kann man das überhaupt gut bis auf texte etc. was ist z.b., wenn ich reagieren möchte und beim anlicken eines namens an der stelle ein textfeld zum ändern erscheinen lassen möchte? wie schwer, wie sinnvoll ist das?
-
was hast du gegen ne simples datagrid?
der Sinn dieser Controls ist es: dass der anwender bekannte vorlagen hat.du darfst nicht wie ein webdesigner denken - jetzt hast du mehr möglichkeiten.
mach doch n datagrid mit allen personen, plus einen button 'details' der einen dialog öffnet wo du die details ändern kannst.
alles ist möglich, aber die frage ist: ist es bedienbar?
würde ich erwarten dass ein textfeld erscheint wenn ich auf einen namen klicke?? eigentlich nicht. was spricht dagegen, dass textfeld die ganze zeit anzuzeigen?
-
Alle Controls, die du auf ner Website anzeigen kannst, gibt es auch in Windows. Für die Namensliste z.B. würde man eine ListBox oder ein ListView nehmen. Für den Menükram nimmt man natürlich ein Menü (wie z.B. Datei->Öffnen usw.). Orientiere dich an dem "normalen" Aufbau eines Windows-Fensters. Der User erwartet, in jedem Programm eine ähnliche Oberfläche vorzufinden.
wie jeder weiß, sind spiele in konsole geschrieben.
Wo hast du denn das bitte her?