Je ne comprends pas vraiment "Backend / Serverside" en matière de développement web?

18

Dans le monde du développement Web, que font exactement les programmeurs backend / côté serveur? Je suppose que je ne comprends pas vraiment tout le concept.

J'ai fait les mises en page HTML / CSS et la conception de sites Web et un peu de SQL avec PHP (toujours en améliorant mes compétences, c'est plus un projet parallèle pour moi). J'ai également fait une petite quantité de JavaScript / JQuery.

Mais je ne comprends pas le travail "backend", comme les langages de script (Rails / Python / etc) et autres. Que faites-vous exactement avec eux?


la source
8
Où pensez-vous que les questions et réponses de ce site vont et comment?
Mayank

Réponses:

17

Si vous avez utilisé PHP, vous avez fait du travail côté serveur!

En termes simples, le code côté client est exécuté sur votre ordinateur, dans votre navigateur Web, et le code côté serveur est exécuté sur un ordinateur sur Internet, et les résultats du calcul côté serveur sont ensuite envoyés sur Internet à votre navigateur.

Lorsque vous avez écrit du code PHP qui exécutait des instructions SQL, les appels SQL ont été effectués sur l'ordinateur distant (le serveur) et ce résultat - généralement sous la forme de code HTML généré - est ensuite envoyé via Internet au navigateur.

JavaScript, d'autre part, est exécuté dans votre navigateur. CSS aussi.

Consultez La différence entre la programmation côté client et côté serveur pour plus d'informations.

jmort253
la source
13

La prémisse de base est:

entrez la description de l'image ici

L'utilisateur donne son entrée, l'envoie sur un réseau quelconque et le serveur fait ensuite sa magie en fonction de l'entrée.

Fondamentalement, vous voulez que toute la sécurité et la validation soient effectuées côté serveur. Avec les subtilités qui s'exécutent côté client, comme la validation de formulaire discrète (vous devez quand même valider côté serveur!).

La grande question: pourquoi?

Les utilisateurs peuvent modifier les informations sur leur machine. À titre d'exemple, voir les entraîneurs de jeux qui modifient les valeurs de la mémoire pour permettre aux utilisateurs de pirater le jeu. Si vous effectuez les tâches essentielles sur votre machine, dans vos locaux physiques, vous réduisez considérablement les chances de voir quelqu'un altérer vos contrôles de sécurité.


la source
6
Vous n'avez pas utilisé de cercles à main levée. :(
glasnt
Ok alors à quoi servent exactement les cadres d'application Web?
3
@Mercfh: Pour simplifier. Ils vous donnent les bases sur lesquelles construire votre vision. Avez - vous voulez construire un cadre d'authentification? Que diriez-vous de gérer les dates et les vues, les contrôleurs et le routage. Je ne pense pas, à moins que ce ne soit un exercice académique. Vous voulez un framework car vous aviez initialement un problème à résoudre, et la gestion des dates n'était pas ça. :)
0

vous concevez des éléments frontaux lorsque vous concevez des systèmes qui interagissent avec le client de vos systèmes. Remarquez ici que le mot client est assez grand, mais signifie essentiellement que vous travaillez sur le front-end lorsque vous fournissez une interface avec le monde extérieur.

La plupart des sites Web ne sont que frontaux, c'est-à-dire qu'ils fournissent des informations au monde extérieur et la plupart du temps, ces informations peuvent être stockées tout simplement sous forme de texte dans des fichiers HTML.

Vous concevez le back-end lorsque vous devez fournir des services et encapsuler les fonctionnalités que votre front-end utilisera. Cela permet de déplacer une partie de la charge de travail du client (frontal) vers le serveur (principal). Vous le ferez dans les cas où vous devrez coordonner les informations de différents clients qui pourraient accéder simultanément à votre système. Ou si vous devez utiliser un référentiel de données central pour rassembler les données dynamiques, ou encore si vous avez besoin de certaines exigences de sécurité spécifiques. Cette liste n'est en aucun cas exhaustive, juste des exemples rapides.

donc pour faire court, Front-end (client) présentera des informations au monde extérieur. Habituellement, ce sont des humains via une sorte d'interface graphique HTML ou autre.

Le back-end fournira des moyens de centraliser les services à utiliser par votre front-end. L'utilisation d'un back-end n'est pas obligatoire et ajoute de la complexité à un système, mais elle permet de mieux gérer la complexité inhérente au système que vous essayez de construire.

Par exemple, il est possible de fournir un service tel qu'un wiki uniquement via le frontal, mais il y aura de nombreuses limitations que l'utilisation d'un back-end pour stocker les données et les servir au front-end résoudrait de manière plus naturelle.

Newtopian
la source
Votre explication est excellente, sauf que vous dites que la plupart des sites Web ne sont que frontaux. Peut-être en 2003, mais aujourd'hui, on m'a dit que "la plupart", comme dans la majorité, ont des interactions back-end / base de données.
Kyle
En regardant SO, Facebook et autres de ce monde, on relèverait le site Web statique au musée, mais il y a encore une grande quantité de sites, de premières pages pour les entreprises, etc. qui ne sont que cela. Cela dit, vous avez raison, cela a tendance à diminuer un peu, car simplement installer wordpress et peaufiner un peu le CSS permettrait d'obtenir le même résultat dans une forme beaucoup plus facile à maintenir. Notez cependant que le frontal désigne également l'API RESTfull que votre site expose tandis que le backend est la façon dont cette API est implémentée.
Newtopian
0

Le front-end est ce qui s'exécute dans le navigateur, le backend tel que PHP s'exécute sur un serveur et stocke les données dans la base de données et fait ce genre de choses.

Zachary K
la source
0

À mon avis, le travail côté serveur (qui a déjà été mentionné est tout ce qui fonctionne sur le serveur à partir duquel le site Web est consulté) est ce qui donne une vraie vie à un site. Une grande partie de la fonctionnalité peut encore être obtenue en utilisant des technologies côté client, mais à mon avis, c'est une approche beaucoup plus compliquée et beaucoup moins sécurisée dans la mesure où les clients ont accès à tout ce qui se trouve dans le code côté client. PHP et ASP sont en quelque sorte des langages de programmation hybrides qui sont destinés presque exclusivement à servir le contenu d'une page Web à un navigateur après avoir effectué certaines activités de calcul. Lorsque vous commencez à travailler avec python, ruby, java ou d'autres langages de programmation, vous avez plus de puissance et de capacités, mais un peu plus de travail pour envoyer les informations résultantes au client à la fin du processus.

Kenneth
la source
0

Il existe deux faces à toute application Web / site Web typique.

  1. Front Side - Quel contrôle est l'interface utilisateur / mise en page / couleurs / polices, etc.

  2. Back Side - Gère la manipulation des données dans la base de données, ou la manipulation de fichiers, fait beaucoup de logique, si cela, faites-le, sinon faites-le, etc. des logiciels tels que mySQL / PostreSQL / MS SQL Server.

L'arrière est le côté beaucoup plus puissant, car il peut faire beaucoup de choses, de la création de fichiers Excel, la génération de rapports, les calculs, l'obtention de données à partir de différents serveurs.

Ensuite, il prépare et affiche ces données, la configuration de la face avant.

Faire bien dans l'un ou l'autre est un travail difficile, beaucoup de pratique, d'apprentissage et d'autodiscipline.

Si vous voulez être le meilleur, pratiquez et n'arrêtez jamais d'apprendre, et ne supposez jamais que vous connaissez toutes les réponses.

crosenblum
la source