Par où commencer à apprendre la programmation Web. Un guide pratique pour apprendre la programmation Web

Développeur, enseignant et auteur de cours de programmation Bill Soror publié sur le blog FreeCodeCamp Instructions détaillées pour ceux qui souhaitent apprendre le développement Web à partir de zéro. À chaque étape, Soror fournit des liens vers du matériel de formation et explique pourquoi un langage ou un framework de programmation particulier est nécessaire.

Selon Soror, il écrit du code depuis 20 ans. Il a divisé ses instructions en plusieurs sections en fonction des objectifs d'apprentissage - pour l'apprentissage de base des langages de programmation et l'acquisition de connaissances approfondies dans différents domaines de développement.

« J'ai décidé d'apprendre la programmation. J'aime le Web, mais je ne sais pas par où commencer"

Comme dans toute autre discipline, l’apprentissage de la programmation doit commencer par les bases de tous les domaines du développement Web – souvent appelées « full stack ». "Cela vous aidera à déterminer le domaine dans lequel vous souhaitez étudier le plus et vous donnera les connaissances de base pour commencer", écrit Soror.

Bases HTML

Le développeur conseille de commencer par étudier Les bases du HTML. « À partir de là, vous maîtriserez le développement d'interfaces utilisateur et l'interaction avec celles-ci. De plus, vous verrez immédiatement le résultat de votre code », note l'enseignant.

"Je connais les bases du HTML"

Bases de JavaScript

"JavaScript est le langage du web, tout navigateurs populaires(Chrome, Firefox, Safari, IE) ont des Prise en charge de JavaScript. Chaque site ou application Web que vous utilisez a probablement un grand nombre de Code JavaScript à l'intérieur. De plus : le langage devient désormais populaire sur d'autres plates-formes, telles que les serveurs, les ordinateurs de bureau et les appareils. »

"Je connais les bases de JavaScript et HTML"

CSS

Soror suggère ensuite de passer à l'apprentissage du CSS pour personnaliser l'apparence des éléments HTML. Pour ce faire, vous pouvez utiliser le tutoriel gratuit de Mozilla pour enseigner les bases et le site CSS-Tricks pour résoudre les problèmes de base.

Back-end

« À ce stade, vous avez acquis les connaissances nécessaires à ce que l’on appelle le « développement front-end ». Vous pouvez maintenant passer au "backend". C'est le code qui s'exécute sur le serveur », écrit Soror. - Il existe de nombreux langages backend, mais comme vous connaissez déjà JavaScript, je vous recommande d'apprendre Node JS ( plateforme logicielle- environ. éd.). En plus de Node JS, vous pouvez apprendre Express et Mongo DB.

Express est une bibliothèque qui facilite l'interaction de Node JS avec un serveur Web. Mongo DB est une base de données permettant de stocker et de récupérer des informations.

jQuery

Cadres JS

Les frameworks vous permettent de simplifier le travail avec le langage de développement et de résoudre des problèmes majeurs à l'aide d'une technologie prête à l'emploi. Il existe un grand nombre de frameworks sur le marché en raison de la popularité excessive de JavaScript, écrit Soror.

Réagir à JS

React a été développé par Facebook et fonctionne sur l'architecture Flux. Il s'agit d'une bibliothèque JavaScript pour créer des interfaces. React a récemment dépassé une autre bibliothèque populaire, Angular, en termes de popularité, il est donc préférable de commencer à apprendre les frameworks avec elle, note Soror. Cours gratuit pour apprendre React.

Angulaire et

Angulaire - développé par Google. Le framework est toujours populaire parmi les développeurs. Après l'annonce d'Angular, Google a décidé de réécrire complètement le framework et a lancé Angular 2, il y a donc eu deux développements complètement différents portant le même nom.

Le framework Angular 1 peut être appris gratuitement à Code School. Vous pouvez vous familiariser avec Angular 2 à l'aide de vidéos gratuites.

Ember JS

Le framework n'est pas aussi puissant que ceux développés par Google et Facebook, mais il gagne en popularité auprès des développeurs. Documentation officielle d'Ember JS.

"Je veux devenir développeur backend"

« Il existe de nombreux langages dans le développement backend, chacun avec ses propres avantages et inconvénients », écrit l'enseignant. Il donne également un graphique de leur popularité au cours des 10 dernières années :


Les langages de programmation indiqués par un cadre vert sont ceux sur lesquels vous devez concentrer votre attention, explique Soror.

Java

Un langage de programmation très populaire développé par Sun Microsystems (maintenant propriété d'Oracle). Java est utilisé pour développer des applications Android. Il peut également être utilisé pour créer des applications de bureau et Web.

Puisqu'il s'agit d'un langage populaire parmi les développeurs, vous pouvez trouver un grand nombre d'instructions sur Internet. Soror recommande de commencer par le cours débutant.

C#

Le langage a été développé par Microsoft comme alternative à Java. Comme Java, C# est un langage de programmation orienté objet et peut être utilisé non seulement pour développer des applications Web, mais également des programmes pour les systèmes d'exploitation de bureau. Cours gratuit sur l'apprentissage du C# de Microsoft Virtual Academy.

Python

Il n’y a pas de grande marque derrière Python. Cependant, ce langage permet un développement rapide. Un site avec des leçons gratuites pour apprendre Python.

Rubis

Il y a de nombreux fans de Ruby parmi les développeurs - ils font activement de la publicité et admirent ce langage, écrit Soror. Cependant, sa popularité augmente lentement. Essentiellement, le langage est un mélange de programmation fonctionnelle et impérative.

Meilleur endroit pour apprendre Ruby- RubyMonk, dit le développeur.

Pratique

Avant d'effectuer des tâches pratiques, Soror recommande de créer immédiatement un profil sur le site Web GitHub - un référentiel en ligne pour stocker, gérer et publier du code. Vous pouvez commencer à vous familiariser avec la plateforme avec les instructions « Hello World » ou un cours interactif.

Vous pouvez commencer à développer en créant votre propre blog (instructions pour programmer un blog en React et Node) ou un calendrier (instructions pour programmer un calendrier en C# et .Net).

Des cours gratuits peuvent également être trouvés sur Free Code Camp :

  • Minuterie Pomodoro (frontend).
  • Club de trading (full stack).

Bonjour.

Si vous vouliez commencer à apprendre la programmation Web maintenant, par où commenceriez-vous ? Quel langage, framework, technologie choisiriez-vous ?

Je demande par intérêt personnel : je souhaite apprendre rapidement les outils modernes et concrétiser mes idées.

Je suis ami avec la programmation conventionnelle depuis l'enfance : BASIC et assembleur sur Spectrum. Puis une université technique (j'ai commencé mes études à la fin des années 90), où : programmation fonctionnelle en Pascal, un peu d'assembleur x86, puis du langage objet en Delphi, un peu de C++, et même un peu de LISP exotique. Mais la vie s'est déroulée de telle manière que je n'ai pas pu apprendre la programmation pour le Web.

Maintenant, je conçois des sites Web, dessine des prototypes et conçois des pages et des interfaces. Je comprends superficiellement quoi et comment cela fonctionne.

Mais je n'arrive pas à comprendre le processus : comment puis-je créer une application qui exécutera les fonctions dont j'ai besoin.

De nos jours, il n'existe plus d'environnement comme avant, comme Delphi pour le Web, où l'on pouvait facilement et rapidement esquisser l'interface de l'application et commencer à décrire sa réaction aux actions de l'utilisateur (et fonctions supplémentaires, qui étaient requis par l'application). Et ainsi comprendre comment tout fonctionne, tout en créant déjà ce dont vous avez besoin.

Je sais comment mettre en page (même si mes connaissances ici sont déjà obsolètes), mais je ne comprends pas comment fonctionne l'animation, par exemple, ni la gestion des blocs sur une page ou la réaction aux actions des utilisateurs. Je sais que tout le monde utilise JQuery pour cela et qu'il a déjà remplacé Javascript, mais je ne comprends pas comment tout cela fonctionne.

Mais sans comprendre les processus, comment tout fonctionne, il est peu probable que vous puissiez faire quoi que ce soit, peu importe le nombre de manuels que vous lisez, de CMS et de frameworks que vous n'éviscérez pas.

J'aimerais vraiment tout apprendre, car de cette façon je peux mettre en œuvre mes idées moi-même, et il est préférable d'attribuer des tâches aux codeurs si nécessaire.

Je veux m'éduquer dans ce sens.

Par expérience, la formation fonctionne mieux pour moi lorsqu'elle explique étape par étape avec des exemples comment faire telle ou telle chose et donne des tâches pour faire des choses similaires ou développer des fonctionnalités.

Idéalement, ce serait cool de trouver un mentor qui, sous forme de formation étape par étape, m'aiderait à mettre en œuvre certaines choses qui m'intéressent. Je n'ai vraiment pas entendu parler de quelque chose de tel parmi les programmeurs, mais je tombe de plus en plus souvent sur des master classes et des formations bons créateurs, qui, avec les débutants, passent par les étapes des bases aux choses complexes, font leurs devoirs et contribuent ainsi à rendre le monde meilleur.

Ce n'est pas pour rien que j'ai demandé au début ce que vous alliez exactement commencer à étudier à partir de zéro maintenant. Je ne vois pas l’intérêt de « réinventer les roues » quand on peut « prendre des trains à grande vitesse ». Quand le minimum de temps possible vous sépare de l’étude des « matériaux » et des premières lignes de code d’un simple site ou service.

Back-end

Le backend est la partie serveur de l'application, qui n'est pas visible par les utilisateurs. Cela inclut : l’autorisation, le stockage et le traitement des données, les newsletters par courrier électronique, etc. Disons simplement que le backend est ce qui se cache sous le capot.

Il existe ici de nombreux langages de programmation, voici les plus courants :

PHP
Filet à aspic
Java
Python
Rubis
Nœud js

Je vous conseille d'en choisir un seul, car avec les exigences actuelles des programmeurs, il faudra au moins plusieurs années pour atteindre le niveau intermédiaire. Lors du choix, vous pouvez vous familiariser avec les postes vacants dans votre ville, voir lesquels sont les plus adaptés, où ils paient le plus et en fonction de la langue dont ils ont besoin, et les sélectionner.

Le serveur est largement utilisé pour travailler avec des données. Par conséquent, vous devrez apprendre au moins un des bases de données relationnelles données:

Oracle
MSSQL
MYSQL
PostgreSQL

En termes de complexité, cela équivaut à maîtriser un langage de programmation. Dans toutes les bases de données répertoriées, il existe une partie qui est la même partout - ce qu'on appelle sql (langage de requête), ainsi qu'un langage procédural différent dans chaque base de données. Puisque SQL est toujours le même et qu’il constitue la base de tout ce qui concerne le traitement des données, passer à une autre base de données ne pose pas de problème. Par conséquent, vous pouvez en choisir n'importe lequel pour commencer, mais même ici, je suivrais le principe de l'analyse des postes vacants.

Personnellement, je donne un plus à l'étude du backend, car les compétences ici sont plus statiques et une fois que vous avez appris quelque chose, vous pouvez y travailler pendant longtemps.

L'extrémité avant

Le frontend est la partie qui s'exécute dans le navigateur avec laquelle l'utilisateur interagit directement. Il s'agit d'interfaces dynamiques, de menus, d'événements basés sur l'action de l'utilisateur, d'échange de données avec la partie serveur, en général, de ce qui se passe sur le client.

Le langage de programmation ici est javascript. D'une part, c'est un plus indéniable, puisqu'après l'avoir étudié, toutes les entreprises de votre ville engagées dans le développement web vous seront ouvertes, et désormais nombreuses le font. En revanche, il y a des nuances.

JavaScript dispose actuellement de deux standards largement utilisés : ECMAScript 5 et ECMAScript 6. La différence entre eux est que ECMAScript 5 ne dispose pas d'OPP à part entière. ECMAScript 6 l'a, mais comme cette norme est apparue relativement récemment, la plupart des applications sont déjà écrites en ECMAScript 5, ce qui nécessitera de maîtriser les deux normes et, par conséquent, deux approches de développement différentes.

Un autre point à prendre en compte est que le même code écrit en javascript peut différemment s'entraîner dans différents navigateurs et sur différents OS. Avec les exigences actuelles des applications, il sera nécessaire d'écrire du code dit cross-browser, c'est-à-dire du code dont l'exécution donnera partout le même résultat. Il n’existe pas de manuel spécifique pour écrire un tel code ; dans ce cas, les forums et ok Google peuvent vous aider.

Les problèmes problématiques que j'ai décrits ont été résolus dans les frameworks js modernes (par exemple, Angular et React). Mais dans les projets écrits sans utiliser de framework, ces problèmes demeurent.

Pour moi personnellement, un inconvénient encore plus important est que les tendances évoluent ici très rapidement. Les versions des frameworks sont constamment mises à jour, de nouvelles bibliothèques sont publiées et tout le monde veut immédiatement commencer à les utiliser. En général, vous ne pouvez pas suivre le rythme de la communauté.

Un paquet entier

D'après le nom, il devrait être clair que ce type les développeurs développent les deux parties. Je ne recommande pas d'essayer de devenir un tel développeur, car il ne suffit de toute façon pas d'apprendre tous les cerveaux, et la plupart des entreprises ont déjà emprunté la voie de la division du travail. Cependant, c’est par le full stack qu’il faut commencer pour faire un pas vers le backend ou le frontend. Après avoir développé quelques petites applications, vous comprendrez la différence entre elles (et il y en a vraiment une) et vous pourrez décider quel côté est le plus proche de vous.

À un moment donné, pour me décider, j'ai lu le livre « Création de sites Web dynamiques », de l'auteur « Robin Nixon ». Le livre est petit, seulement 500 pages, mais grâce à lui j'ai eu l'idée idée générale sur le développement web et j'ai fait un choix audacieux vers le backend, que je ne regrette toujours pas. J’ai donné ce livre en exemple, vous pouvez prendre n’importe quel autre livre, ce n’est pas grave.

De l'auteur : le plus demande populaire pour les développeurs débutants, c'est « le développement Web par où commencer ». En effet, il est quasiment impossible de déterminer indépendamment le point de départ de l’apprentissage. La sphère est remplie gros montant différents outils, ce qui signifie que cela nécessite tout un ensemble de compétences. Nous vous aiderons à découvrir dans quel ordre maîtriser le travail avec les logiciels et les langages pour le Web, afin que dès que possible vous pouviez vous appeler développeur.

Cela vaut la peine de commencer !

Si l’on avait demandé au début des années 2000 à un programmeur expérimenté quelle était la chose la plus intéressante à étudier, il aurait répondu sans sourciller : « le développement logiciel ». A cette époque, la quantité de travail dans ce sens était en effet importante : il fallait créer le principal Système d'exploitation, antivirus, navigateurs et moteurs de jeux. Aujourd’hui, tout cela continue de se développer, mais l’accent est mis sur le web.

Créer des produits en ligne est intéressant pour les débutants. C'est ce qu'ils voient quotidiennement : des pages et des applications. Leur utilisation est active, ce qui signifie que le marché a besoin de tels spécialistes. De plus, l'apprentissage est désormais accessible à tous ceux qui disposent d'Internet - il n'est plus nécessaire de travailler avec des tableaux d'informations dans la bibliothèque.

Le développement Web attire les personnes ayant un esprit créatif. Il y a ici à la fois des programmeurs et des artistes. Un produit a besoin d'un noyau de qualité - ainsi que d'une apparence attrayante. Il y a encore un débat actif sur ce qui est le plus important pour un produit Web : apparence ou des performances. Et si certains (Telegram, Facebook) démontrent que même une simple partie visuelle est bien perçue par l'utilisateur, alors d'autres (Instagram) montrent que parfois l'utilisateur est prêt à payer pour une application magnifiquement conçue.

Il faut également devenir développeur web car chaque approche a sa propre application. C'est un monde de développement et de recherche constants. Ici, tout est axé sur le client et ses besoins. De plus, après avoir acquis de l'expérience dans l'environnement web, vous pouvez vous lancer dans le développement de logiciels : les langages et les outils sont devenus courants pour ces types de développement.
Front-end ou back-end ?

Même ceux qui commencent à étudier le domaine à partir de zéro savent qu’il existe ces deux principales directions de développement. Mais peu de gens savent ce que chacun d’eux signifie. Et si tout est plus ou moins clair sur le « front », alors la partie serveur, le backend, est plongée dans l'obscurité pour les nuls. Sans une compréhension approfondie de chacun des vecteurs de développement, il est impossible de déterminer avec lequel d’entre eux vous serez le plus à l’aise. Revue détaillée peut clarifier pour les débutants.

C’est ainsi que l’on peut généralement caractériser ce que signifie créer un produit pour le Web. Non, nous n’insistons pas sur le fait qu’un débutant doive choisir le dos, c’est juste que c’est un côté plus mystérieux.

En effet, la manière dont la plupart des éléments sont construits dans leur partie visuelle est généralement claire pour tout le monde. Mais quel genre de magie permet de charger les éléments fonctionnels nécessaires à un moment donné n'est pas clair pour tout le monde. Cette magie du réseau est contrôlée côté serveur : les informations sont traitées sur le serveur et non sur la machine de l'utilisateur.

Un backend développé est typique des sites dynamiques. Par exemple, réseaux sociaux- dynamique. Ils mettent à jour votre page sans que vous vous en rendiez compte et génèrent du code HTML pour le navigateur basé sur divers facteurs: depuis le déplacement du curseur jusqu'au début d'une période de temps déterminée.

Lors de votre inscription, vous choisissez un pseudo. Et s'il est occupé, le système vous en informe : le backend a commencé à fonctionner. Selon l'algorithme prescrit, les données que vous avez saisies dans le champ de la page Web ont été envoyées au serveur. Là, le programme vérifie tous les utilisateurs enregistrés par rapport à la base de données et, si le nom est pris, envoie des informations à ce sujet à l'utilisateur à l'écran. Dans une version plus sophistiquée, un programme spécialement écrit propose à l'utilisateur différentes variantes du surnom pouvant être utilisé.

Et ce n'est qu'un exemple : c'est plus compréhensible pour les débutants. En général, le côté serveur peut exécuter un nombre illimité de fonctions. Le développeur, créant un produit à partir de zéro, détermine quelles fonctions seront exécutées par la puissance du serveur et lesquelles incomberont à la machine utilisateur. Beaucoup dépend du service créé par le webmaster.

Par exemple, le plus application populaire pour le covoiturage, BlaBlaCar dépend plus du backend que de toutes les pages de cartes de visite réunies. Une énorme équipe de développeurs interagit avec son côté serveur, tandis que son front-end est compréhensible, même pour les nuls du Web. Il ne faut pas seulement formaliser l’ensemble du processus demande-réponse. Mais créez également des applications mobiles et de bureau pour chaque plateforme.

Ceux qui sont plus enclins à la programmation choisissent généralement de « revenir ». Cela peut être ennuyeux pour les débutants qui rêvaient de créer de bons visuels et de bonnes transitions de pages. Mais les spécialistes de ce côté du développement ont leur propre avantage : la stabilité. Ayant appris une certaine technologie, ils peuvent s'en armer pendant de nombreuses années, tandis que le front est une course constante contre la montre.

Les langages utilisés pour ce côté du Web sont généralement appelés langages côté serveur. Certains d'entre eux sont utilisés dans la programmation en général, mais en raison de leur popularité parmi les développeurs Web, ils sont désormais associés spécifiquement à la maintenance des produits Web. Parmi eux:

PHP, qui a gagné sa popularité en raison de sa facilité d'apprentissage. Malgré les critiques de l’extérieur, il reste le plus utilisé ;

Javascript et ses modifications ;

Ruby, qui a donné naissance à l'un des frameworks les plus connus - Ruby on Rails ;

En réalité, la langue que vous choisissez d’apprendre n’est pas si importante. Après tout, chacun d’eux est bien adapté pour interagir avec le serveur. En plus d'eux, il sera utile d'apprendre le langage de requête. Le plus connu et le plus utilisé est SEQUEL, ou SQL. Les similitudes entre ces langues sont fortes. Ainsi, après avoir appris l'un, il ne sera pas difficile de s'adapter aux opérations avec l'autre.

Tendances modernes et approches en développement web

Apprenez l'algorithme pour une croissance rapide à partir de zéro dans la création de sites Web

Ce langage est nécessaire pour communiquer avec les bases de données - c'est exactement ce qui peut être fait application rapide, qui utilise de grandes quantités de données. Les systèmes de gestion de bases de données les plus populaires sont MySQL, MSSQL, MariaDB et autres. Il est difficile de dire lequel est le meilleur, mais MySQL est celui qui a gagné le plus de popularité. La capacité d'interagir avec des bases de données est essentielle pour un développeur d'applications Web ; cela s'applique aussi bien aux spécialistes front-end que back-end. Maître points clés pas difficile, mais les connaissances professionnelles nécessitent une expérience dans la résolution tâches spécifiques.

Pas uniquement par la conception

...peut être décrit comme un frontend, même si c'est ainsi que les débutants comprennent le côté client. Dans une certaine mesure, ils ont raison, car l'essentiel du travail d'un développeur front-end réside dans l'interface visible par l'utilisateur. Cependant, il est responsable non seulement du design, mais également de l’expérience utilisateur interactive.

Dessinez - ne codez pas

La façade dispose de deux vecteurs majeurs de développement : les designers et les maquettistes. Si vous aimez la créativité et les mises en page, commencez à apprendre les bases de la conception Web. Tout d'abord, installez éditeur graphique, Par exemple, Adobe Photoshop. Il existe de nombreux matériels pédagogiques dans ce domaine et ils sont de haute qualité. La part du lion est spécifiquement destinée aux mannequins.

Immédiatement après l'installation de PS, la fonctionnalité et l'interface vous sembleront peu conviviales et les outils seront difficiles à utiliser. En effet, travailler avec le programme nécessite certaines compétences. Mais, premièrement, ce n’est pas aussi difficile qu’il y paraît, et deuxièmement, tout le potentiel des capacités de Photoshop ne vous est d’aucune utilité. Il existe des cours sur YouTube spécialisés dans les maquettes de produits Web. Choisissez-les pour vous entraîner !

Si nous parlons de la caste des concepteurs de mise en page, leur tâche est alors de transformer les mises en page en code compréhensible par le navigateur - HTML. Mais cela ne vous suffira pas. Il ne vous faudra pas plus de deux jours pour maîtriser le langage hypertexte si vous étudiez dur, et autant plus pour Bases CSS, ce qui rend le site coloré. Ce n'est pas comme les langages de programmation - c'est comme si c'était fait pour un débutant.

Si nous parlons de langage de programmation, alors pour le développeur front-end, il s'agit de Javascript. Et ce serait formidable s’il n’y avait pas la course contre la montre dont nous avons parlé plus haut. Merci à elle au développeur moderne pour le Web, vous devez travailler avec deux standards à la fois : le cinquième et le sixième ECMAScript. Les nouveaux produits sont écrits dans le volume 6, mais un certain nombre de produits utilisent encore le volume 5. Vous devrez composer avec chacun.

Il y a quelques années, une compétence importante était la capacité à écrire du code multi-navigateurs. En bref, cela signifie écrire un programme Javascript qui fonctionnera bien sur les principaux navigateurs. Auparavant, les fabricants de logiciels permettant de surfer sur le Web rivalisaient pour déterminer quelle technologie serait généralement acceptée. Mais aujourd'hui, presque tous les navigateurs sont standardisés et leurs différences se concentrent dans interface utilisateur. Jusqu'à récemment, la compatibilité entre navigateurs signifiait que le code Javascript était adapté à navigateurs modernes Et Internet Explorer. Mais la société a reconnu que l’IE était irréalisable et a abandonné son utilisation, un peu moins que complètement.

DANS Dernièrement, les développeurs front-end sont soumis à des exigences d'ordre plus élevé. Si auparavant, un tel développeur ressemblait davantage à un concepteur de mise en page formé aux subtilités du JS côté client et aux scripts « vissés » de la bibliothèque, il est désormais une personne possédant un ensemble étendu de compétences. Le marché moderne veut voir un développeur front-end quelque chose comme ceci :

connaît HTML/CSS avec ses spécifications ;

utilise des préprocesseurs pour l'optimisation ;

se sent à l'aise avec JavaScript ;

fonctionne avec les frameworks js tels que Angular et React ;

crée une conception en utilisant la méthodologie BEM ;

comprend les CMS populaires (afin que plus tard la fonctionnalité soit compréhensible même pour les nuls) ;

comprend les bases du backend et n'a pas peur de s'y lancer si nécessaire ;

fonctionne avec les systèmes de contrôle de version tels que Git ;

Cela ressemble déjà à une pile complète, mais nous en parlerons plus loin ci-dessous. Cette approche est critiquée par les programmeurs car elle les oblige à perdre du temps sur des problèmes qu’ils n’ont pas résolus auparavant.

Ou peut-être un full stack ?

Dans n'importe quel domaine, que vous soyez médecin, ingénieur, mathématicien ou développeur web, vous devez vous efforcer de maîtriser ensemble complet compétences. Et le fait que les développeurs front-end doivent aujourd’hui connaître les bases du backend est un phénomène naturel.

Mais il semble qu’à l’ère du développement que nous connaissons actuellement, il ne sera pas possible de maîtriser immédiatement toutes les compétences en matière de développement Web à partir de zéro. Le fait est que pendant que vous maîtrisez une chose, quelque chose de nouveau sera inventé, et le temps passé aurait pu être consacré au « polissage » et à la partie pratique. Les grandes entreprises comprennent qu’il est plus facile d’embaucher deux spécialistes que d’espérer que quelqu’un puisse couvrir deux champs de bataille à la fois.

Une pile complète était possible il y a plusieurs années, lorsque la quantité de technologie nécessaire pour créer un produit de qualité n'était pas si étendue. Mais même les langues elles-mêmes logiciel ne sont pas les principales pierres d’achoppement. Essentiellement, une pile complète doit développer à la fois le produit lui-même et ses versions adaptatives pour diverses plateformes, y compris les mobiles. Difficile à mettre en œuvre, encore plus difficile à tester : il s’avère que le développeur doit s’entourer des appareils pour lesquels il crée l’application.

Mais si vous commencez tout juste votre formation, allez dans les deux sens. Cela ne signifie pas que vous deviendrez définitivement un full stack. Mais de cette façon, vous pourrez découvrir quel vecteur de développement vous aimez et sur lequel vous naviguerez simplement.

À propos, la ligne même entre le devant et le dos est très arbitraire dans conditions modernes. Parfois, les développeurs construisent candidatures complètes, qui reposent presque entièrement sur côté client, tandis que d'autres transfèrent tous les processus vers le serveur et l'utilisateur ne reçoit que le résultat du programme.

Et enfin, la règle principale : ne cessez jamais de vous améliorer, quel que soit le côté du développement que vous choisissez.

Tendances et approches modernes du développement Web

Apprenez l'algorithme pour une croissance rapide à partir de zéro dans la création de sites Web

Je vous souhaite à nouveau la bienvenue sur mon blog et aujourd'hui je vais essayer de répondre à la question, comment devenir programmeur web à partir de zéro le plus rapidement possible ? Je dirai tout de suite que cela est possible, en principe, pour n'importe qui, je ne vois aucune restriction à cet égard. Le plus important est votre envie et votre persévérance.

Premier pas

Tout d’abord, vous devez décider quel est le but de votre formation ? Pour vous-même ou pour travailler dans une entreprise prestigieuse avec un salaire important et une évolution de carrière ? Quelle que soit la réponse, vous voudrez probablement commencer par cours gratuits. Et puis je donnerai plusieurs sites où l'on peut se former quasiment gratuitement, mais jusqu'à un certain niveau.

Bien sûr, l'affaire ne s'arrêtera pas à la théorie, toutes les connaissances acquises doivent être appliquées dans la pratique quelques dizaines de fois - cela vous viendra alors beaucoup mieux en tête, il est donc même possible de vous réveiller la nuit après cela et demander: "Comment fonctionne @keyframes en CSS ?"- vous raconterez tout en détail.

Cette toute première étape consiste donc à savoir ce dont vous avez besoin. Pour ce faire, je vous recommande d'accéder à un portail informatique très populaire - Geekbrains. Là, en faisant défiler un peu la page, vous pouvez voir quels domaines sont enseignés sur le portail. Nous sommes intéressés par le métier développeur web- c'est essentiellement un programmeur Web.

Ici, tout en bas, vous pouvez voir ce que vous étudierez si vous payez pour la formation.

J'ai intentionnellement recadré un peu cette capture d'écran pour vous montrer de quelles technologies vous avez besoin en premier.

Que doit savoir un programmeur Web ?

Donc, comme vous pouvez le constater, voici :

  1. HTML/CSS - langues de base le balisage et la conception de pages Web, sans eux, il est impossible d'imaginer la création de sites Web. Ce sont les bases, les technologies les plus simples que vous devez apprendre en premier.
  2. PHP est l'arme principale d'un programmeur Web. Ce langage est utilisé pour créer des réseaux sociaux, des boutiques en ligne, des frameworks, des moteurs et bien plus encore. C'est grâce à lui que fonctionnent la plupart des services en ligne, formulaires de commentaires, inscriptions sur des sites Internet, etc.
  3. JavaScript est un langage de programmation spécifiquement pour le Web ; avec son aide, une page peut être programmée de manière à ce que sa conception change lorsque différents événements se produisent. Par exemple, lorsque vous cliquez sur la fenêtre, elle s'agrandit, etc. De nombreux exemples peuvent être donnés.

Mais ce n’est que le niveau le plus basique : en effet, si vous voulez devenir professionnel, vous devrez apprendre des dizaines de technologies d’une manière ou d’une autre. En voici une liste partielle :

Où puis-je apprendre tout cela ?

D'après ma compréhension, il existe 3 façons principales d'apprendre à devenir programmeur Web :

  1. Lisez des articles et du matériel gratuits sur Internet, regardez des leçons et des cours vidéo gratuits. Donc tu peux obtenir la base, mais ensuite niveau d'entrée tu ne feras aucun progrès !
  2. Acheter cours payants. J'ai choisi cette option car j'étudie la création de sites Web non pas pour travailler pour une entreprise, mais pour moi-même, donc je suis satisfait des cours. 1 cours judicieux sur RuNet coûte de 3 000 à 7 000 roubles. Personnellement, je n'ai dépensé que 40 à 50 000 roubles pour le cours et je ne le regrette pas, car... J'ai déjà acquis beaucoup de connaissances que j'ai pu mettre en pratique et commencer à gagner de l'argent.
  3. Achetez une formation à distance complète avec un mentor. C'est l'option la plus chère, qui coûtera entre 40 000 et 150 000 roubles. Bien sûr, en termes d'efficacité, c'est le meilleur. Une telle formation, par exemple, peut être achetée auprès de l'université en ligne Geekbrains.

De bons endroits pour se procurer notions de base pour html, css, php et js, il y aura Magisters.org, HtmlAcademy.ru et section premium de Web4myself.com(bien qu'il soit payant, l'accès n'y coûte que 500+ roubles par mois, et il y a des tonnes de cours là-bas).

bien et la meilleure option je vois la même chose Cerveaux de geek- parce que tout ici est payant et sérieux, vous obtenez de vrais résultats sous la forme de sites créés de vos propres mains, et pas seulement une simple théorie dépassée. De plus, vous pourrez y obtenir les conseils d’un véritable mentor.


Comme vous pouvez le constater, la formation pour devenir développeur Web coûte entre 6 000 et 8 000 roubles par mois et dure jusqu'à 11 mois, après quoi, si vous ne vous relâchez pas, vous devenez un spécialiste véritablement demandé. Je comprends que cela peut coûter cher à la plupart d’entre vous, mais c’est le chemin le plus court pour devenir un pro dans ce métier.

En conséquence, vous pouvez obtenir ce résumé décent :


Et ces compétences :

Si vous décidez d'étudier par vous-même, vous pouvez économiser beaucoup et obtenir des résultats relativement bons. Le seul point négatif est que vous devrez collecter des connaissances et des cours sur différentes technologies littéralement pièce par pièce.

Par exemple, en onze mois Geekbrains promet de vous apprendre les technologies suivantes : HTML/CSS, PHP, JS, NodeJS, AngularJS, Yii. En revanche, pour trouver travail simple ou commencez à créer des sites Web pour vous-même, vous n'avez pas besoin de tout savoir. J'ai déjà dit quelle est la base. Il s'agit de HTML, CSS, PHP, Javascript. Mais le fait est que chaque année, les exigences des développeurs Web augmentent et si vous voulez des résultats sérieux, d'une manière ou d'une autre, vous devrez étudier technologies modernes et les tendances.

Cours sur PHP et frameworks


Sur ce moment il y a un cours merveilleux PHP7 et MySQL de zéro à gourou, que j'ai parcouru personnellement et j'ai même écrit une critique séparée à ce sujet. Je pense que ce cours est merveilleux, il fournit une excellente base sur le PHP moderne.

Les livres ont aussi droit à la vie. Il est utile de les lire pour élargir vos connaissances dans n'importe quel domaine. Et vous pouvez lire beaucoup de choses sur PHP. Par exemple, ceci.

Tu n'es pas obligé de tout savoir

Si vous n'avez étudié que le javascript (mais pas le php), vous pourrez travailler en tant que développeur front-end, et si au contraire, vous vous essayerez au back-end. En général, même avec un peu de connaissances, vous pouvez déjà gagner quelque chose en créant un site Web, mais plus vous en savez, plus votre potentiel est grand.