J'ai beaucoup travaillé au développement d'applications Web à l'aide de PHP et ASP.NET, mais l'une des questions que me posent constamment les clients est de savoir s'il faut aller de l'avant avec un site Web php ou un site Web asp.net.
Alors naturellement, la première chose qui me vient à l’esprit est de répondre à la question suivante:
PHP est open-source et ASP.NET provient de Microsoft.
Habituellement, après quelque chose comme cela, le client a un regard vide. Apparemment, le fait qu’un soit open source et que l’autre ne le soit pas ne les dérange pas vraiment. Et pour cause, parce que quand j'ai entendu ça pour la première fois, ça ne me dit pas grand chose.
En travaillant avec les deux, je sais que chacun a ses différences en ce qui concerne le développement de sites Web.
Ma question est de savoir quelles sont les différences entre ASP.NET et PHP en ce qui concerne
- Caractéristiques
- Sécurité
- Extensibilité
- Cadres
- Temps de développement moyen
J'essaie de dresser une liste de faits à comparer avec le client afin de permettre un choix éclairé sur la plate-forme de développement appropriée.
la source
Réponses:
Les fonctionnalités , la sécurité et l' extensibilité vont être plus ou moins les mêmes. Ce qui peut être fait avec PHP peut être fait avec ASP.NET.
Frameworks - Encore une fois, en ce qui concerne les fonctionnalités des frameworks, ce sera plus ou moins la même chose. Cependant, étant plus spécifique que le langage lui-même, vous devrez prendre en compte:
Temps de développement moyen - Votre temps de développement moyen pour un très petit projet pourrait être mieux avec PHP, car les hôtes Web sont si faciles à trouver et les machines de développement si faciles à configurer. Cependant, avec quelque chose de plus gros, tant que vous avez de bons développeurs, ou que vous êtes déjà configuré pour l'un ou l'autre, ce sera probablement un lavage.
La principale considération à prendre en compte est la technologie que votre client souhaite associer à la technologie. Ni se mélange bien (facilement) avec l'autre. Ils peuvent avoir des développeurs qui sont familiers avec l'un ou l'autre.
Si votre client aime l'idée d'être connecté à Microsoft, optez pour ASP.NET. Certains clients seront plus à l'aise avec l'assistance future, les mises à niveau, etc. avec MS.
S'ils aiment l'idée de serveurs open source et Linux, optez pour PHP . Cela peut intéresser certains clients en raison de la transférabilité des hôtes Web, des logiciels libres, etc.
Et enfin, s’ils ne s’en soucient pas, choisissez ce qui vous convient le mieux . Il n'y a pas grand chose à faire à part ça.
la source
Pour vous donner une idée de ce sur quoi je me base, je développe le développement PHP professionnellement depuis plus de 6 ans, je joue avec ASP.NET MVC depuis environ 3 ou 4 mois et je fais de la C #. programmation pour aussi longtemps que la programmation PHP.
Pour moi, ceci est plus un argument PHP vs C # qu'un argument PHP vs ASP.NET.
Fonctionnalité / Extensibilité
Je pense qu'ASP.NET l'emporte ici et que c'est davantage grâce à la possibilité d'utiliser un langage comme C #. C # est un langage bien meilleur que PHP avec le support OO. Je suis aussi une personne qui préfère un langage typé de manière statique (même en C # 4.0, je pense que vous pouvez créer des variables dynamiquement typées). La seule chose que PHP avait sur C # en ce qui concerne une fonctionnalité de langage était des paramètres facultatifs, mais c’est une autre chose qui a été ajoutée en C # 4.0 (je ne sais pas si cela fonctionne bien, je ne l’ai pas encore essayé).
Sécurité,
je dirais probablement que c'est un lavis entre les deux. Je pense que les deux ont des fonctionnalités en place pour aider à la sécurité, mais il appartient en dernier ressort au programmeur de s’assurer que leur application est sûre.
Frameworks
Eh bien, PHP semble avoir beaucoup plus de frameworks grand public (CakePHP, Codeigniter, Symfony, Zend Framework) et beaucoup d'autres frameworks plus petits que ASP.NET. ASP.NET dispose de 2 infrastructures principales de Microsoft, WebForms (une pure merde) et ASP.NET MVC (la raison pour laquelle j'ai commencé à me lancer dans le développement ASP.NET). Bien que PHP ait plus de frameworks, je trouve que le framework ASP.NET MVC 3 est meilleur que tous les frameworks PHP.
Durée moyenne de développement
Je pense que pour les petits projets, la durée de développement est bien meilleure en PHP. Cependant, à mesure que la taille de votre projet augmente, C # évolue mieux à cet égard.
Coût
Certains coûts devraient être abordés. PHP gagne haut la main sur ce front. Bien que vous puissiez exécuter ASP.NET sur Mono sous Linux, il présente ses propres problèmes.
Si vous faites un projet de petite à moyenne taille et / ou que le coût est un facteur, PHP gagne. Si vous faites un projet à grande échelle, je choisirais ASP.NET avec C # et ASP.NET MVC.
la source
PHP vs ASP.NET, c'est comme comparer des pommes et des oranges, ciblées par différentes solutions.
PHP est un cadre mieux adapté pour les solutions de démarrage à petite échelle. PHP fonctionnera sous Linux, Windows sans trop de contraintes. Microsoft ASP.NET est une infrastructure industrielle qui regroupe tout ce que vous pouvez imaginer et bien plus. ASP.NET est un environnement riche en fonctionnalités et prêt à l'emploi. Beaucoup diront qu'ASP.NET est cher, ce qui était le cas il y a quelques années, mais plus maintenant. Premièrement, les outils sont gratuits (éditions express), les options de base de données sont gratuites (SQL Compact ou SQL Server 2005 ou version ultérieure). L'achat en ligne est maintenant très bon marché, la question n'est donc pas de savoir ce qui est mieux mais ce qui convient à votre solution. Personnellement, je préfère ASP.NET, mais c’est parce que je travaille dans un environnement d’entreprise où la flexibilité et l’évolutivité sont très importantes; par conséquent, les solutions dictent le cadre.
Une chose très importante est quelle langue êtes-vous le mieux? Cela devrait être le dernier facteur dans la décision.
Si votre objectif est de convaincre un client, asp.net est une meilleure option. Le nom d'une grande entreprise s'appuie sur une langue qui met le client à l'aise. Dans ce cas, les meilleures options sont ASP.NET (Microsoft) et JSP Java (Oracle).
EDIT: riche en fonctionnalités - ASP.NET fournit deux alternatives à la création d’un site Web WebForms et à l’approche MVC. Depuis son infrastructure .NET, vous disposez de fonctionnalités très puissantes telles que WF (workflow), DLR (Dynamic Language Runtime), Parallel Linq, Linq, le routage, diverses formes de gestion de l'état des données: éléments HTTPContext, ViewState, Runtime Cache, page. cache de sortie, trois types d'implémentation de session différents: InProc, State et SQL Server. ASP.NET implémente diverses formes de sécurité, par exemple, Fournisseur d'adhésion et Fournisseur de rôle. Je ne veux pas perdre PHP, mais ASP.NET est dans une ligue différente.
la source
Après avoir beaucoup travaillé avec les deux, vous savez déjà que les réponses seront différentes selon le problème et le client. Dans un sens très générique:
Si vous établissez une liste de faits pour vos clients, basez-la sur ce que vous savez. Votre recherche, quelle que soit la fausseté de vos conclusions, vous permettra d’obtenir vos points.
la source
Les contrôles .net sont beaucoup plus agréables que ce que vous pouvez trouver avec une plate-forme PhP. Regardez, par exemple, Infragistics, quel est l'équivalent d'un LAMP?
la source