Maison > Article > développement back-end > Quelle est la différence entre php et java ?
Les logiciels de commerce électronique actuellement sur le marché peuvent être essentiellement divisés en deux camps, à savoir le camp PHP et le camp Java. Mais pour les utilisateurs qui ne sont pas dans la période du commerce électronique, ils ne regardent généralement que leur apparence, mais il est difficile de voir leurs différences réelles. En fait, la valeur de php+mysql ne se limite pas aux logiciels de commerce électronique. Le logiciel développé par php+mysql n'est pas digne de l'ensemble des logiciels développés par Java. Pourquoi le commerce électronique php+mysql n'est-il pas une question d'argent ? La première chose à comprendre est la différence entre php et Java.
1. Origin
Java a été conçu à l'origine pour développer un système de code distribué pour les produits électroniques grand public.
PHP est né pour les applications Internet.
2. Comparaison de l'architecture technique du système
La superposition est un moyen d'organiser efficacement le système, et l'idée de diviser pour régner est une très idée importante dans le domaine informatique. Sous la direction de bonnes idées de superposition, « une cohésion élevée et un faible couplage » peuvent être obtenus, et des problèmes spécifiques peuvent être séparés, ce qui facilite le contrôle, l'extension et l'allocation des ressources.
Depuis la version PHP5, PHP a également fait un saut qualitatif dans l'architecture système. ShopNC est développé en utilisant le langage PHP, qui peut parfaitement réaliser une distribution d'architecture multicouche. Grâce au modèle de conception MVC, les logiciels de commerce électronique peuvent avoir une architecture système plus efficace et plus raisonnable. Cela rend l'évolutivité du système et l'adaptabilité à la demande comparables aux systèmes logiciels de commerce électronique écrits en Java.
Gutmans a publié l'année dernière un article qui expliquait également la comparaison entre le multi-threading (JVM) et le multi-processus (LAMP) dans un environnement multicœur. Parmi eux, il est mentionné que les systèmes multicœurs sont très adaptés à l’approche multi-processus de l’architecture LAMP. Alors que l'industrie des puces se concentre désormais sur la technologie multicœur plutôt que sur la technologie hyper-threading, les avantages d'un environnement multithread tel que la JVM ne seront pas pleinement exploités sur le matériel actuel. L'approche multi-processus offrira plus de stabilité et de fiabilité.
Dans ce tour, PHP a été victorieux.
3. Comparaison des accès aux bases de données
PHP peut être compilé en fonctions qui se connectent à de nombreuses bases de données. Vous écrirez vos propres fonctions périphériques pour accéder indirectement à la base de données. De cette manière, lorsque la base de données utilisée est modifiée, le codage peut être facilement modifié pour s'adapter à ces changements.
Dans le même temps, PHP fournit désormais une interface de base de données unifiée PDO. L'accès à différentes bases de données telles que Oracle, MySQL, SQL2000, etc. peut être effectué via le pont sans tenir compte des problèmes d'interface de base de données. Parallèlement, afin de mieux prendre en charge la base de données MYSQL, PHP a également lancé la connexion à la base de données MySQLi, plus efficace et plus sécurisée.
Java accède à la base de données via JDBC et accède à la base de données via des pilotes de base de données fournis par différents fournisseurs de bases de données. Il n’y a pas d’optimisation ciblée particulière. Si l'application Web développée est également transférée des données MYSQL vers les données ORACLE, PHP utilise l'interface PDO et il n'est pratiquement pas nécessaire d'apporter des modifications au programme (ShopNC a déjà développé une couche de base de données encapsulée auto-développée, qui peut déjà terminer le traitement de données multiples). type de support de base de données, même sans PDO).
Le développement Java nécessite la mise en œuvre de certains changements. La différence dans les méthodes d'accès aux bases de données a établi l'écart entre les logiciels de commerce électronique développés par PHP et les logiciels de commerce électronique développés par Java. Java est la génération traditionnelle, mais PHP est le résultat du développement de nouvelles technologies. PHP peut non seulement s'adapter. tout De plus, la vitesse a été régulièrement améliorée et l'efficacité est beaucoup plus puissante que Java.
Ce tour, Java est un peu moins impressionnant.
4. Comparaison de sécurité
L'Open source est le plus grand avantage de la sécurité, et LIUNX en est une preuve très réussie.
Le programme de développement PHP peut être facilement modifié une fois que d'autres ont obtenu le code. Les programmes développés en Java ne peuvent pas voir le code source complet et ne peuvent voir que certains fichiers de classe compilés. Par conséquent, de nombreux dangers cachés de l'architecture sous-jacente ne peuvent pas être prédits à l'avance. Une fois qu'une erreur catastrophique se produit, les conséquences seront graves.
Si vous souhaitez crypter du code PHP, vous pouvez également utiliser Zend Guard, le produit faisant autorité de Zend, pour le cryptage afin de garantir les droits de propriété intellectuelle du produit. Si nous devons comparer PHP et Java en termes de sécurité, nous pouvons seulement dire qu'ils sont à peu près identiques. S'il y a un écart, il est également déterminé par le niveau des programmeurs de développement.
Dans ce tour, les deux sont toujours à égalité.
5. Prévoyance et évolutivité dans le sens des applications Internet
Dans l'ensemble, PHP est adapté aux applications Internet, alors que le langage Java n'est pas centré. sur WEB, mais sur les services généraux. PHP peut maximiser les applications Internet et Java répond aux besoins des applications WEB via des frameworks standards ou non standards.
Pourquoi PHP est-il adapté aux applications Internet ?
Tout d'abord, PHP peut adopter un déploiement distribué pour les charges système importantes. Séparez la base de données, la couche logique d'application et la couche logique de présentation les unes des autres, et séparez le trafic dans la même couche. PHP fait un excellent travail à cet égard.
Deuxièmement, PHP fournit de nombreuses interfaces de base de données et des interfaces unifiées. Il ne faut pas beaucoup d'efforts pour unifier les données de plusieurs bases de données différentes. Java peut également obtenir un support évolutif via Class et EJB, ainsi qu'un support structurel via EJB/CORBA et les serveurs d'applications de nombreux fournisseurs. En termes de communication avec les applications Java ou .NET existantes, PHP peut communiquer via les interfaces API existantes. Quant aux données utilisées dans la communication de données, ce ne sont rien d'autre que XML, JSON, etc.
Si PHP est comparé au prix de la meilleure performance sur Internet, il a la capacité d'être autonome. Java devrait alors remporter le prix de la moindre innovation, tout comme les guerriers médiévaux européens, avec seulement des frameworks lourds et une efficacité encombrante.
Pas étonnant que même SUN à l'époque prenait également en charge JRuby et Jython dans sa solution J2EE. IBM Websphere s'est rendu compte que J2EE n'était pas adapté au WEB et a lancé le projet Project Zero. Le résultat ? L'architecte en chef du Projet Zéro a également admis publiquement à contrecœur que "Java peut désormais être considéré comme un simple langage système et ne convient pas à la création d'applications Web".
En fait, Java est profondément enraciné dans l'e-isation au niveau de l'entreprise et dans les applications commerciales clés. Cependant, dans les applications Web, la part de marché du langage Java a fortement chuté, et le déclin est pleinement apparent.
Donc dans ce tour, Java a perdu sans voix.
6. Degré de productisation
Lors du développement en Java, presque aucun programmeur ne commencera par le bas, car ce sont toutes des classes encapsulées. C’est en fait une raison importante pour laquelle il est difficile de produire Java. Parce que presque tous les programmeurs peuvent effectuer un développement d’applications relativement superficiel.
En ce qui concerne les classes Java, lorsqu'elles sont mises sur Internet, il n'y a qu'une seule chose que l'on peut qualifier de lourde. La seule supériorité multiplateforme que Java a toujours revendiquée est en fait une sorte de propagande pour les programmeurs débutants. Pour les programmeurs expérimentés, c'est une blague et un jeu d'enfant.
Les développeurs seniors qui ont expérimenté de nombreux grands projets savent qu'au début du développement, la plateforme sur laquelle le programme doit s'exécuter est déterminée. Plus le projet est vaste, plus il est certain, et la transplantation de plateforme ne sera pas facilement envisagée.
Même si de nouveaux services doivent être mis en place sur d'autres plateformes, des éléments supplémentaires seront développés sur la nouvelle plateforme, et la connexion avec les produits existants pourra également être résolue via Webservice. Et la base de données n'a pas d'importance. Je ne pense pas que quiconque utilisera ACCESS pour développer des programmes commerciaux à grande échelle !
Comme la plupart des applications métiers notamment CRM, ERP, rapports, gestion de documents, etc. se sont également tournées vers le Web, en regardant autour, il existe une gamme éblouissante de produits PHP. En termes d'applications Internet, cela peut être. a déclaré de manière responsable : « Le taux de couverture est supérieur à 99 %.
Bien que la qualité de nombreux produits varie, il existe des produits représentatifs dans chaque direction et domaine. Les exemples incluent WordPress, Drupal, mediaWiki, osCommerce, SugarCRM, Discuz, QeePHP, ShopNC, etc.
Le degré de productisation est une donnée importante qui soutient directement le degré d'industrialisation. Les outils qui ne peuvent pas être industrialisés sont en réalité très tristes en eux-mêmes.
Dans ce tour, Java a complètement perdu.
7. Comparaison des coûts de développement et de maintenance ultérieurs
Puisque PHP est plus puissant que Java dans de nombreux aspects des applications Internet, pourquoi les produits de commerce électronique développés par Java se comparent-ils avec les produits PHP ? Qu'en est-il de la concurrence ? C'est parce que le camp Java prend généralement la ligne gouvernementale, tandis que le camp PHP prend la ligne nationale. Java s'appuie sur les paroles et les actes des professeurs d'université pour rugir dans le monde Internet, tandis que PHP s'appuie sur sa propre qualité pour gagner le cœur des gens, il est donc loué jusqu'au bout.
Le prix d'un logiciel est largement lié à son propre coût et à ses fonctionnalités. La barrière d’entrée à PHP est faible, mais devenir un maître dans tous les aspects est l’un des meilleurs. La grande majorité des programmeurs qui ont appris le C peuvent facilement se transformer en programmeurs PHP. Cela rend les programmeurs PHP aussi populaires que les sports nationaux. Il existe également de nombreux maîtres et des produits logiciels PHP de haute qualité émergent sans cesse.
En termes de coût du serveur, la combinaison la plus classique de PHP est PHP + MySQL + Apache, et Java est souvent combiné avec MySQL + Tomcat, JBoss et d'autres logiciels. Tous les logiciels sont open source et gratuits, donc l’investissement côté serveur n’est pas élevé.
Le coût d'apprentissage des programmeurs Java est plusieurs fois supérieur à celui de PHP. La raison est également très claire. Java lui-même n'est pas spécifiquement utilisé pour le développement WEB. Par conséquent, le coût du développement du commerce électronique en Java est beaucoup plus élevé que celui de produits logiciels similaires développés en PHP. Cependant, précisément parce que le coût du développement Java est élevé, il faut souvent N fois plus de temps et de coûts économiques pour développer le même produit afin d'obtenir le même effet que le développement PHP. Cela entraîne directement une énorme perte de temps et d’argent.
Au dernier tour, Java a complètement perdu dans la bataille WEB.
Grâce aux données ci-dessus, les lecteurs peuvent également clairement comprendre que l'achat de produits de commerce électronique basés sur Java vous apportera beaucoup de coûts économiques et un temps précieux au cours de la période de maintenance ultérieure. Les opportunités commerciales sont éphémères. Si les opérations commerciales doivent toujours attendre longtemps avant que la technologie ne soit mise en œuvre, j'ai peur que l'hémérocalle disparaisse.
N'ayez pas peur de ne pas connaître les produits, ayez simplement peur de comparer les produits. Les produits développés en PHP sont largement utilisés et jouissent d'une bonne réputation, mais les produits développés en Java sont difficiles à mettre à l'échelle, ce qui conduit directement à moins de produits et à davantage de types de projets. C'est précisément parce que les performances globales des produits développés pour PHP ont été testées et améliorées par des milliers d'utilisateurs. Java en est loin, il n'est donc pas surprenant que Java ne puisse emprunter que la voie gouvernementale et utiliser l'écart de prix pour équilibrer la mentalité de l'acheteur.
Pour résumer, PHP est le promoteur le plus puissant du développement des logiciels de commerce électronique, et cela deviendra inévitablement la tendance générale, qui est irréversible et ne peut être remise en question.
En tant que programmeur, que ce soit PHP ou Java. Concernant la question de la taille, c'est effectivement la même chose pour nous. La guerre à ce niveau est en réalité une affaire entre les grands constructeurs et n'a rien à voir avec nous. Mais par exemple, l'aspect WEB. Je veux toujours encourager mon camp !
Pour plus de connaissances sur PHP, veuillez visiter le Site Web PHP chinois !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!