juin
10
Guerre éternelle: ASP.NET vs PHP (et Ruby On Rail!)
dim 10 juin 2007
par Martin Bittner | 9 commentaires
J’ai longtemps été en faveur de Microsoft dans la guerre qui opposait ASP.NET et PHP. Je suis certifié MCP et bientôt MCAD pour développement web ASP.NET. Ayant aussi fait environ 3-4 ans de PHP lorsque j’ai débuté dans le merveilleux monde de l’Internet, je me suis dit que le temps était venu pour moi de vérifier si ASP.NET était encore approprié pour les projets auxquels je participe.
On entend beaucoup parler de Ruby On Rail (RoR). Tout le monde dit que c’est incroyablement puissant. Je me suis donc intéressé à RoR, ASP.NET et PHP.
Ruby on Rail - RoR est un framework de développement basé sur le langage de programmation Ruby. Le framework supporte le modèle MVC (qui est reconnue pour être une bonne pratique de programmation). Pour les non-initiés, un framework de développement est une série d’outils, de guides, de règles à suivre qui améliorent la productivité et la qualité du code produit.
Afin de pouvoir comparer RoR, ASP.NET et PHP, je devais donc trouver l’équivalent d’un framework en ASP.NET et PHP.
PHP - Après plusieurs recherche, j’ai arrêté mon choix sur le framework de développement symfony. Il semble être le plus populaire. Comme dans le cas de RoR, symfony est un projet open source. Symfony est un framework mature et son développement est actif. La documentation est très complète.
ASP.NET - Spring.NET est un framework qui est originaire de son cousin java. Je n’ai pas poussé ma recherche très loin, après avoir discuté sur un forum spécialisé en ASP.NET, plusieurs personnes ne le recommandaient pas.
J’ai donc continué ma recherche afin de me faire une idée sur Ruby On Rail et sur Symfony. Après avoir passé de longues heures de lecture sur des blogues, forums, écouté des enregistrements de conférences j’ai finalement conclu que Ruby On Rail était sans doute très bien, mais pas encore supporté par assez de serveurs d’hébergement. Je connais plusieurs personnes qui travaillent dans une entreprise qui développe 1 ou 2 produits et qui utilise RoR. Ces même personnes me disent que Ruby On Rail est merveilleux. Par contre, lorsque vient le temps de développer des sites web pour des clients, qui sont hébergés chez des hébergeurs qui ne support pas Rail, il est évident que c’est plus facile avec PHP qui est très largement supporté.
Les caractéristiques disponibles pour les 2 frameworks étaient semblables:
- Support du modèle MVC
- URL intelligent (Url Rewriting) (lien en anglais seulement)
- Intégration avec Ajax
- Optimisation possible (cache)
- Mature et prêt à être utilisé en entreprise
Pour Symfony (je n’ai pas validé si ces caractéristiques étaient disponibles pour RoR):
- Support pour les sites multi langues
- Création quasi-automatique du panneau administratif
- Utilisé par Yahoo! Bookmark
- Documentation TRÈS complète (Livre disponible)
Comme j’ai déjà fait du PHP et qu’il semble mieux supporté, j’ai décidé d’apprendre symfony afin de mieux évaluer ce qu’il pourrait apporté aux sites web que nous créons. J’ai acheté le livre The Definitive Guide to Symfony et completé le tutorial Askeet. J’ai été très impressionné par la puissance d’un tel framework. Le livre explique vraiment bien les possibilités et le tutorial offre un exemple réel de site web sur lequel on peut se baser pour réduire le temps d’apprentissage.
Suite à mes recherches, j’ai pris la décision de réintégrer progressivement la technologie PHP dans la conception de nos sites web au détriment de ASP.NET.
Par contre, je continu de croire que ASP.NET offre beaucoup plus de possibilités que le langage PHP. Les librairies de base de ASP.NET sont beaucoup plus complètes que celle de PHP. C’est un langage robuste et mature. Je crois qu’il serait tout à fait justifié d’utiliser ASP.NET et le framework .NET pour développer des applications web qui doivent s’intégrer avec des applications de tierces parties et pour des applications web qui sont très complexes.
Ceci étant dit, la configuration standard PHP / MySQL / Apache est beaucoup plus rapide que son équivalent ASP.NET / IIS. En plus d’être plus rapide, elle est aussi moins coûteuse.
Si vous avez un point de vue différent sur l’utilisation des framework ou bien que vous avez quelques choses à rajouter, je vous invite à le faire dans les commentaires de ce billet. J’aimerais aussi savoir quel est votre langage de développement web préféré et pourquoi.
Si vous aimez ce billet, vous devriez considérer à vous inscrire à mon fil RSS complet
Fil RSS des commentaires pour ce billet Adresse de trackbackCommentaires
9 commentaires
Qui l’eût cru?
Très intéressant ton comparatif martin, tu m’en avais parlé de symphony, j’ai transmit cela à notre programmeur et il est entrain de regarder cela voir si on peut l’utiliser pour le nouveau développement.
Simon: Tu me connais, je n’ai pas peur de changer ma position quand les bons arguments sont au rendez-vous!
Charles: Tu vas voir, il ne sera pas déçu si vous décider de prendre symfony!
Bonjour. Personellement j’utilise CodeIgniter qui est un framework PHP beaucoup plus léger que Symfony : http://codeigniter.com la documentation est bonne (quoique uniquement en anglais) et il est open source, et supporté par une entreprise ce qui permet de s’assurer de sa pérennité à mon avis.
Il vaut le détour même si son objectif n’est pas du tout le même que symfony (qui lui est plus “corporate”)
Jetez aussi un coup d’oeil à Django, le framework python
La aussi l’hébergement peut être problématique quoique moins que pour ruby, du moins en France.
Parfait, je vais regarder Django !
Merci
Bon article Martin,
C’est certain que le nombre restreint de compagnies d’hébergement qui supportent Ruby On Rails est un problème en soit… mais c’est quand même un problème très mineur et surtout très temporaire. De plus en plus de gens commencent à reconnaitre Ruby On Rails comme un des grands joueurs dans l’industrie. Mais comme rien ne se fait en un jour…
J’ai entendu des belles choses sur Symfony également. Avec ta critique, ça fait un doute de moins dans ma tête que ce framework en est un bon!
Effectivement. Ce n’est probablement que temporaire comme problème.
Comme je ne crois pas que Ruby On Rail soit plus puissant que Symfony, je ne voyais pas l’intérêt d’apprendre un autre language de programmation!
Je crois que les 2 frameworks offrent pratiquement la même chose. Si ça change dans le futur, je verrai et j’ajusterai mon tir
Je serai plus pragmatique dans mon analyse : PHP est gratuit et dispose d’outils gratuits prêts à l’emploi. Aussi, il est très largement diffusé et connaît un réel essor.
Cependant, les technologies .Net bénéficient d’outils de développement très largement supérieurs en termes de productivité, permettant la réalisation d’applications plus rapidement. Leur inconvénient est le coût d’acquisition de ces outils, limitant ainsi l’essor des technologies associées.
Quant à Ruby on Rails, je crois que son succès est compromis. En effet, il nécessite un apprentissage spécifique que peu de développeurs peuvent se permettre, ce temps de formation spécifique, avec des applications commerciales très compromises, n’incite pas les développeurs à franchir le pas, et par conséquent les hébergeurs à répondre à leurs besoins, tout simplement non exprimés.
[…] faire suite à mon article où je dis que j’aime bien symfony, le très attendu framework de développement Zend (PHP) est enfin disponible en version stable. […]