Hallo Leute, hätte mal ein paar Fragen an erfahrende Web-Programmierer. Wir haben hier ein Team über verschiedene Abteilungen - einmal SAP Leute, ein Middleware Team (IBM WTX) ein UI Team und ein Web Design/Programmier Team am Arbeiten an einer eigentlich trivialen Geschichte. Im Grunde ein hübsches Web-Frontend zu SAP für Einkaufsanforderungen für den gelegentlichen User - eigentlich mehr oder weniger 1 abgespeckter Hauptdialog (im Vergleich zu SAP) und 1 Dialog für Voreinstellungen. Alle Teams haben ihren Part relativ schnell erledigt - nur der Webprogrammierer bastelt nun schon über anderthalb Monate daran herum (Background: HTML5, Java, MS Web-Server, Oracle-DB). Es sind wirklich vielleicht 15 Felder auf einer Hauptseite. Ein paar Gimiks (Auto-Vervollständigen von Feldern, Nachschlagen von erlaubten Codes, etc.), nix wirklich ungewöhnliches. Das ganze Design steht, auch die DB Strukturen, alles da. Was mir auffällt (als Laie im Webdesign/-Programmierung): Es wird alles zu Fuss gemacht. WYSIWIG Tools kommen nicht zum Einsatz. Darauf angesprochen, sagen die Web-Leute, das ist so - es würde in dem Umfeld mit (Java) Tool Libraries gearbeitet, WYSIWIG Tools (ala Visual Studio) gäbe es zwar, aber die taugen nichts. Als Konsequenz scheint aber selbst ein banales Nachbauen des Prototypen (von den UI Leuten) ewig zu dauern. Was man in Visual Studio grad mal so zusammenklicken würde mit 80% Funktionalität (nur als Beispiel), dauert da Wochen. Nun will ich da mal nachforschen - ist das wirklich so, muss das so sein, macht da eine Gruppe 'machen wir schon immer so', oder ist das tatsächlich schlichtweg wirklich so aufwändig? Sagt mir halt mal Eure Erfahrungen und ggfs. Ratschläge zum Thema Webprogrammierung - ganz allgemein. Danke!
Proggi schrieb: > Wir haben hier ein Team über verschiedene Abteilungen - einmal SAP > Leute, ein Middleware Team (IBM WTX) ein UI Team und ein Web > Design/Programmier Team am Arbeiten an einer eigentlich trivialen > Geschichte. Wenn an einer eigentlich trivialen Geschichte ein halbes Dutzend Leute aus verschiedenen Abteilungen arbeiten, dann ist es alles, aber keine triviale Geschichte. ;-)
:
Bearbeitet durch User
Das erzeugt auf jeden Fall einen Abstimmbedarf und ganz schön Overhead, keine Frage. Typisch Grossunternehmen, eben. Darum geht es jetzt aber nicht so sehr - die Abstimmung und die Vorarbeiten (SAP Interface, Middleware-Mapping, Design-Prototyp, etc.) sind geleistet. Es geht also hier konkret bei meiner Frage wirklich nur noch um die Implementierung der 2 Web-Dialoge bzw. welche Produktiv-Tools es da womöglich gibt, die wir nicht verwenden. Da suche ich Tipps, wie man das besser machen könnte.
Also die Weigerung zu WYSIWYG-Tools kann ich als Webentwickler nachvollziehen. Die Meisten sind wirklich Murks. Das einzig brauchbare ist da tatsächlich noch das VS für ASP .NET. Ob man so lange für die Umsetzung brauchen sollte, kann man schwer abschätzen, da man nicht in der Firma bzw. Abteilung sitzt und es schon extrem von der Kommunikation und der allgemeinen Umgebung abhängt
So wie du das erzählst ist das von einem Mann an einem Tag erledigt. Auch (bzw. gerade ohne) WYSIWYG-Tools. Das ist oft schon OK wenn man das alles "zu Fuß" macht. Mit den richtigen Frameworks geht das ganz flott. Aber ich kenne die Corporate-Welt, und da ist dann nichts mehr so einfach. Die Wertehilfen sind dann kontextspezifisch, hier eine Speziallogik, dort eine Sonderbedingung... Und dann reden am Frontend auch viele Leute mit die einfach mitreden möchten ohne Ahnung zu haben. Aber beim Layout kann halt schnell mal wer seinen Senf dazugeben. Dann ist das tolle, vom Framework geschenkte Layout zwar schön, aber die Schrift soll doch ein bisschen größer sein und der Button weiter links. Und schon beginnt die zeitaufwändige Kleinarbeit.
Proggi schrieb: > (Background: HTML5, Java, MS Web-Server, Oracle-DB) Wenn ich das schon höre, wird mir schon schlecht. Wahrscheinlich gibt es Leute, die das in 5 Tagen alleine runterbrechen, inklusive Tests. Aber wer sowas nicht immer macht, den kann man nur bedauern, wenn er so eine langweilige und ätzende Aufgabe bekommt. Da wird echt die Leidensfähigkeit geprüft. Das einzige, was ich in dem Bereich ganz erträglich finde, ist, wenn man mit einem Servlet eine (z.B. JSON-basierte) RPC-Schnittstelle baut und dann darauf aus einem Rich-Client zugreift, den man mit GWT entwickelt. Da lässt sich dann ohne den web-typischen Mist ohne Bauchschmerzen eine hübsche Oberfläche bauen, die in jedem modernen Browser läuft. Alles andere ist für Masochisten. S.
Während die einen Entwickler genau wissen, auf welchen Systemen u. Umgebungen ihre Teile laufen, kann das der Webentwickler nicht vorhersagen. Der Nutzer kann verschiedene Browser verwenden, welche nicht jede Technik gleich unterstützen, die Endgeräte können Desktops bis Handy sein, das Verhalten der Browser ist unterschiedlich bei gleichem Code (Browserweichen) usw. Zudem hört sich das so an, das in den anderen Teams mehrere Leute, beim Webteam nur 1er beteiligt ist? WYSIWYG-Tools generieren teilweise merkwürdigen bis unbrauchbaren Code, meist unnötig aufgebläht u. schlecht wartbar, weshalb man bei ernsthaften Einsatz gut drauf verzichten kann.
Proggi schrieb: > Alle Teams haben ihren Part relativ schnell erledigt - nur der > Webprogrammierer bastelt nun schon über anderthalb Monate daran herum > (Background: HTML5, Java, MS Web-Server, Oracle-DB). Es sind wirklich > vielleicht 15 Felder auf einer Hauptseite. Ein paar Gimiks > (Auto-Vervollständigen von Feldern, Nachschlagen von erlaubten Codes, > etc.), nix wirklich ungewöhnliches. Das ganze Design steht, auch die DB > Strukturen, alles da. Wenn das in deinen Augen schon fast fertig ist und nur noch ein paar triviale Handschläge fehlen, dann unterstütze den Webprogrammierer doch ein bisschen. Die kleinen Gimiks können einen im Detail schon mal beschäftigen, auch wenn hinterher keiner mehr die Kleinarbeit sieht.
Warum muß man das auch immer so kompliziert machen. SAP kann das ohne fremde Hilfe. Ob WebDynpro oder BSP (das ABAP Gegenstück zu ASP und JSP), zwei Seite zum sammeln von BANF Daten sind kein Hexenwerk, für das man große Teams braucht. Und alles was man so für ordentliche Transaktionen und viele User braucht, hat man gleich dabei. Mit UI5 lassen sich auch die fancy Sachen machen, die man heute so braucht. Nur sollte man sich in so ein SAP-System auskennen. Aber ich hab leicht reden. Nach inzwischen 24 Jahren ABAP. (Da merk ich erst, wie alt ich schon bin ;-)
Ja, das geht den meisten so :) Fakt ist, dass ich in dem ganzen Dilemma ein Hauptproblem sehe: zu viele Häuptlinge und keine Indianer. Wieso x Abteilungen, wieso x Teams, wieso diese langen Wege? Der einzige Punkt der Entwicklung, an dem sich Kosten sparen lassen ist die Kommunikation: kürze das auf das nötigste und schon stellt sich Produktivität ein. Kürze im Gegensatz die Werkzeugkosten eines Mechanikers auf das nötigste und schau was passiert.
Aus 10 Jahren Webprogrammierung sehe ich da neben bereits angesprochenen Koordinierungsproblemen höchstens die Schnittstellen als mögliche Problemquelle. Das erstellen des HTML machen Entwickler normalerweise wirklich von Hand, da es so schneller geht*, der Code sauberer ist und man vorallem weiss, was dabei rauskommt. Wer hier auf WYSIWYG setzt benutzt entweder spezielle Frameworks die kaum anderes zulassen (Vaadin etc) oder ist nicht in der Lage die 30 Zeilen Html zu tippern. *professionalität vorrausgesetzt
Proggi schrieb: > Alle Teams haben ihren Part relativ schnell erledigt ... > Das ganze Design steht, auch die DB Strukturen, alles da. > nur der Webprogrammierer bastelt nun schon über anderthalb Monate ... Naja ... nachdem man sich mal 'ne Stunde mit 'nem Zettel und 'nem Bleistift hingesetzt hat, hat man die Strukturen der Datenbank aufgemalt und klickt letztendlich noch drei mal mit der Maus und fertig ist's. Design ist ... je nach Komplexität ... auch in zwei bis drei Stunden erledigt. Gerade dann, wenn Du sagst, dass nur ein paar Eingabefelder angeordet werden sollten. Und jetzt kommt der Programmierer, der die komplette Logik aufbauen darf. "Gimmicks" (lustiges Wort, wenn man keine Ahnung hat, welcher Aufwand hinter der Realisierung steckt) wie "Auto-Vervollständigung" ... also auch noch den ganzen programmiertechnischen Aufwand für die Faulheit der Leute. Mit Sicherheit auch noch annähernd unendliche Beziehungen der einzelnen Eingabefelder zueinander, also: wenn Feld1=X, dann darf Feld2 nicht gleich Y sein, dafür aber Feld7 auf inaktiv und falls sich der "unbedarfte" Anwedner auch noch verschreibt oder verklickt, darf der ganze Rotz nicht in der Datenbank landen und es muss auch noch ein für den Computer-Unerfahrenen eine verständliche Fehlermeldung generiert werden. Was ich sagen will, ist, dass die komplette Logik der Anwendung im HTML/Java steckt ... und nicht im Design oder im Erstellen der Oracle-DB. Deshalb dauert diese Entwicklung auch länger. Grüße
Grundsätzlich ist Web-Programmierung nicht kompliziert, der Teufel sitzt - wie immer - im Detail. Da wären z.B. eine Fülle von Maßnahmen, die notwendig sind, um die unterschiedliche optische Darstellung mit ind ohne CSS in verschiedenen Browsern abzufangen. Wie immer spielt z.B. der sch... IE eine Sonderrolle - M$ kann es einfach nicht lassen, geltende Standards zu ignorieren (z.B. auch SVG oder Inline-Imgs) oder zu torpedieren. Hinzu kommen "ganz normale" Bugs. Das nächste Problem ist die "Härtung" gegen Angriffe (Cross-Side Scriptung usw.) und Bugs. Solche Maßnahmen machen oft ein Vielfaches der eigentlichen "Webgestaltung" aus ...
Nachtrag: Man kann den Aufwand aber übersichtlich halten und das Projekt so gestalten, dass man es "schichtenweise" in Betrieb nimmt, wenn man es geschickt anlegt. Dazu gehört eine "schichtenweise" Abstraktion und Programmierung: - man kann einen echten Web-Grafiker hinsetzen, der eine GUI entwirft, die wirklich ergonomisch, sinnfällig und optisch ansprechend ist. Gerade die Oberflächen, die von Technikern entworfen werden, sind für Aussenstehende meist vollkommen unbrauchbar - man kann einen Programmierer hinsetzen, der die Funkionalität der GUI umsetzt (HTML, CSS) - man kann in einer Ebene dahinter die Plausibilitäten checken (JS) - nam kann in einer weiteren Schicht dahinter die DB-Zugriffe regeln (PHP) Jede dieser Schichten kann einzeln erstellt und getestet und geupdatet werden, Stichworte: Funktionen, Kapselung, API ... Man muss es nur organisieren.
Danke, Leute, das sind gute Kommentare, die mir auch helfen, das besser zu verstehen und ggfs. zu vermitteln. Ich versuche noch zu verstehen, was man vielleicht anders machen kann, um solche Vorhaben zu beschleunigen. Es wird ja nicht das letzte bei uns sein. Es wird ja viel über 'Agile Development' und andere schnelle Entwicklungsmethoden und Tools gesprochen. Kann man damit was in der Praxis anfangen bzw. welche anderen Tools, Methoden wendet ihr an? Am Schluss kann man irgendein Tool kaufen, dass uns hilft, und wir kennens nicht, oder jemand hat Angst davor ein paar Tausender in die Hand zu nehmen. Merci nochmal!
HTML, PHP, und MySQL sind eine Katstrophe. Ich hab auch grad ein Projekt hinter mir. PHP ist nichttypisiert und teilweise skuril. Das Stringhaendling erscheint auf den ersten Blick einfach, auf den Zweiten ist es eine Katastrophe. Wenn man einen String im Browser dartellen will, muss man sonderzeichen codieren, Wenn man einen String uebertragen will, muss man es anders codieren, und wenn man ihn an MySQL uebergeben will, nochmals anders. Bei MySQL sind auch die String ein Problem. Dort gibt es ruckwaerts-Apostrop, und Apostroph der Sorte '39, sieht aus wie ein Microsoft Apostroph, ist es aber nicht. Wenn man also etwas mit Windows copy pastet hat man einen Fehler, der kaum zu finden ist. Vielleicht eine kryptische idiotische Fehlermeldung, oder auch gar nichts. Die Debugmoeglichkeiten von alledem ist arg begrenzt. Auf eine Stufe unter printf(). Denn das Fenster, wo man drauf schreibt wir vielleicht grad durch ein Neues ersetzt, dh die "printf()" gehen in den Dreck. Ohne farbunterstuetzten Editor wir zB Notpad+ kann man sich gleich einen Strick besorgen.
Siebzehn mal Fuenfzehn schrieb: > HTML, PHP, und MySQL sind eine Katstrophe. Hört sich echt nach Frusterlebnis an. Aber warte mal, kühle etwas ab und es gibt sich wieder. PHP ist nicht "untypisiert", sondern verfügt über das Top-Feature "automatic type casting" :-) (Javascript übrigens auch). Die Verwendung eines "richtigen" Editors ist ja wohl das Mindeste (Notpad++ oder Editra). Man könnte auch eine ausgewachsene IDE verwenden, z.B. das auf Eclipse beruhende Aptana Studio. Ohne vernünftiges Werkzeug ist Frust natürlich vorprogrammiert ... An den TE: Auf irgendwelche "Wundertools" brauchst du nicht zu hoffen, das Wichtigste ist Organisation und Projektmanagement. Das kann man mit Tools unterstützen, aber Ausdenken und Einrichten muss man erstmal selber.
Siebzehn mal Fuenfzehn schrieb: > HTML, PHP, und MySQL sind eine Katstrophe. Ich hab auch grad ein Projekt > hinter mir. PHP ist nichttypisiert und teilweise skuril. Das > Stringhaendling erscheint auf den ersten Blick einfach, auf den Zweiten > ist es eine Katastrophe. Wenn man einen String im Browser dartellen > will, muss man sonderzeichen codieren, Wenn man einen String uebertragen > will, muss man es anders codieren, und wenn man ihn an MySQL uebergeben > will, nochmals anders. > Bei MySQL sind auch die String ein Problem. Selten so einen Unsinn gelesen. Wenn ihr Windows-Bastler mal was einheitlich machen würdet, dann wäre das ganze kein Problem. Einheitlich bedeutet hier: Gleiche Kodierung in allen Teilen, sinnvollerweise UTF-8. Man hat nur Probleme mit "Sonderzeichen", wenn man bei jedem Teil eine andere Kodierung benutzt. Der Windows-Bastler arbeitet natürlich mit ISO-8859-1 (Latin1) und den das dann so an den Browser. PHP arbeitet (endlich) komplett mit UTF-8. Das einzige was man wirklich kodieren (mit k am Anfang nicht c) muss, sind die paar HTML-Zeichen. Dafür hat PHP die nette Funktion htmlspecialchars (). Auch MySQL hat keinerlei Probleme mit Strings. mysql_real_escape_string() für MySQL eigene Steuerzeichen und die Sache ist fertig.
Marcus W. schrieb: > Der einzige Punkt der Entwicklung, an dem sich Kosten > sparen lassen ist die Kommunikation: kürze das auf das nötigste und > schon stellt sich Produktivität ein. Die Gefahr, dass Projekte wegen ZUVIEL Kommunikation aus dem Ruder laufen, schätze ich als eher gering ein.
Proggi schrieb: > Es wird ja viel über 'Agile Development' und andere schnelle > Entwicklungsmethoden und Tools gesprochen. Lass dich nicht von den Modeworten einlullen. Schnell was vorzaubern, dass schon so aussieht, als ob es funktioniert, hilft dem Kunden primär zu erkennen, was er eigentlich möchte, um die Zahl der Entwicklungsschleifen klein zu halten. Programmiert werden muss es trotzdem noch. Schnell mal hinklatschen funktioniert bis zu einem gewissen Grade und wird zur Stolperfalle, sobald das Projekt größer wird oder später Features hinzukommen sollen, i.e. das ganze auch wartbar sein soll.
Was sind denn eigentlich die Anforderungen? Soll es auch ohne js funktionieren? In welchen Browsern soll es richtig aussehen, in welchen noch funktionieren? Was ist mit Smartphones? Welche Zeichensaetze sollen unterstützt werden? Nur europäische oder darf da auch ein Chinese seinen Name ohne transcription eingeben? Wie viele Zugriffe pro Sekunde sollen noch stabil laufen? Je extensiver die Antworten, desto mehr Aufwand wird das.
Hi Frank, Frank Esselbach schrieb: > Hört sich echt nach Frusterlebnis an. Aber warte mal, kühle etwas ab und > es gibt sich wieder. Nein, das gibt sich nicht. PHP ist wirklich eine absolute Katastrophe und MySQL ein schlechter Abklatsch von einer Datenbank. > PHP ist nicht "untypisiert", sondern verfügt über > das Top-Feature "automatic type casting" :-) Genau, und das beißt Dich dann genau da hin, wo die Sonne nicht scheint. Zum Beispiel wenn Du ein PHP-"Array" hast:
1 | <?php
|
2 | $a = Array("1" => "eins", 2 => "zwei"); |
3 | print $a[1] . " " . $a['2'] . "\n"; |
Man faßt es nicht, aber das gibt tatsächlich "eins zwei\n" aus! In jeder Programmiersprache gibt es so ein paar wenige Ecken, wo die Sprachdesigner sich verhauen haben. In PHP hingegen gibt es ein paar wenige Ecken, wo die Designer mal was richtig gemacht haben! HTH, Karl
Karl Käfer schrieb: > <?php > $a = Array("1" => "eins", 2 => "zwei"); > print $a[1] . " " . $a['2'] . "\n"; > > Man faßt es nicht, aber das gibt tatsächlich "eins zwei\n" aus! Ohne es getestet zu haben, halte ich es für keine gute Idee, Variablen mal mit, dann mal ohne und dann auch noch je nach Lust und Laune mal mit einfachen und mal mit doppelten Anführungszeichen zu nutzen. Grüße
Sebastian L. schrieb: > Marcus W. schrieb: >> Der einzige Punkt der Entwicklung, an dem sich Kosten >> sparen lassen ist die Kommunikation: kürze das auf das nötigste und >> schon stellt sich Produktivität ein. > > Die Gefahr, dass Projekte wegen ZUVIEL Kommunikation aus dem Ruder > laufen, schätze ich als eher gering ein. Sehe ich auch so. Zu viel Kommunikation per se kann es zwischen den Entwicklern kaum geben. "Von Natur aus" kommunizieren Entwickler doch wohl eher wenig. Wer viel quasselt, ist kein Entwickler sondern Manager oder im Vertrieb ;-) Aber: Es kann sein, dass zu viele Akteure beteiligt sind und sich die Zahl der Kommunikationswege dadurch sehr stark erhöht. Dann verbringt man notgedrungen einen großen Teil der Zeit mit Koordination, weil ansonsten das Projekt komplett den Bach runtergeht. Das geht natürlich entsprechend von der Zeit für die Entwicklung ab. Ich habe es zuerst selbst nicht glauben wollen, aber es kann tatsächlich zu viele Entwickler in einem Projekt geben. Wenn dann noch eine mangelhafte Koordinierung durch die Projektleitung hinzukommt, ist das ein erstklassiges "recipe for desaster". ;-)
:
Bearbeitet durch User
Proggi schrieb: > Ich versuche noch zu verstehen, was man vielleicht anders machen kann, > um solche Vorhaben zu beschleunigen. Nun, ohne Deine Organisationsstruktur zu kennen, ist es leider schwierig, zu sagen, was ihr anders machen könnt. Wichtig ist neben der grundsätzlichen fachlichen Qualifikation der Programmierer und genügend "men power" eben auch das Weiterbildungsangebot und die Beschaffung benötigter Lektüre. Gerade im öffentlichen Dienst werden oft "frische Bachelor" oder FIAE für teilweise weit weniger als 35k€/Jahr eingestellt und dementsprechend gering ist dann auch die Erfahrung und Motivation. Programmierer benötigen i.d.R. ein ruhiges Arbeitsumfeld. Wenn dort zusätzlich auch noch first level support geleistet werden soll, wenn bei Fräulein Müller mal wieder der Drucker spinnt oder die wer-kennt-wen-Site nicht aufgeht, dann war's das mit der Konzentration für die eigentliche Aufgabe. Ich habe keine Ahnung, ob Akkord-Programmierung in Indien funktioniert bzw. ob Du Dir etwas Ähnliches für euch wünscht. Ich persönlich halte jedoch sechs Wochen für die sauber ausentwickelte Programmierung einer Webanwendung mit Datenbankanbindung für durchaus akzeptabel. Wie gesagt, ich kenne die Anwendung nicht und kann hier nur grob einschätzen. Ich befürchte aber, Du kannst den Aufwand genauso wenig abschätzen wie ich, wenn Du bereits "Auto-Vervollständigung" und "Nachschlagen von erlaubten Codes" als "Gimmick" und "nix wirklich Ungewöhnliches" abtust. Die Geringschätzung komplexer Funktionen führt am Ende vermutlich dazu, dass Du ein schelleres Tempo erwartest. Irgendwelche Klickibunti-Tools kannst Du, wie vielfach schon erwähnt, vergessen. Der Code, der daraus erzeugt wird, ist i.d.R. eher schlecht und höchstens für den total Ahnungslosen überwältigend schön. Es ist oft schwierig, die Produktivität eines Programmierers in Zahlen zu messen (auch wenn das jeder SAP-Fanboy weiterhin glaubt) und ich hoffe, dass es auch nicht Deine Aufgabe ist. "Unausgegorene" und halb-fertige Software führt am Ende nur zu komplettem Frust auf beiden Seiten (Anwender und Entwickler) weshalb manche Programmierer dazu neigen, den Launch noch ein wenig zu verschieben. Auch hier bräuchte man wieder Informationen über Deine Organisationsstruktur um zu sehen, wie es bei euch mit dem Qualitätsmanagement aussieht. Man kann nicht beurteilen, ob Du zu ungeduldig bist oder ob Ritalin vielleicht helfen würde. Man kann aus der Ferne weiterhin nicht beurteilen, wie komplex eure Anwendung ist und ob euer Programmierer eher faul oder bereits komplett überlastet oder vielleicht auch überfordert ist. Das sind Fragen über Fragen und Du wirst es auch nicht schaffen, dies für Fremde in einem Internet-Forum ausreichend objektiv darzustellen um eine aussagekräftige Bewertung der Situation erhalten zu können. Trotzdem hast Du, denke ich, genügend Informationen erhalten, die Dir vielleicht ein wenig helfen können. Grüße
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.