Published on

Apprendre Javascript en 2022, vidéos, formations et écoles avant de se lancer

Si vous tombez sur cet article, c'est que vous avez envie d'apprendre Javascript dans le but d'être développeur web et mobile à terme. Voici pourquoi il est important de connaitre Javascript en 2022, ainsi que les possibilités de développement de ce langage ultra puissant.

Avant de vous expliquer comment apprendre Javascript et monté en compétences sur le langage, il faut remonter un petit peu dans le temps pour vous expliquer les raisons du succès de JavaScript, car vous allez le voir, le langage est resté sous-estimé assez largement aux profits d'autres technologies ou solutions qui on finies par disparaitre avec le temps et l'arrivée des smartphones dans les années 2000.

Historique de Javascript

Après cette présentation succincte, il est impossible de comprendre l'engouement pour Javascript sans faire un petit historique de ce qu'il l'a poussé vers le haut à tel point qu'aujourd'hui est présent partout et pas uniquement sur le web.

Javascript est créé par Brendan Eich en 1995, intégrer dans un navigateur maintenant disparu qui s'appeler Netscape, nous sommes aux prémisses d'internet et des navigateurs, la position dominante d'Internet Explorer à l'époque bloque l'engouement pour Javascript mais Microsoft fini par intégrer JS dans sont navigateur Internet Explorer 9, avec une version un peu modifiée.

Deux ans après, Javascript est standardisé afin de pouvoir répondre aux mêmes normes sur les différents navigateurs et prendre en charge un maximum de fonctions pour aider les développeurs à harmoniser les fonctionnalités, quel que soit le navigateur utilisé par l'utilisateur. Dans les années 2000, les utilisateurs de Windows utilisent principalement Internet Explorer, mais l'arrive de plusieurs navigateurs vont changer la donne pour l'inclusion de Javascript.

Longtemps sous-estimé par les développeurs, car il n'a que très peu de fonctionnalité aux yeux des personnes qui développer des sites modernes, le langage a été très peu utilisé, se limitant au fait d'afficher des pop-in d'informations natives aux navigateurs et à valider certain formulaire. JS est pourtant exécuté très bas niveau et possède des avantages que d'autres n'ont pas comme Flash.

Il faut attendre les années 2010-2012 pour Javascript prenne son envol avec l'arrivée de framework comme Angular et React pour s'imposer réellement, jQuery à subsiste très longtemps et permit d'ajouter du dynamisme dans les applications web, mais conserver une isolation entre le code JS et les fonctions de rendues.

Comment fonctionne Javascript

Avant d'apprendre le langage ou de suivre une formation, voici une petite explication sur le fonctionnement global de javascript. A défaut des langages dit backend comme le PHP ou Ruby on Rails, le javascript est exécuté dans le navigateur. Vous utilisez certainement déjà Chrome, Mozilla Firefox ou encore Safari pour naviguer sur le web.

C'est au chargement de la page internet que le JS, plutôt les scripts que vous allez coder vont de déclencher, ou à défaut s'initialiser pour attendre des actions ou des événements de l'utilisateur pour réagir, comme le clique sur un bouton dans le document ou le passage du curseur sur un élément. Il va interagir avec le DOM "modèle d'objet de document" qui représente le rendu HTML de la page et qui est donc accessible au Javascript après chargement.

A quoi ressemble le langage Javascript   

C'est une question qui revient souvent quand on souhaite monter en compétences sur Javascript, à quoi ressemble le langage ? A défaut de ressemble au HTML et CSS, le JS est une technologie orientée objets utilisant le concept le concept de prototype. Qu'il est possible de retrouver sur des langages dit typé.

Il est possible de retrouver des langages plus ou moins typé, cela veut dire que nous allons être plus ou moins laxiste sur la déclaration des variables et de leurs type, cela peut être une chaine de caractère, un objet, un chiffre entier, flottant..

Pourquoi apprendre JavaScript ?

Javascript est un langage de programmation à la base d'un grand nombre de projets, vous avez peut être déjà entendu parlé de React.js, Svelte ou encore Angular qui sont aujourd'hui des librairies et frameworks écrit en Javascript et fortement utilisées. C'est un langage facile à prendre en mains par rapport à d'autres technologies et celui-ci est concret, vous pouvez en quelques lignes visualiser votre code dans un navigateur et évoluer en faisant grandir votre applicatif.

Une fois que vous avez compris comment le moteur fonctionne, il suffit de copier des concepts existant pour comprendre le fonctionnement de certains sites et aborder progressivement des concepts plus avancés qu'il faut mettre en pratique pour comprendre l'intérêt du sujet et savoir mettre en place les éléments pour parvenir à vos fins. Nous verrons qu'il existe des formations vidéos pour vous aidez à mieux comprendre comment aborder des les choses et vous expliquer pas à pas le cheminement, mais chaque projet et différent et par conséquent il faut comprendre les concepts et leurs fonctionnements pour être capable de répliquer les fonctionnalités d'un projet à l'autre.

Il est donc nécessaire à mon sens de connaitre Javascript si vous vouliez devenir développeur web et mobile en 2022, il est impossible de passer à côté et cela peut vous ouvrir des portes-vers des frameworks ou librairies pour aller plus loin et professionnalise vos projets perso et clients.

Pourquoi javascript et pas PHP ou Java ? 

Il faut bien avoir conscience que le développement web n'ait pas tout à fait uniforme. Il existe plusieurs solutions pour faire la même chose, une page internet peut être constitué de la même façon, avoir la même présentation, le même style et pourtant être générer par un moteur différent. Le gros avant d'un langage comme Javascript est de pouvoir créer différente solution avec un même langage.

Il est possible de créer des pages web côté front-end, des applications backend (programmation serveur) pour gérer vos données et ajuster certaine variables côté serveur, de développer des applications mobile, de faire la VR, de créer des vidéos automatiquement.. Un tas d'exemples de réalisations possibles qu'il est difficile de retrouver sur d'autre technologies comme PHP, qui par définition est très bon, mais n'offre pas toute ces possibilités.

Comment apprendre Javascript sur internet

Il n'existe pas une seule bonne manière d'apprendre à coder en Javascript, en fonction du temps que vous accorder à votre apprentissage, de l'investissement que vous être prêt à mettre pour changer de vie. Vous avez toutes les ressources disponibles sur internet pour apprendre à développer sur n'importe quel langage. Ce qui va réellement faire la différence c'est votre implication et la roadmap que vous allez vous fixer pour atteindre votre objectif.

En suivant des vidéos sur des plateformes de formation e-learning

Pour apprendre Javascript sur internet vous avez plusieurs possibilités, cela va dépendre du temps que vous consacré à votre projet de reconversion. Le plus simple est de commencer par des vidéos sur Youtube, le but est de savoir si vous avez une vraie appétence pour le développement web et de comprendre les bases du Javascript avant de vous lancer sur des concepts plus avancés et payer des formations vidéos par exemple.

Cours sur Udemy

La plateforme Udemy est la plus réputée sur internet pour apprendre en regardant des vidéos de qualité, le rapport qualité / prix est imbattable. Si vous sélectionnez le bon cours avec un formateur qui vous donne envie d'apprendre, vous allez progresser. Que ce soit pour apprendre le CSS, le HTML ou encore une libraire ou framework, le format vidéo est très puissant pour devenir développeur. Sans parler de l'expérience utilisateur très sympathique.

Zero to Mastery

Une deuxième excellente plateforme, un peut moins porté sur l'expérience utilisateur pour trouver des cours sur Javascript est le reste de l'écosystème, Zero to Mastery est spécialisé sur la partie développement, elle s'adresse quasi uniquement aux personnes qui souhaitent monter en compétences sur le développement web, mobile ainsi que d'autre sujets transverse au développeur.

Pour concrétiser votre apprentissage, une fois que vous avez regardé une vidéo, il faut pratiquer via des exemples simples en essayant d'avoir une dimension concrète. Le contenu d'une vidéo est bien souvent orienté pour vous faire comprendre le fonctionnement mais c'est à vous d'aller plus loin pour vous confronter à des sujets un peut plus profond. Un exemple simple est de comprendre l'utilisation de let ou const voire var pour déclarer une variable dans votre code. Il est rare de trouver l'explication dans le contenu d'une vidéo mais vous trouverez l'explication en faisant vos recherches.

En mettant les mains directement dans le code

Si vous n'avez pas envie de regarder des vidéos, mais d'apprendre de façon plus concrète, vous avez des solutions didactiques plus sympathiques pour mettre les mains dans le code directement tout en étant guidé par la solution. Cela est une bonne alternative aux vidéos, mais vous aurez souvent moins d'explications sur le fond de ce que vous réalisez. Le mieux est de commencer par là et d'enchainer rapidement sur des vidéos plus longues avec des projets plus complexes.

  • Codeacademy
  • Codewarz
  • Codeingame

Sur ces plateformes après l'introduction d'un nouveau sujet vous allez réaliser un exercice à la fois, très simple au début avec de la déclaration de variable en allant vers des fonctions complexes ou de la gestion des événements natifs. Le contenu est souvent alimenté par des exemples que vous devez soit reproduire en utilisant des fonctions différentes. En fonction de votre avancement vous allez être confronter à des exercices plus compliqués et les lignes de codes plus avancés.

Via une école de reconversion ou plus traditionnelle

Si vous but est de changer de vie et de devenir à termes un développement en entreprise, en freelance ou en lançant votre propre produit il est préférable de passer par une école de reconversion ou une formation longue, qui va vous accompagner dans votre projet. Cela permet d'avoir un cadre, une feuille de route définie, un formateur disponible pour répondre à vos questions et vous donner de précieux conseils pour améliorer votre code.

C'est une méthode radicale, intensive, mais cela vous permet de savoir si réellement vous êtes fait pour être développeur, d'intégrer une équipe de développement et gagnez votre vie grâce à vos compétences que vous aurez acquises dans une école.

Voici une liste d'école non exhaustive qu'il est possible de solliciter pour réaliser votre projet :

  • Wild code School
  • Le Reactor
  • La Capsule

Possibilités avec du langage de programmation Javascript

Vous allez comprendre toute la subtilité de Javascript et vous rendre compte qu'il est possible de réaliser un tas de projets avec ce langage, pas uniquement dans le monde virtuel d'internet, mais belle est bien dans la vraie vie et commencer par des projets hyper concrets, tout en ayant la possibilité d'aller chercher des sujets bien plus complexes et tendances en 2022.

Web classique

Sans grande surprise il est possible de réaliser des projets web classiques avec HTML et CSS ce que l'on appelle du Web 2.0, du site internet classique, au blog tout en allant sur des sites e-commerce, vous avez des solutions en ligne qui s'appuie sur des librairies comme React pour offrir des outils de ventes extrêmement puissance comme Shopify. Créer votre boutique, modifier le thème en React et commencer à vendre rapidement grâce à Javascript. Ou rechercher des performances avec Svelte qui est plus léger que React avec un fonctionnement plus simple à prendre en main.

Vous pouvez également réaliser des projets plus complexe comme des interfaces de gestion d'informations, pour gérer des besoins métiers, toutes les entreprises ne sont pas encore correctement digitalisée et gardent des processus d'un autre âge, alors qu'il est certainement possible de gagner un temps précieux en s'appuyant sur des applications pour aider à la prise de décision, mais également faire des tâches répétitives, avec un taux d'erreur bien plus faible qu'un humain.

Application Mobile

Il est possible de faire des applications mobiles avec Javascript, l'utilisateurs et même les développeurs de formation ne détecterons pas le fait que ce soit fait en hybride, une idée surréaliste dans les années 2010, mais aujourd'hui un grand nombre d'applications que vous utilisez tous les jours sur votre smartphones sont réalisées avec du Javascript. Le plus gros pied de nez aux langages dits natifs comme l'Objective-C chez Apple ou JAVA sur Android est de pouvoir faire une application qui va être compatible sur iOS et Android en utilisant le même code.

Vous avez bien lu, au lieu de développer deux applications bien distinctes, il est possible avec React Native en Javascript de développer des solutions hybrides, cross-platform, et performante comme une application native. À l'origine de cet exploit est Facebook, aujourd'hui le groupe Meta qui a développé cette solution pour des usages en interne avant de mettre leur projet en open source.

C'est certainement le plus gros reversement technologique des dernières années qui ouvre le mode du mobile natif, aux personnes qui se concentrés jusqu'à présent à des applications web.

Webservice et application backend en Node

Si vous n'êtes pas à l'aise avec le HTML/CSS, NodeJS est une autre révolution technologique sur la partie backend, à destination des personnes qui connaissent Javascript, il vous permet de développer des webservices ou des projets qui vont alimenter les différents projets frontend (web ou mobile). La gestion de tâches, l'accès aux bases de données moderne, mais également la gestion de processus plus simples comme l'envoie d'email ou la gestion des paiements, tout cela en Javascript sans avoir besoin d'un autre langage de programmation.

En gérant tout les données du site via une base de données par exemple comme MongoDB ou PostgreSQL, il est possible de donner une autre dimension à votre application, tout en restant sur un langage uniforme. Certaines fonctions nécessite une configuration particulière que l'on exécute sur un serveur. D'ailleurs Node.js est un deamon qui tourne côté serveur, vous ne pouvez pas lancer Node dans un navigateur.