Le meilleur langage web : AngularJS vs PHP vs JSF

Quel langage de programmation web choisir pour développer un site internet moderne
  • Développement

Tous les langages web

De nombreux systèmes sont utilisés sur Internet pour développer des applications web modernes ; JavaEE (JSF), AngularJS, React, PHP, NodeJS… JavaEE, PHP et Javascript (en général) resortent le plus souvent.

Pour ma part, j’ai testé JSF, PHP et AngularjS (avec NodeJS en backend et ExpressJS), je vais donc essayer de vous donner une vision assez objective ma pensée sur les points que j’ai pu aborder.

Le backend et le frontend

AngularJS est un framework Javascript développé par Google, il présente la particularité d’être totalement frontend (côté client). Pour utiliser AngularJS dans votre application, vous allez devoir utiliser un système backend (côté serveur) pour gérer la connexion à la base de données par exemple (ce que l’on peut faire avec NodeJS).

En utilisant ce langage, on voit clairement la distinction de développement entre front et back.

« Multi-end » : PHP et JSF

Concernant JSF et PHP, on communique directement avec le modèle (MVC). C’est-à-dire que sont accessible dans le projet les méthodes des contrôleurs.

Avec AngularJS, il est impossible d’appeler une fonction findUsers() (par exemple) ; on se doit d’utiliser un webservice.

On pourrait (représentativement) séparer le modèle ainsi :

  • M : Modèle : NodeJS
  • VC : Vue / Controleur : AngularJS

Avec PHP et Java, grâce aux controleurs on peut directement communiquer avec le modèle ; nous ne sommes pas obligé de passer par un webservice.

Commencer un projet web, quelle technologie choisir ?

Tout dépend clairement de vos objectifs ! Aujourd’hui, il est important de dire que vos projets font que vous serez sans doute embaucher par une entreprise qui aura vu ce que vous êtes capable de faire, il est donc important d’en maîtriser un minimum.

Un conseil, développez avec tout, c’est ce qui fera votre polyvalence.

Pourquoi choisir PHP ?

Si vous commencez la programmation, utiliser PHP est un bon début pour vous lancer. Ce langage est très simple et compte une grande communité.

Bien qu’il puisse servir à créer des applications énormes (comme Facebook), je ne vous conseille de n’utiliser PHP pour des petits projets.

Ceci vous permettra d’utiliser un autre langage et de vous tourner vers JavaEE (par exemple), qui devient intéressant sur des projets plus important.

Pourquoi choisir JSF ?

JSF grâce à JavaEE permet ENORMEMENT de choses, pour ne pas dire tout. La communauté de JavaEE est immense, et toutes les questions que vous vous posez existent sans doute déjà sur stackoverflow.

En revanche, apprendre JSF est un peu plus compliqué, il faut se familiariser avec les containers, les instances de classes, les injections, le modèle relationnel à travers JPA…

Cependant le jeu en vaut la chandèle, en 2015 Java était toujours le langage numéro 1 en desktop, web et mobile. Le langage le plus demandé par les employeurs.

Pourquoi choisir AngularJS ?

AngularJS permet une gestion totalement orienté côté client, si vous voulez créer un projet personnel, vous aurez surement besoin d’une base de données et vous tournerez sur les serveurs applicatifs comme NodeJS.

Si vous travaillez à plusieurs sur un projet, je vous recommande de choisir AngularJS ; de cette façon vous pourrez vous partager le développement client / serveur. Lorsque vous travaillerez en tant que développeur web plus tard, il y a de grandes choses pour que vous ayez à choisir entre développeur back / front, AngularJS vous mettra dans le bain pour cela et il vous sera dès lors plus facile de vous décider (car vous aurez appris à bien départager les deux côtés).

Conclusion : quel est le meilleur langage web ?

Il n’y a pas de « meilleur » langage web dans la mesure où ils fonctionnent tous très bien et ont fait leur preuve. Seul AngularJS est nouveau dans le lot, le Javascript connait une popularité nouvelle, à savoir si ce langage est un langage d’avenir, peut-être, peut-être pas.

Dans tous les cas, renseignez-vous sur les langages que vous souhaitez utiliser. Pour ma part maintenant que je maitrise bien JavaEE, je développe tous mes projets dessus. Certains de mes collègues eux ne restent que sur PHP… à vous de voir quel langage vous convient le mieux.

Pour résumer

Niveau complexité des langages, PHP est simple à apprendre, AngularJS est assez sympatique mais la gestion front / back va peut-être vous embêter un peu. Quant à Java, si on vous démarrez de 0, ce sera sans doute le langage le plus difficile à apprendre !

Article publié le

Dernière modification le

4 réponses sur “Le meilleur langage web : AngularJS vs PHP vs JSF”

Calvain_Tcod

Merci à vous pour cet article qui me rassure.
Je suis débutant en programmation.
J’ai commencé un projetJee avec jsf et j’avais les doutes sur l’efficacité du langage que j’ai choisi car certains camarades qui font du PHP me disent que je me complique la vie pour rien.
J’espère qu’en fonçant dans ce couloir je développerai un site remarquable en terme de puissance.

Alex Soyer

J’ai écrit cet article il y a un moment déjà.

J’ai toujours adoré JSF 🙂

Malheureusement même si JEE est toujours en vie avec Jarkarta, je te conseille vivement de partir du Spring.

https://spring.io/

Regarde, JSF n’est plus mis à jour…

https://javaserverfaces.github.io/

Spring est mis à jour, tout aussi puissant. Même si Glassfish n’existe plus, tu peux utiliser Payara :

https://www.payara.fish/

Le web en Java n’est pas mort ! Alors tu peux monter ton projet dessus.

Néanmoins garde à l’esprit que PHP et JS sont très populaires, ne te bride pas sur une techno, essaye-les toutes 🙂

Bon courage,

Alex

OButterlin

Désolé de te contredire mais JSF n’est absolument pas mort, la version 3 de Jakarta Server Faces est dans les starting-block et pour les serveurs d’applications, Glassfish n’est pas le seul serveur JEE, Wildfly est largement aussi bon (meilleur de mon point de vue) et très dynamique… donc non, inutile de (forcément) passer à Spring, JEE reste un must 🙂

Pour les frameworks javascript (angular, react, vue.js), ils sont effectivement très à la mode… reste à savoir s’ils seront encore là dans 5 ans… à l’époque, beaucoup de personnes disaient que GWT allait tout balayer… on en est loin 😉

Alex Soyer

Hello !

Au contraire, c’est cool de pouvoir échanger 🙂

https://jakarta.ee/specifications/faces/3.0/

Effectivement je viens de voir, mais il faut dire que l’écosystème en général est au ralenti, et je suis le premier à le déplorer !

Mais je pense tout de même que JEE est la traine, quand je vois les possibilités données avec API Platform par exemple sous Symfony et la diversité que proposent les stacks front, JSF est clairement à la traine 🙂

Enfin, j’espère me tromper !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.