Merci de bien vouloir mentionner les corrections et ajouts à effectuer
RECAPITULATIF
PHP :
Gratuit
La complémentarité avec les bases de données MySQL en fait un langage ultra-performant pour les sites dynamiques.
Il existe énormément d'outils consacrés à l'édition de scripts PHP, ce qui contribue à son expansion, exemple :
http://cyberzoide.developpez.com/php4/editeurs/.
Les outils de tests sont également très présents, on peut en particulier citer EasyPHP, qui permet de tester facilement des scripts pour en connaître les résultats.
Au niveau des hébergeurs de sites gratuits ou à bas prix, PHP tend à s'imposer comme un standard face à ASP, car sa mise en oeuvre est plus simple et plus légère, exemple :
http://cyberzoide.developpez.com/php4/hebergeurs/.
syntaxe jugée simple : proche du C/C++, Java, Perl.
une grande richesse dans les bibliothèques.
une grande portabilité sur divers OS notamment Linux et Windows sans avoir besoin d'une machine virtuelle ou d'un framework.
Open Source et donc une grande diversité des mises à jour, zone de tests etc...
Un code certes simple à coder mais fiable et robuste et qui a fait ses preuves.
PHP permet également de faire du client avec GTK.
PHP est « trop permissif », il faut donc faire attention aux codes mal structurés : beaucoup de gens codent en mélangeant tout dans une unique page PHP : présentation HTML pure, code métier, code de présentation, code d'interface SGBD. Ce qui en résulte est une application illisible et horrible à maintenir. C'est ce point qui explique la mauvaise réputation qu'a le PHP auprès de certains professionnels. La solution consiste à réaliser ses pages sous forme de templates ( design des pages : HTML, Javascript, CSS) et d'en séparer le code « métier » : PHP ainsi que le code SGBD dans différentes classes et fichiers.
Intégration de fonctions propres aux bases de données suivantes:
- MYSQL
- Oracle avec OCI et ORA...
- SQL Server
- Dbase
- Postgress
- Ingres
- Sybase
- Sesam
Et pour toutes les autres, il y a encore toutes les fonctions odbc.
Langage orienté objet sous sa cinquième version.
La plus grande communauté de développeurs des langages Web et par conséquent le plus grand nombre de scripts.
ASP :
Gestion des sessions.
Choix du langage de scripting (vbscript, jscript, perlscript...).
Communication avec Index Server *.
Simplicité d'apprentissage du langage et de la syntaxe.
Langage qui risque de devenir assez rapidement obsolète puisqu'il est maintenant remplacé par ASP.NET.
Technologie Microsoft et bien qu'il soit possible de le faire tourner sous Unix/Linux, le parc serveur étant ce qu'il est (2/3 Unix/Linux / Apache), il est donc plus difficile de trouver un hébergeur ASP.
Communauté importante de développeurs (nombreux projets open source) .
PYTHON :
Langage orienté objet.
Fonctionne sur le principe de packages comme en Java ou en C#.
Bon langage d'apprentissage parce que rigoureux (blocs de codes définis par l'indentation) ce qui le rend très agréable à lire et donc à maintenir .
Quasiment tout les types d'applications sont réalisables par l'utilisation partielle ou totale de python, exemple : Python pour attaquer une base de données MySQL puis emploi d'une interface Delphi pour la partie IHM (composants : PythonForDelphi permettant d'utiliser les deux langages à la fois).
GTK*.
Zope*.
Java, JSP et Servlet :
JSP est le langage qui s'inscrit le mieux dans une démarche de développement MVC. *
Depuis la dernière spécification J2EE avec les expressions langage, la STDL et bien sûr la possibilité de créer soit même ces différents tags, permettent de réduire au maximum le code JAVA susceptible de se retrouver dans la JSP (tout ça améliorant le côté Vue).
Portable via les machines virtuelles.
Langage pas permissif et délicat à l'usage, exemple : appels de classes imbriquées pour récupérer une simple variable GET et afficher du texte
L'installation du serveur peut être ardue.
Ne se limite pas au JSP/Servlet, on a accès à toute la « galaxie » Java.
N'a pas encore l'équivalent des WebForms* de .NET(prévu avec l'arrivée de JSF*).
OpenSource.
Développer en JSP peut être complètement gratuit et très performant (tomcat).
Des solutions comme le framework Struts*, qui apportent beaucoup à l'édifice et les EJB* sont couplables aux applications développées en JSP (coté évolutif et grands systèmes).
Existence des applets Java *.
Relativement lourd en exécution (même une fois compilé) et nécessite des serveurs puissants.
PERL :
Syntaxe complexe ( mélange entre le shell script et le C ).
Langage puissant.
ASP.NET :
Environnement Windows.
Choix du langage (VB.NET ou C#).
Tous les avantages du C# (langage objet, typé, compilé).
Stable.
Rapide.
Gestion d'état des pages avec le viewstate*.
Richesse du framework .NET*.
Intégration parfaite avec les produits Windows (Biztalk, SQLServer, Active Directory ...)
Facile à déployer (copy/paste).
Environnement de développement puissant (Visual Studio).
Communauté importante de développeurs (nombreux projets open source).
Le code de traitement est clairement séparé du code "design". Donc des pages plus faciles à développer et à maintenir.
Les contrôles Webforms sont très puissants.
ASP.NET permet de développer ses propres composants hérités de composants de bases sur divers modèles.
On peut créer un composant Web comme une liste déroulante ou un webusercontrol qui ressemblerait à un include PHP, mais orienté objet.
La portabilité d'ASP.NET n'est pas très élevé pour le moment, mais déjà, ce n'est plus réservé aux systèmes Windows puisque Mono permet d'exécuter ces applications sur un serveur Linux. (http://www.go-mono.com/asp-net.html *).
Un problème est que les webforms ne respectent pas les standards XHTML 1.0* (résolu avec la version 2.0 de ASP.NET). En effet ASP.NET propose toute une série de contrôles dont la plupart (mal utilisés) ont une fâcheuse tendance à rendre du code non-standard, mais rien n'oblige le développeur à les utiliser.
Codage "événementiel".
Faible dépendance vis a vis de l'accès au serveur grâce aux fichiers de configuration.
Passage aisé entre développement Web et développement d'application de type client/Serveur quand c'est nécessaire (Mêmes syntaxes, mêmes classes de base) .
Pour quelqu'un qui utilise des WinForms et du Web, ASP.NET permet d'utiliser les mêmes classes et ne ne reprogrammer que l'interface.
* correspond à des points à approfondir
Partager