Wie kann man die Komplexität der Webentwicklung in den Griff bekommen? [geschlossen]

17

Ich war den größten Teil meiner Karriere als serverseitiger Programmierer tätig und verbringe erst seit kurzem mehr Zeit mit der Webentwicklung. Ich bin erstaunt, wie viele Dinge ich beherrschen muss, um eine anständige Webanwendung zu schreiben. Nur um ein paar Tools / Technologien aufzulisten, die ich lernen muss,

  • Serverseitige Programmiersprache (Java / JSP, ASP, PHP, Ruby oder etwas anderes)

  • Ein anständiges Web-Framework (für jede mittelgroße bis große Anwendung).

  • HTML & CSS

  • Javascript

  • Javascript Bibliothek (JQuery / ExtJS etc. hauptsächlich für AJAX). Gut zu wissen, auch wenn es nicht nötig ist.

  • Zumindest Grundkenntnisse in Webdesign - Layouts, Farben, Schriften etc.

  • Ein gutes Verständnis der Websicherheit.

  • Ein gutes Verständnis für Performance- / Skalierbarkeitsprobleme.

  • Tests, Probleme mit der Browserkompatibilität usw.

Die Liste geht weiter.

Meine Frage an erfahrene Webentwickler lautet also: Wie schafft ihr es zu lernen und euch über so viele Dinge auf dem Laufenden zu halten? Wie gehen Sie bei der Entwicklung einer Webanwendung mit den in diesen Bereichen auftretenden Komplexitäten um und schaffen es dennoch, eine Anwendung zu schreiben, die gut gestaltet, benutzerfreundlich, sicher, performant und skalierbar ist.

Muss man als Webentwickler ein Alleskönner sein oder sollte man sich auf einen oder zwei Bereiche spezialisieren und den Rest anderen Teammitgliedern überlassen?

Rahul
quelle
Neue Dinge sind zunächst schwierig. Lass dich davon nicht aus der Ruhe bringen. Stellen Sie fest, dass Sie nicht in der Lage sind, mit erfahrenen Entwicklern zu konkurrieren, und geben Sie einfach Ihr Bestes. Erweitern Sie Ihre Fähigkeiten nach Bedarf im Laufe der Zeit. All diese Tools ändern sich sowieso so schnell, dass Sie ein lebenslanger Lerner sein müssen, um in der Entwicklung zu überleben. Das, oder viel Glück beim Programmieren. seit 20 jahren.
P.Brian.Mackey

Antworten:

9

Serverseitige Programmiersprache (Java / JSP, ASP, PHP, Ruby oder etwas anderes)

Verwenden Sie ein Framework. Django zum Beispiel.

Ein anständiges Web-Framework (für jede mittelgroße bis große Anwendung).

Nicht "mittelgroß bis groß". Nutze einen Rahmen für alles .

HTML & CSS

Es ist was es ist. Lern es.

Javascript

Verwenden Sie möglichst viele Bibliotheken und Frameworks. Weniger schreiben, mehr wiederverwenden.

Javascript Bibliothek (JQuery / ExtJS etc. hauptsächlich für AJAX). Gut zu wissen, auch wenn es nicht nötig ist.

Richtig. Benutze eine Bibliothek.

Oder.

Verwenden Sie FLEX.

Zumindest Grundkenntnisse in Webdesign - Layouts, Farben, Schriften etc.

Kopieren Sie vorhandene Sites.

Ein gutes Verständnis der Websicherheit.

Lesen Sie www.owasp.org sorgfältig durch. Und. Verwenden Sie hierfür ein Framework.

Ein gutes Verständnis für Performance- / Skalierbarkeitsprobleme.

Verwenden Sie Apache. Verwenden Sie ein Framework, das dies erledigt. Lesen Sie Schlossnageles Scalable Internet Architectures.

Tests, Probleme mit der Browserkompatibilität usw.

Frameworks. Bibliotheken.

Das hat einen Trick. Verwenden Sie so viele Bibliotheken und Frameworks wie möglich. Das Web gibt es schon seit Jahren.

Auf den Schultern von Riesen stehen. Bitte. Sie müssen das alles nicht neu erfinden.

S.Lott
quelle
Natürlich sollten Sie nicht alles neu erfinden, wenn Sie ein erfahrener Entwickler sind, der mit allen Frameworks und Tools vertraut ist. Wenn Sie jedoch all diese Tools als Neuling aus dem Weg räumen, erhöht sich nur die Eintrittsbarriere. Er sollte grundlegendes Javascript und wie ein Neuling tun, um diese Sperre zu verringern. Aber da das OP gefragt hat, wie ein "erfahrener Entwickler" Dinge tut, kann ich dafür kein -1-Signal senden.
P.Brian.Mackey
5

Wie schafft ihr es zu lernen und euch über so viele Dinge auf dem Laufenden zu halten?

Tipp 1 . Behalte alle Dinge im Auge, die da draußen passieren. Hören Sie zu, worüber die Leute sprechen, überprüfen Sie die Dinge, lesen Sie Artikel und Blogs, setzen Sie ein Lesezeichen für das, was wichtig ist, lernen Sie, experimentieren Sie, bleiben Sie auf natürliche Weise neugierig auf alles.

Tipp 2 . Auf jeden Fall viel Spaß dabei.

Tipp 3 . Wie jemand einmal auf SO hingewiesen hat, beziehen sich die Dinge, die Sie aufgelistet haben, auf das kollektive Wissen vieler Entwickler. Erwarten Sie nicht, dass Sie alles in Perfektion wissen, es ist zu viel für einen einzelnen Verstand, um damit umzugehen. Nehmen Sie, was Sie brauchen, und wissen Sie, wo Sie den Rest finden.

Muss man als Webentwickler ein Alleskönner sein oder sollte man sich spezialisieren?

Es ist besser, sich in verschiedenen Bereichen auszukennen. Das Besondere an der Webentwicklung ist, dass sie plötzlich alle Aspekte der Produktentwicklung an einem Ort in einer Hand vereint. Man muss sich zwangsläufig vieler Dinge bewusst sein, um Dinge zum Ticken zu bringen. Aber im Ernst, es ist so schön, überall die Finger zu haben!


quelle
2

Sie haben nicht immer ein Team, zumindest in meinem Fall. Ein "Alleskönner" zu sein, ist also hilfreich.

Aber Sie müssen / werden nicht alles wissen. Seien Sie also gut darin, Google zu durchsuchen.

Sie werden die Fähigkeiten aufbauen, wie Sie sie brauchen.

Ben L
quelle
Ja, es schien am Anfang so schwierig zu sein.
Reismehl Kekse
1

Es gibt Grundlagen, die Sie kennen müssen - HTML, CSS, semantisches Markup, was HTTP macht und wie man es gut nutzt.

Dann schauen Sie sich an, was Sie für dieses Projekt benötigen , unabhängig davon , um welches Projekt es sich handelt. Das wird wahrscheinlich bedeuten, mit einer vorhandenen Plattform oder einem vorhandenen CMS zu beginnen und es anzupassen, manchmal ganz nach Maß, aber in den meisten Fällen nicht. Manchmal gibt es Anforderungen in Bezug auf den Ort und die Art des Hostings, die Sie zur richtigen Plattform führen, manchmal bestimmen die gewünschten Funktionen das Hosting, das Sie verwenden können. Sie lernen, was Sie brauchen, wie Sie es brauchen. Die Arbeitsweise ist ein bisschen langsam, aber letztendlich haben die meisten von uns das gelernt, was wir tun - Projekt für Projekt lernen, was wir wissen müssen.

Je mehr Sie mit erfahrenen Webentwicklern zusammenarbeiten, desto schneller können Sie von ihnen lernen. Im Großen und Ganzen haben wir diese Fähigkeiten jedoch im Laufe der Zeit Stück für Stück erworben.

Glenatron
quelle
1

Ich versuche genug über alle aktuellen Technologien zu wissen, damit ich weiß, wann sie angewendet werden sollten. Ich bin zum Beispiel in erster Linie ein ASP.NET-Entwickler, aber Ruby on Rails weiß genug, um herauszufinden, ob es für ein bestimmtes Problem besser geeignet ist.

Die Technologien, die ich tatsächlich benutze, versuche ich zu kennen. Wenn es in ASP.NET eine bestimmte Funktion gibt, möchte ich sie detailliert kennen und wissen, wann ich sie anwenden soll und wann nicht. Gleiches gilt für JQuery, CSS und alles andere, was ich benutze.

Um auf dem neuesten Stand zu bleiben, höre ich Podcasts, abonniere RSS-Feeds, stöbere in StackOverflow und nehme an Entwicklerveranstaltungen teil.

RationalGeek
quelle
1

Starten Sie ganz einfach mit .NET oder JEE / JSF. Sie müssen Ihr erstes Projekt nicht auf die harte Tour ausführen. Speichern Sie diese Komplexität, wenn Sie sie wirklich brauchen.

Brian Knoblauch
quelle