R04. Back end - PastoriLucas/Dev.Web GitHub Wiki
Node.js
Premières impressions
Suite à notre décision de partir sur Angular (Javascript), il est logique pour nous de choisir également un backend fonctionnant sur base de Javascript de telle manière à ne pas devoir jouer avec deux langages différents à la fois. Nous nous sommes donc penchés sur Node.js avec son framework Express pour réaliser toute la partie de notre projet liée au serveur. Ne connaissant pas du tout ce que pouvait nous apporter Node.js, il nous a fallu creuser un peu plus les avantages et inconvénients de ce langage. L'idée qu'un full-stack Javascript serait plus simple ne pouvait être qu'une impression, et il était primordial pour nous d'être fixé très rapidement avant de commencer à coder.
Avantages
- La communauté Node.js semble très présente, ce qui implique que les informations seraient bien plus facile et rapide à trouver. C'est un des éléments principaux que nous recherchons en tant qu'étudiants, car la découverte et la manière d'apprentissage sont très importantes dans le développement.
- Au niveau des "packages", la communauté Javascript est beaucoup plus présente que les autres, et cela serait potentiellement d'une grande aide pour nous car l'utilisation de packages simplifie quand même de manière conséquente la réalisation du code.
- Node.js est également utilisé par un grand nombre de noms connus (tels que Netflix, Trello ou encore Paypal). Cela nous semble donc plus intéressant de nous familiariser avec ce dernier qu'avec d'autres application de back-end car à première vue, un back-end bien plus répandu sous-entend un gage de qualité, et ces grandes marques nous prouvent que de grands projets peuvent largement être basé sur un back-end Node.js.
- Node.js est également très stable dans le sens où les créateurs ne souhaitent pas faire de conséquentes mises à jour qui "casseraient" les codes déjà créé ou changeraient trop les habitudes des développeurs.
Inconvénients
- Node.js est réputé assez difficile. En effet, la simplicité n'est pas le fort de ce back-end, et cela peut rapidement se faire ressentir si on ne s'informe pas profondément sur ce qu'on compte utiliser comme package.
- Il est assez difficile d'être rapide lorsqu'on code en Node.js. En effet, beaucoup de développeurs affirment trouver ce langage assez lent contrairement à d'autre langages pour avoir le même résultat, souvent comparé à PHP.
Décision finale
Nous avons donc choisi d'utiliser Node.js après avoir comparé les différents back-end utilisables dans notre cas, comme Django ou encore Symfony. Nous avons comparé les différents points pour et contre, et ça nous a conforté dans notre premier choix, car Node.js avait quelques avantages en plus que les autres back-end dans notre projet à nous.