Wie viel HTML und CSS sollten serverseitige Entwickler wissen? [geschlossen]


16

Das habe ich getan Cund C++jetzt möchte ich meine Karriere als Webentwickler beginnen . Ich habe viel über Webentwicklung gelesen und festgestellt, dass es zwei Arten von Entwicklern im Web gibt:

 1. Client Side Developers.
 2. Server Side Developers.

Ich möchte mich weiterhin auf die serverseitige Entwicklung konzentrieren . Ich dachte, dass es am besten wäre, mit den Grundlagen zu beginnen, also fing ich an HTMLund CSS. Ich fand heraus, dass CSSdas zu groß für jemanden war, um es ganz einfach zu meistern. Ich möchte wissen, welche Grundlagen ein serverseitiger Entwickler kennen sollte und ob er ein HTML-Meister sein und diese CSSeinfach abschaffen sollte.


1
Wäre ein Webdienstentwickler ein dritter Entwicklertyp oder würde diese Person als serverseitiger Entwickler gezählt?
JB King

1
@ JB-King IMO das wäre Server-Seite
BlackICE

1
@Jb king, @ David: Wie wäre es, wenn Sie es einen serverseitigen Entwickler nennen, der weiß, wie das Web funktioniert.

1
Jemand, der Webdienste entwickelt, muss möglicherweise nie CSS oder HTML verwenden, wenn der Dienst nur XML oder SOAP zurückgibt. Dies ist also weit entfernt von der Person, die eine ASP.Net-Website oder eine Webanwendung entwickelt, die über zahlreiche Funktionen der Benutzeroberfläche verfügt, die HTML und CSS verwenden, um hier einen Kontrast zu schaffen.
JB King

Als clientseitiger Full-Stack-Entwickler sollte sich jeder mit HTML auskennen. Wenn ich auf serverseitige Entwickler mit jahrelanger Erfahrung stoße, die die Funktionalität beeinträchtigten, weil sie nicht wussten, dass IDs auf einer Seite eindeutig sein sollten, möchte ich sie schlagen. FFS, es heißt "ID". Wie vertraust du überhaupt darauf, dass ein Typ danach in die Nähe von SQL kommt? Und es dauert nur ein paar Stunden im Jahr, um sich über das neueste HTML zu informieren. Außerdem sollte, IMO, jeder, von dem erwartet wird, dass er eine Vorlagenseite berührt, in der Lage sein, alle YSLOW-Empfehlungen zu erklären, da er weiß, wie Browser Seiten analysieren und rendern.
Erik Reppen

Antworten:


15

Es wird dir Beachtung schenken, sie gut zu kennen. Wenn Sie ein Webentwickler sind, dann sind Sie ein Webentwickler. Sie sollten in der Lage sein, Webanwendungen unabhängig zu schreiben, und dazu gehört auch die clientseitige Technologie.


3
+1 Ich bin ein mieser Designer, aber bei einigen Anwendungen habe ich keine Partnerschaft mit einem echten Designer.
Michael

2
Du, mein Freund, bist nicht allein. Ich habe kein großes Auge für eine großartige Benutzeroberfläche, aber ich arbeite mich durch, damit ich keinen anderen Entwickler benötige, um eine voll funktionsfähige Webanwendung zu erstellen.

8

Ich betrachte mich als "serverseitigen" Entwickler.

Obwohl ich mich auf der "Rückseite" der Webentwicklung befinde, finde ich es äußerst hilfreich, die Grundlagen von HTML und CSS zu kennen. Ich arbeite an typischen "Web-Content-Management-Systemen" (WCMS) wie Drupal, Day CQ und Liferay, und die meisten Geschäftsanforderungen und -anforderungen beziehen sich auf das Ändern des Erscheinungsbilds und der Benutzeroberfläche.

Es ist nicht notwendig, ein "Meister" in HTML oder CSS zu werden, aber zumindest sollten Sie wissen, wie man eine statische Webseite erstellt, die mit CSS gestaltet ist. Sie sollten die Grundlagen von Formularen und die verschiedenen Eingabemechanismen kennen. Verstehen Sie für CSS den Unterschied zwischen dem ID- und dem CLASS-Attribut und die Funktionsweise von Selektoren. Vieles davon werden Sie im Laufe der Zeit aufgreifen.

Machen Sie sich abschließend mit den allgemeinen Unterschieden im Browser vertraut. Auch dies ist Wissen, das Sie im Laufe der Zeit erwerben werden, aber erkennen Sie, dass Browserunterschiede bestehen, und seien Sie bereit, es zu erkennen.


1
+1 auf "Hier ist es nicht nötig, ein" Meister "in HTML oder CSS zu werden". Ich bin ein Designer, der zum Programmierer geworden ist, und es gibt eine unglaublich starke Abnahme der CSS-Kenntnisse, nachdem ich grundlegende CSS-Kenntnisse für Layouts mit Floats erlernt habe. Front-End-Nerds haben die verrücktesten Argumente in Bezug auf CSS3 / IE-Unterstützung / usw., und ein Großteil davon läuft auf Dogma oder Religion hinaus. "Tabellen SCHLECHT !," "Schraube IE!" "Mikroformate heilen KREBS!" Viele dieser Argumente haben keinen Einfluss auf die reale Welt. Wenn Sie also etwas CSS lernen, vermeiden Sie die dogmatischen Kreise und konzentrieren Sie sich darauf, zu lernen, wie Sie Dinge auf dem Bildschirm platzieren.
Graham

Ja, ich war schon bei solchen Debatten wie "Sollten Tabellen verwendet werden?" dann "Warum verwendet Google und Twitter Tabellen?" Angesichts solcher Fragen denke ich, dass es schwierig geworden ist, aus den verfügbaren Tags zu wählen /

Auf der Client-Seite sind Tabellen als Layout oder die ausschließliche Verwendung von Floats für die horizontale Positionierung in den Jahren 2011 oder 2014 keine Ablehnung des Dogmas. Sie sind Anzeichen für jemanden, der beschlossen hat, ein Ablaufdatum für seine Karriere festzulegen. Ein Designer oder exklusiver Ad / Marketing / Interactive-Agency-Front-End-Entwickler könnte damit durchkommen. Wenn ich das in der letzten Zeit bei jemandem gesehen habe, würde ich empfehlen, mich an einer Stelle zu engagieren, an der das Endprodukt letztendlich nicht verfügbar war.
Erik Reppen

1

Ich würde eigentlich drei Segmente identifizieren:

  • Serverseitige Entwickler
  • Clientseitige Entwickler (JavaScript-Programmierer)
  • Designer

Sie benötigen gründliche Kenntnisse in HTML und CSS. Die Arbeitsteilung zwischen serverseitigen und clientseitigen Entwicklern / Design-Entwicklern erfordert normalerweise, dass die serverseitigen Entwickler den HTML-Code bereitstellen, der durch Datenbank- und Programmierinteraktionen erzeugt wird. Dieser HTML-Code enthält auch CSS-Bezeichner, sodass er von den clientseitigen Entwicklern oder Designern bearbeitet werden kann.

Ihre Aufgabe als serverseitiger Entwickler ist es normalerweise, den anderen beiden das HTML / CSS-Markup zur Verfügung zu stellen. Streben Sie eine vollständige Beherrschung von HTML und CSS an.


1
"Server-seitiger Entwickler liefert den HTML-Code" Der generierte HTML-Code sollte eine Vereinigung von drei Rollen sein. Jeder muss sich mit HTML auseinandersetzen. Auch ein serverseitiger Entwickler ist nicht mit CSS befasst.
Raynos

@Raynos Server-Entwickler definieren keine CSS-Regeln. Dies ist wahr. Sie müssen jedoch verstehen, wie Klassen im Markup für semantische Gruppierungen zugewiesen werden.
Michael

1
@Micheal das ist anders, HTML und CSS hängen in der Tat zusammen. Im Idealfall stellen serverseitige Entwickler nur eine XML / JSON-REST-API zur Verfügung, und die Front-End-Entwickler / Designer schreiben das HTML / CSS. Serverseitige Entwickler sollten weiterhin kein CSS schreiben, das die Webentwickler verwenden können.
Raynos

1

Sie müssen sich mit HTML + CSS auskennen, da diese unverzichtbar und nicht schwer zu lernen sind. Sie werden auf Fallstricke stoßen, wenn Sie versuchen, das CSS für alle Browser festzulegen, aber Sie müssen es wissen, da Sie manchmal HTML mithilfe der Serverseite generieren müssen.

Sie können diese lernen, indem Sie Ihr eigenes Blog erstellen. Wenn es nichts zu bloggen gibt, können Sie über Ihren Unterricht bloggen.


1

Äh, ich verstehe nicht, warum die Leute nicht verstehen. Es gibt keinen Front-End-Code für Websites. Es ist alles Back-End-Code. Der Front-End-Code ist der Browser. Wenn Sie also nicht mit Mozilla oder IE oder Chromium / google oder Safari arbeiten, schreiben Sie serverseitigen Code. So funktioniert es: Der Browser fordert eine Datei vom Webserver an. Der Webserver gibt eine Datei aus. Der Browser interpretiert diese Datei und fordert möglicherweise zusätzliche Dateien an (Bilder, Javascript, CSS usw.) und interpretiert diese Dateien, bis alle Dateien interpretiert wurden.

Diese erste Datei, die der Browser anfordert, ist eine HTML-Datei. Die HTML-Datei wird analysiert und der Browser entscheidet, wie der Inhalt gerendert wird. Eines der wichtigsten Konzepte, das hier beibehalten werden muss, ist, dass die HTML-Datei von einem Parser verarbeitet wird.

Der Webserver ist eine Software, die einen Port überwacht und Anforderungen nach Dateien verarbeitet. Wenn es sich bei der Datei um eine statische Datei handelt (wir meinen hier statische Datei in dem Sinne, dass die Datei bereits erstellt wurde), wird sie einfach so wie sie ist auf den anfordernden Client kopiert. Wenn die Datei dynamisch ist, dh jedes Mal erstellt wird, wenn die Datei angefordert wird, fordert der Webserver an, dass die Datei von der Software generiert wird, die die Datei generiert (entweder ein ausgeführter Prozess, eine geladene Bibliothek oder das Starten eines Prozesses) Diese Software generiert die Datei und sendet sie an den Webserver, der sie wiederum an den Client sendet.

Sobald diese Datei dem Client "zugestellt" und analysiert wurde, fordert der Client möglicherweise andere Dateitypen an, z. B. JSON-Dateien, bei denen das Parsen durch den HTML-Renderer umgangen und die Datei stattdessen an den Javascript-Interpreter zurückgegeben wird, in dem sie ausgeführt wird der Client, und diese werden von Javascript analysiert (eval ist eine Form der Analyse). Darauf basiert AJAX.

Wie wirkt sich das auf Sie aus? Wenn eine Datei auf dem Server dynamisch generiert wird, wird auf dem Server eine Software ausgeführt, die angibt, wie die Datei generiert werden soll. Die Personen, die diese Software programmieren, gelten als "serverseitige" Programmierer.

Diese auf dem Server generierten HTML-Dateien teilen dem Browser mit, welche anderen Dateien enthalten sein sollen. Daher müssen Javascript, Bilder und CSS importiert, angeordnet und anderweitig in der generierten HTML-Datei organisiert werden.

Viele Web-Frameworks (MVC et al.) Wurden entwickelt, um eine Grenze zwischen der reinen "serverseitigen" und der "clientseitigen" Arbeit zu schaffen.

Ich habe vergessen, oh je, die Datenleute zu erwähnen. Die Datenspeicherer sind noch mehr serverseitig als die serverseitigen HTML-Datei-Generierer. Die Datenspeicherung, egal ob relationale Datenbank, NoSQL oder auf andere Weise, ist eine andere Sache. Ich erwähne dies, weil die von Big Vendor angepriesenen Frameworks und Methoden (wieder MVC et al.) Es anscheinend einfach machen, das einfach "einfach draufzulegen".

Woah, was für eine langatmige Antwort.

Ich mache diese scheinbar unbefangene Antwort, um Ihre Aussage, dass es serverseitige Entwickler und clientseitige Entwickler gibt, in Frage zu stellen. Wenn Sie Ihr Informationssystem über eine Website bereitstellen, muss alles auf dem Server gespeichert, organisiert und verwaltet werden. Und es ist ein großes Durcheinander, und wenn Sie nicht wirklich lernen, wie alles funktioniert, werden Sie eine verdammt lange Zeit damit verbringen, dass es gut funktioniert. Es ist also alles serverseitig.


1
NICHT SICHER, WENN SCHWER? Das ist dumm. "Client-Seite" bezieht sich auf Software, die auf dem Client-Computer ausgeführt wird, nicht auf der Bereitstellungsplattform. HTML, CSS und JavaScript werden auf dem Server gespeichert (duh), aber auf dem Client ausgeführt. Ihre Entwicklung wird daher als "clientseitig" betrachtet.
Graham

Die Software, die auf dem Client-Computer ausgeführt wird, wird von der Rendering-Engine im Browser interpretiert, die auf dem Client ausgeführt wird. Die Rendering-Engine rendert zuerst den HTML-Code und rendert dann nach dem Rendern alle zugehörigen Ressourcen im Kontext der HTML-Datei.
Christopher Mahan

@ Abraham, ja, es ist komplex, daher der Reiz von Silverlight und AdobeAir.
Christopher Mahan

0

+1 für die Frage. Ich habe auch immer gedacht, dass das Codieren einer Serverseite interessanter und wichtiger ist als HTML + CSS + JS + Ajax + .. und viele andere Dinge. Wie auch immer, wenn Sie alleine sind und Ihre eigene Webanwendung erstellen möchten, müssen Sie sowohl serverseitiger Programmierer als auch Designer + (clientseitiger Programmierer) sein. Deshalb lerne ich jetzt HTML5 und CSS3.


Danke Sergey. Ich mache HTML 4 und CSS und ich würde versuchen, zu HTML5 und dann bald zu PHP zu wechseln :)

Welche Seite interessanter ist, hängt von der Anwendung ab. Viele Webanwendungen bieten eine Benutzererfahrung von etwa 90% und ein Datendesign von 10%.
Kevin Cline

Wenn Sie das Daten-Design richtig machen, wird die Benutzererfahrung auch einfach sein!
Christopher Mahan

"Wenn Sie das Daten-Design richtig machen, wird die Benutzererfahrung auch einfach sein!" - Es tut mir leid, aber das ist schockierend falsch. Der iPod hatte das gleiche grundlegende Datendesign wie über 100 andere MPG-Player auf dem Markt, aber seine revolutionäre Benutzererfahrung hat dazu geführt, dass Apple das Unternehmen ist, das wir heute alle kennen.
Graham

0

Eigentlich kommt es darauf an. In den meisten Fällen müssen Sie HTML und CSS beherrschen. In seltenen Fällen können Sie beide ignorieren.

Fall 1

In meiner Firma gibt es Projekte mit strikter Trennung zwischen HTML & CSS und allem, was mit dem Server zusammenhängt . Dies ermöglicht es, den besten C # - oder PHP-Entwickler auf die eine Seite und den besten HTML-, CSS- und JavaScript-Entwickler auf die andere Seite zu bringen. Konkret erstellt der serverseitige Entwickler für jede Seite serverseitige Objekte, die alles enthalten, was zum Anzeigen der Seite erforderlich ist. Diese Objekte werden dann in XML serialisiert. Der clientseitige Entwickler wählt diese Objekte aus und wandelt sie mit XSLT in XHTML um.

Allerdings habe ich diesen Ansatz noch nie in anderen Unternehmen gesehen. Außerdem hat es viele Einschränkungen und auch wenn es in einigen Fällen perfekt ist, funktioniert es in vielen anderen überhaupt nicht.

Fall 2

Wenn Entwickler und Designer auf kleinen Websites zusammenarbeiten, gibt es keinen Konsens darüber, wer HTML und CSS schreibt. Sie müssen sich für jedes Projekt nach den Fähigkeiten beider Beteiligter entscheiden. Auch wenn es in vielen Fällen der Entwickler ist, der sich mit HTML und CSS befasst, finden Sie auch einige Designer, die HTML und CSS sehr gut kennen . In diesem Fall müssen Sie HTML / CSS nicht lernen, wenn Sie beabsichtigen, nur mit einem solchen Designer an kleinen Projekten zu arbeiten.

Fall 3

Bei größeren Projekten ist es nicht ungewöhnlich , eine engagierte Person einzustellen, die auf der Grundlage der Arbeit von Designern und serverseitigen Entwicklern HTML- und CSS-Code schreibt . In der Regel ist dies eine gute Idee, da ein erfahrener C # -Entwickler nicht 100 USD pro Stunde für das eigentliche Schreiben von HTML zahlen muss. Es ist nur eine Verschwendung von Zeit und Geld.


Allerdings sind diese Fälle nicht die häufigsten. Konzentrieren Sie sich also auf die serverseitige Entwicklung, aber versuchen Sie auch, HTML und CSS zu lernen. Zusätzliches Wissen schadet nie.


0

Manchmal, besonders am Anfang, arbeiten Sie alleine an einem Projekt und müssen Front-End und Back-End machen. In diesem Fall benötigen Sie mindestens Grundkenntnisse in HTML und CSS. Sie müssen kein großartiger Designer sein, Sie müssen lediglich die Informationen aus Ihrem Backend in Ihrem Browser sichtbar machen, damit Sie die Dinge testen können.


0

Eigentlich hängt alles davon ab. Wenn Sie sich mit der Programmierung von Serversoftware nicht auskennen, stellen Sie sicher, dass Sie die Standardmethoden kennen, mit denen Webentwickler auf wirklich hohem Niveau (HTML / CSS) mit Ihrer Anwendung interagieren können sollten. Wenn Sie jedoch viel eng mit HTML / CSS verbunden arbeiten möchten, müssen Sie HTML und CSS einigermaßen gut kennen. In jedem Fall ist es immer gut, einige zusätzliche Technologien zu kennen. Ich bin ein nativer Programmierer und kenne sogar HTML / CSS genug, um eine anständige Website zu erstellen. Davon abgesehen habe ich es nur gelernt, damit ich AJAX lernen kann, um einige Chrome / Firefox-Addons zu schreiben.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.