asp.net ou PHP ?

asp.net ou PHP ? - PHP - Programmation

Marsh Posté le 19-04-2005 à 15:45:04    

Hello everybody
 
Etant développeur en asp.net depuis quelques années,  
y a-t-il quelqu'un ici qui est passé du asp.net(ou asp)  au PHP (dans son boulot de développeur)?
et qui est très très content de son choix (ou pas content du tout) ?
 
         jeje
 
merci pour vos conseils.
 
PS : des avis objectifs de comparaison et performance .


Message édité par jlgbzh le 01-06-2005 à 15:28:45
Reply

Marsh Posté le 19-04-2005 à 15:45:04   

Reply

Marsh Posté le 23-04-2005 à 23:13:20    

Il est très probable que je sois amené à faire le chemin inverse.
 
En venant de l'environnement .NET, je suppose que tu vas regretter:

  • La gestion du cache
  • Les variables d'application
  • Les datasets
  • Les datagrids, les datalists et les contrôles de validation
  • La notion de culture si tu dois gérer plusieurs langues
  • Au niveau base de données le compagnon idéal de PHP est MySql, qui ne gère pas en version release les requètes imbriquées ni les procédure stoquées (un doute sur les requêtes imbriquées, à vérifier...).


Si tu passes à PHP 4, il est probable que tu sois aussi un peu dérouté par la pauvreté du modèle objet de PHP (oublie les notions privé, protégé ou statique, tout est mélangé, pas non plus de propriétés, de délégués ou autres babioles de ce genre).
 
Toujours en PHP 4, pas de notion d'évènement.
 
Ces deux derniers points sont gérés en PHP5.
 
Par contre, les points forts de ce language sont ailleurs:

  • une bibliothèque de fonctions qui dépasse celles du framework.
  • des modules GRATUITS pour faire à peu près tout ce qu'on veut
  • un plus grand contrôle sur ce qui se passe. Le code source de chaque fonction est livré. On sait ce qui se passe dans la machine. Concernant la sortie, on a nativement un contrôle total sur la chose. Plus de notion d'objet page. Si on veut sortir du CSV, pas besoin par exemple de passer par un objet stream HTTP. On change le type mime en une ligne.
  • une souplesse inégalable dans le style de codage. On peut coder objet ou non ou mélanger les deux. Plus besoin d'utiliser des classes contenant uniquement des méthodes statiques pour avoir ses fonctions utiles sous la main.  
  • plus de casts dans tous les sens
  • Les systèmes de templating permettent une VRAIE séparation entre le code et le display, bien plus segmentée qu'entre l'aspx et le code behind.
  • Même s'il s'agit d'un language interprété, sa structure lui permet d'appeler quasiment directement des APIs système sans intermédiaire. Le gain en performance est assez significatif. J'ai par exemple un collègue qui a fait tourner pendant plus d'un an avec un uptime de 100% un site qui faisait 3 millions de visites/mois sur un bi p-pro 800 (serveur web et bd). Le site en question passait son temps faire du parsing xsl à partir d'xml stoqués en base.
  • Du code moins verbeux (pas de notion de namespace)


Concernant justement les performances:  
A algo égal, aucun doute, les solutions LAMP sont nettement plus efficaces. Le passage par le CLR a obligatoirement un coût et le fait que le code généré soit optimisé pour la machine n'est pas un argument: sur une solution LAMP, PHP est compilé sur et pour le serveur spécifiquement.
 
Par contre, l'architecture .NET possède des outils qui permettent dans le cadre d'une exploitation en production de rattraper son retard à mon avis: La facilité de gestion du cache et les variables d'application sont de ce point de vue très utiles.  
A mon sens, l'investissement hardware minimum est supérieur pour le .NET mais se stabilise probablement plus rapidement en fonction du nombre de visiteurs que sur une solution LAMP.
 
Concernant les environnement de dev:
C'est clair, aucun IDE PHP n'égale Visual Studio. Ceci-dit, contrairement à il y a quelques mois, on s'en rapproche. L'IDE générique Eclipse possède un plugin PHP qui commence à ressembler à quelque chose. Le Zend Studio est aussi assez abouti (et plus proche de VS6). La majorité des PHPeux continuent à utiliser des éditeurs de texte avec coloration syntaxique simples (UltraEdit, PSPad, PHPEdit, etc.) et cela suffit largement.
 
Dans tous les cas, il faut de toute manière changer complètement de philosophie.
 
.Net est beaucoup plus abstrait que LAMP (je vais me faire des amis mais par beaucoup de points, c'est en gros une copie de JEE).
Si tu aimes pouvoir mettre les mains dans le cambouis, PHP va te plaire.
 
Par contre, si tu es un accro d'UML, que tes serveurs sont de toute manière surdimensionnés et que tes applis sont remplies de datagrids et de contrôles de validation, tu risques d'être un peu désemparé.


Message édité par gabouel le 23-04-2005 à 23:58:33
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed