Quelle quantité de code HTML et CSS le développeur côté serveur doit-il connaître? [fermé]


16

J'ai fait Cet C++maintenant je veux commencer ma carrière de développeur web . J'ai beaucoup lu sur le développement Web et j'ai appris qu'il y avait deux types de développeurs sur le Web,

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

Je veux rester concentré sur le développement côté serveur . J'ai pensé qu'il serait préférable de commencer par les bases alors j'ai commencé à faire HTMLet CSS. J'ai découvert que CSSc'était trop grand pour que quelqu'un puisse le maîtriser facilement. Je veux savoir quelles notions de base un développeur côté serveur devrait-il connaître et devrait-il être un maître du HTML et / CSSou simplement s'en débarrasser?


1
Un développeur de services Web serait-il un troisième type de développeur ou cette personne serait-elle considérée comme un développeur côté serveur?
JB King

1
@ jb-king IMO qui serait côté serveur
BlackICE

1
@Jb king, @ David: Que diriez-vous de l'appeler un développeur côté serveur qui sait comment fonctionne le Web.

1
Une personne qui développe des services Web peut ne pas avoir besoin d'utiliser CSS ou HTML si le service renvoie simplement XML ou SOAP. Ainsi, c'est loin d'être la même personne qui développe un site Web ou une application Web ASP.Net qui a beaucoup de fonctionnalités d'interface utilisateur qui utilisent HTML et CSS pour donner un contraste ici.
JB King

S'exprimant en tant que développeur côté client désormais complet, tout le monde devrait connaître le HTML. Lorsque je rencontre des développeurs côté serveur avec des années d'expérience qui ont cassé les fonctionnalités parce qu'ils ne savaient pas que les identifiants devaient être uniques sur une page, je veux les gifler. FFS, cela s'appelle un "ID". Comment pouvez-vous même faire confiance à un gars pour s'approcher du SQL après cela? Et cela ne prend que quelques heures par an pour avoir une idée du dernier HTML. En outre, l'OMI, toute personne censée toucher une page de modèle devrait également être en mesure d'expliquer toutes les recommandations YSLOW car elle sait comment les navigateurs analysent et rendent les pages.
Erik Reppen

Réponses:


15

Il vous tiendra compte de bien les connaître. Si vous êtes développeur Web, vous êtes développeur Web. Vous devriez pouvoir écrire indépendamment des applications Web, ce qui inclut la technologie côté client.


3
+1 Je suis un mauvais designer, mais sur quelques applications, je n'ai aucun partenariat avec un vrai designer.
Michael

2
Vous, mon ami, n'êtes pas seul. Je n'ai pas vraiment l'œil pour une excellente interface utilisateur, mais je la rude afin de ne pas avoir besoin d'un autre développeur pour créer une application Web entièrement fonctionnelle.

8

Je me considère comme un développeur "côté serveur".

Bien que je sois à l'arrière du développement Web, je pense qu'il est extrêmement utile de connaître les principes fondamentaux du HTML et du CSS. Je travaille sur des «systèmes de gestion de contenu Web» (WCMS) typiques, tels que Drupal, Day CQ et Liferay, et la plupart des exigences et demandes commerciales tournent autour du changement de l'apparence.

Il n'est pas nécessaire de devenir un "maître" en HTML ou CSS, mais au minimum, vous devez savoir comment créer une page Web statique, stylisée avec CSS. Vous devez connaître les bases des formulaires et les différents mécanismes de saisie. Pour CSS, comprenez la différence entre l'attribut ID et CLASS et le fonctionnement des sélecteurs. Vous en récupérerez beaucoup au fil du temps.

Enfin, développez une certaine connaissance des différences courantes de navigateur. Encore une fois, c'est une connaissance que vous allez acquérir au fil du temps, mais reconnaissez qu'il existe des différences de navigateur et soyez prêt à le reconnaître.


1
+1 sur "il n'est pas nécessaire de devenir un" maître "en HTML ou CSS". Je suis un concepteur devenu programmeur et il y a une diminution incroyablement nette des retours dans la connaissance CSS après avoir appris CSS de base pour les mises en page à l'aide de flottants. Les nerds frontaux ont les arguments les plus fous sur le support CSS3 / IE / etc, et cela se résume en grande partie au dogme ou à la religion. "Tables BAD !," "Vis IE!" "Les microformats guériront le CANCER!" Beaucoup de ces arguments n'ont aucun impact dans le monde réel, donc si vous apprenez du CSS, assurez-vous d'éviter les cercles dogmatiques et concentrez-vous simplement sur la façon de placer les choses à l'écran.
Graham

Oui, je suis allé à des débats tels que "Faut-il utiliser des tables?" puis "Pourquoi Google et Twitter utilisent des tableaux?" En voyant de telles questions, je pense simplement qu'il est devenu difficile de choisir parmi les balises disponibles /

Côté client, les tableaux en format ou continuer à utiliser des flotteurs exclusivement pour un positionnement horizontal en 2011 ou 2014 ne sont pas un rejet du dogme. Ce sont des signes de quelqu'un qui a décidé de mettre une date d'expiration sur sa carrière. Un designer ou un développeur front-end exclusivement publicitaire / marketing / d'agence interactive pourrait être en mesure de s'en tirer. Si j'ai vu cela dans le travail récent de quelqu'un, je recommanderais de ne pas embaucher n'importe où j'ai travaillé là où le produit final n'était finalement pas jetable.
Erik Reppen

1

J'identifierais en fait trois segments:

  • Développeurs côté serveur
  • Développeurs côté client (programmeurs JavaScript)
  • Designers

Vous aurez besoin d'une connaissance approfondie du HTML et du CSS. La division du travail entre les développeurs côté serveur et côté client / conception nécessite généralement que le développeur côté serveur fournisse le code HTML produit par la base de données et les interactions de programmation. Ce code HTML contient également des identificateurs CSS, de sorte qu'il peut être manipulé par les développeurs ou les concepteurs côté client.

Votre travail en tant que développeur côté serveur consiste généralement à fournir le balisage HTML / CSS aux deux autres. Visez une parfaite maîtrise du HTML et du CSS.


1
"développeur côté serveur fournir le HTML" Le HTML généré doit être une union de 3 rôles. Tout le monde doit être impliqué dans le HTML. De plus, un développeur côté serveur n'a aucune implication avec CSS.
Raynos

Les développeurs côté serveur @Raynos ne définissent pas de règles CSS, c'est vrai. Ils doivent cependant comprendre comment affecter des classes au balisage pour les regroupements sémantiques.
Michael

1
@Micheal c'est différent, HTML et CSS sont en effet liés. Idéalement, les développeurs côté serveur exposent simplement une API REST XML / JSON et les développeurs / concepteurs frontaux écrivent le HTML / CSS. Les développeurs côté serveur ne doivent toujours pas écrire de CSS pour les développeurs Web.
Raynos

1

Vous devez connaître HTML + CSS, car ils sont essentiels et faciles à apprendre. Vous rencontrerez des pièges en essayant de définir le CSS pour tous les navigateurs, mais vous devez le savoir, car vous devez parfois générer du HTML en utilisant le côté serveur.

Vous pouvez commencer à les apprendre en créant votre propre blog. S'il n'y a rien à bloguer, vous pouvez bloguer sur vos leçons.


1

Euh, je ne comprends pas pourquoi les gens ne comprennent pas. Il n'y a pas de code frontal avec les sites Web. C'est tout le code back-end. Le code frontal est le navigateur, donc à moins que vous ne travailliez sur Mozilla ou IE ou Chromium / google ou safari, vous écrivez du code côté serveur. Voici comment cela fonctionne: le navigateur demande un fichier au serveur Web. Le serveur Web génère un fichier. Le navigateur interprète ce fichier et peut demander des fichiers supplémentaires (images, javascript, css, etc.) et interpréter ces fichiers jusqu'à ce que tous les fichiers aient été interprétés.

Maintenant, ce premier fichier demandé par le navigateur est un fichier html. Le fichier html est analysé et le navigateur décide comment rendre son contenu. Ainsi, l'un des concepts importants à retenir ici est que le fichier html est consommé par un analyseur.

Le serveur Web est un logiciel qui écoute sur un port et traite les demandes de fichiers. Si le fichier est un fichier statique (nous entendons ici statique dans le sens où le fichier est déjà créé), il est simplement copié tel quel sur le client demandeur. Si le fichier est dynamique, ce qui signifie qu'il est créé chaque fois que le fichier est demandé, le serveur Web demande que le fichier soit généré par le logiciel qui génère le fichier (soit un processus en cours d'exécution, une bibliothèque chargée ou le lancement d'un processus) et ce logiciel génère le fichier et l'envoie au serveur Web, qui, à son tour, l'envoie au client.

Une fois que ce fichier a été "servi" au client et analysé, le client peut demander d'autres types de fichiers, tels que des fichiers json, où il peut contourner l'analyse par le moteur de rendu html et à la place, renvoyer le fichier à l'interpréteur javascript exécuté dans le client, et ceux-ci sont analysés (eval est une forme d'analyse) par javascript. Voilà sur quoi AJAX est basé.

Maintenant, comment cela vous affecte-t-il? Si un fichier sur le serveur est généré dynamiquement, un logiciel s'exécutant sur le serveur lui indique comment générer le fichier. Les personnes qui programment ces logiciels sont considérées comme des programmeurs "côté serveur".

Ces fichiers html, générés sur le serveur, indiqueront au navigateur quels autres fichiers inclure, donc le javascript et les images et le css doivent être importés, organisés et autrement organisés par le fichier html généré.

De nombreux frameworks web, et j'ose dire, des méthodologies (MVC et al) ont été développés pour créer une frontière entre le travail pur "côté serveur" et le travail "côté client".

J'ai oublié de mentionner, oh mon cher, les personnes de données. Les personnes chargées du stockage de données sont encore plus côté serveur que les auteurs de logiciels générant des fichiers html côté serveur. Le stockage de données, qu'il s'agisse d'une base de données relationnelle, NoSQL ou autre, est une tout autre chose. Je mentionne cela parce que les cadres et méthodologies vantés par les gros vendeurs (MVC et al encore) semblent faciliter la simple mise en gras.

Woah, quelle réponse longue.

Je fais cette réponse apparemment variable pour contester votre affirmation selon laquelle il existe des développeurs côté serveur et des développeurs côté client. Si vous livrez votre système d'information via un site Web, tout doit être stocké, organisé et géré sur le serveur. Et c'est un gros gâchis, et à moins que vous ne sachiez vraiment comment tout cela fonctionne, vous aurez beaucoup de temps à le faire fonctionner correctement. Tout est donc côté serveur.


1
PAS SÛR SI SÉRIEUX? C'est idiot. "Côté client" fait référence au logiciel qui s'exécute sur la machine cliente, et non à la plate-forme de livraison. HTML, CSS et JavaScript sont stockés sur le serveur (duh) mais RUN sur le client. Leur développement est donc considéré comme «côté client».
Graham

Le logiciel qui s'exécute sur la machine client est interprété par le moteur de rendu dans le navigateur, qui s'exécute sur le client. Le moteur de rendu rend d'abord le html, puis, après le rendu, rend toutes les ressources associées, dans le contexte du fichier html.
Christopher Mahan

@Graham, Oui, c'est complexe, d'où l'attrait de Silverlight et d'AdobeAir.
Christopher Mahan

0

+1 pour la question. J'ai aussi toujours pensé que coder côté serveur est plus intéressant et important que de faire html + css + js + ajax + .. et des tonnes de choses. Quoi qu'il en soit, si vous êtes seul et que vous souhaitez créer votre propre application Web, vous devez être à la fois programmeur côté serveur et designer + (programmeur côté client). C'est pourquoi j'apprends maintenant html5 et css3.


Merci Sergey. Je fais du HTML 4 et du CSS et j'essaierais de passer au HTML5 puis au PHP bientôt :)

Le côté le plus intéressant dépend de l'application. De nombreuses applications Web représentent environ 90% d'expérience utilisateur et 10% de conception de données.
Kevin Cline

Si vous faites correctement la conception des données, l'expérience utilisateur sera également simple!
Christopher Mahan

"Si vous faites correctement la conception des données, l'expérience utilisateur sera également simple!" - Je suis désolé, mais c'est scandaleusement faux. L'Ipod avait la même conception de données de base que plus de 100 autres lecteurs MPG sur le marché, mais son expérience utilisateur révolutionnaire a fait d'Apple la société que nous connaissons tous aujourd'hui.
Graham

0

En fait, cela dépend. Dans la plupart des cas, vous devez connaître le HTML et le CSS. Dans de rares cas, vous pouvez ignorer les deux.

Cas 1

Dans mon entreprise, il existe des projets avec une séparation stricte entre HTML et CSS et tout ce qui concerne le côté serveur . Cela permet d'apporter le meilleur développeur C # ou PHP d'un côté, et le meilleur développeur HTML, CSS & JavaScript de l'autre côté. Concrètement, le développeur côté serveur produit pour chaque page des objets côté serveur contenant tout ce dont nous avons besoin pour afficher la page; ces objets sont ensuite sérialisés en XML. Le développeur côté client sélectionne ces objets et les transforme en XHTML avec XSLT.

Cela dit, je n'ai jamais vu cette approche dans d'autres entreprises. De plus, il a beaucoup de limites et même s'il est parfait dans certains cas, il ne fonctionne pas du tout dans beaucoup d'autres.

Cas 2

Lorsque, sur de petits sites Web, développeur et concepteur travaillent ensemble, il n'y a pas de consensus sur qui écrit HTML et CSS. Vous devez décider pour chaque projet, en fonction des compétences des deux personnes impliquées. Même si dans de nombreux cas, c'est le développeur qui s'occupe du HTML et du CSS, vous pouvez également trouver des concepteurs qui connaissent très bien le HTML et le CSS . Dans ce cas, si votre intention est de travailler sur de petits projets et uniquement avec un tel concepteur, vous n'avez pas à apprendre le HTML / CSS.

Cas 3

Sur des projets plus importants, il n'est pas rare d' embaucher une personne dédiée pour écrire du code HTML et CSS basé sur le travail des concepteurs et des développeurs côté serveur. C'est généralement une bonne idée de le faire, car vous ne voulez pas payer 100 $ par heure pour qu'un développeur C # expérimenté écrive réellement du HTML; c'est juste une perte de temps et d'argent.


Cela dit, ces cas ne sont pas les plus fréquents. Concentrez-vous donc sur le développement côté serveur, mais essayez également d'apprendre HTML et CSS. Des connaissances supplémentaires ne font jamais de mal.


0

Parfois, surtout au début, vous travaillerez seul sur un projet et devrez faire du front-end et du back-end. Dans ce cas, vous aurez besoin d'au moins une connaissance rudimentaire du HTML et du CSS. Vous n'avez pas besoin d'être un grand concepteur, il vous suffit d'obtenir les informations de votre backend visibles dans votre navigateur afin de pouvoir tester les choses.


0

En fait, tout dépend. Si vous vous trompez en ce qui concerne la programmation logicielle du serveur, assurez-vous de connaître les moyens standard que les développeurs Web de très haut niveau (HTML / CSS) devraient pouvoir interfacer avec votre application. Cependant, si vous prévoyez de faire beaucoup de travail étroitement lié au HTML / CSS, vous devez connaître assez bien le HTML et le CSS. Quoi qu'il en soit, il est toujours bon de connaître certaines technologies supplémentaires. Je suis un programmeur natif et même je connais suffisamment HTML / CSS pour créer un site Web décent. Cela étant dit, je ne l'ai appris que pour apprendre AJAX à écrire des extensions Chrome / Firefox.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.