Core PHP vs PHP Framework : que faut-il utiliser ?

Je constitue des équipes Core PHP et PHP Framework en Inde depuis 2012. Voici mon expérience :

1) Applications Web de petite et moyenne taille : utilisez un framework PHP

Les applications Web de petite à moyenne taille ont généralement un objectif spécifique tel que :

  • comparer les prix et montrer le meilleur prix
  • montrer différents produits et permettre aux utilisateurs de les rechercher
  • s’inscrire à certains services et permettre aux utilisateurs de télécharger les cours et les produits
  • faire une réservation pour des chambres ou des taxis ou similaires
  • etc.

Le nombre d’utilisateurs sera d’environ 100 à 1000 par jour dans ces applications.

Ces critères s’appliqueront à environ 90 % de toutes les applications Web.

Pour eux, vous pouvez utiliser un framework PHP. Je suggérerais l’un des éléments suivants :

  • Laravel : le framework PHP le plus moderne. Il a été créé en 2011 et a été adopté par les développeurs Web depuis lors.
  • Symfony : c’est ce que vous appelleriez un framework Web au niveau de l’entreprise. Il est principalement utilisé par les services informatiques des moyennes et grandes entreprises, qui construisent des plateformes petites et moyennes pour leurs clients ou leurs autres services (marketing, ventes, RH, comptabilité, etc.)
  • Zend : est un autre framework au niveau de l’entreprise, qui a fait ses preuves depuis de nombreuses années.

Les nouveaux projets sont généralement lancés avec Laravel. Mais la plupart des projets du passé avaient été lancés dans Symfony ou Zend, vous verrez donc également de nombreuses opportunités ici.

Il existe d’autres frameworks comme CodeIgniter, CakePHP et YII. Ils ne sont plus tellement utilisés. Mais encore, il y a des développeurs Web qui utilisent ces technologies.

2) Flexibilité maximale ou personnalisation maximale requise : utilisez Core PHP

Supposons que vous construisiez une application Web que vous envisagez de concéder sous licence à d’autres sociétés. Comme un ERP, un CRM, un logiciel de compte ou similaire. Ensuite, utilisez Core PHP ou PHP pur, comme vous l’aviez appelé.

La raison en est que vous souhaitez créer votre application comme vous le souhaitez.

Un exemple figuratif : comparez-le à une image. Vous pouvez dessiner à partir de zéro ce dont vous avez besoin et construire sur cette image ce que vous voulez. Dans un cadre, certaines personnes et table et arrière-plans seraient déjà prédéfinis, ce qui ne vous aiderait pas, car votre plan n’est pas de dessiner le tableau rapidement, mais selon vos souhaits.

Surtout si vous créez de nouveaux modules de temps en temps, vous ne voudrez peut-être pas avoir un cadre qui « vous retient » ou fournit des fonctionnalités dont vous n’avez peut-être pas besoin.

Avantages et inconvénients de chaque approche

1) Cadre

Avantages:

  • Construisez plus rapidement : Le gros avantage est que vous pouvez construire plus rapidement. Dans un monde où vous voulez économiser de l’argent et avoir besoin d’obtenir des résultats rapidement, cette approche a du sens. De nombreuses fonctionnalités, comme les formulaires, les fonctions de sécurité sont déjà disponibles et peuvent être intégrées rapidement.
  • Plus facile pour les développeurs juniors : Un développeur junior peut commettre de nombreuses erreurs lors de la création d’une nouvelle application Web (peindre une nouvelle image à partir de zéro), mais en utilisant un framework PHP, il peut s’appuyer sur les meilleures pratiques.
  • Construire en toute sécurité : Les applications Web d’entreprise et autres sont censées être sécurisées. Ces fonctionnalités de sécurité sont intégrées à Laravel et à d’autres technologies.

Les inconvénients:

  • Moins souple : Parfois, vous ne pouvez pas simplement faire les choses à partir de zéro, mais vous devez vous baser sur des fonctionnalités qui pourraient ne pas être nécessaires dans ce projet particulier.
  • Aérien: Cela renvoie également au premier point de flexibilité. Vous n’aurez peut-être pas besoin de tout ce qui est fourni avec le framework.

2) PHP pur

Avantages:

  • La flexibilité: Construisez ce que vous voulez. Construisez un nouveau framework PHP que vous pourrez réutiliser pour d’autres projets si nécessaire.
  • Vous contrôlez : Vous avez le volant. Rendez l’application aussi rapide que vous le souhaitez, intégrez-y une grande évolutivité.

Les inconvénients:

  • Plus de temps nécessaire pour le développement : Pour les petites applications, le temps de développement peut être le même que pour les frameworks. Mais lorsqu’il s’agit d’applications de taille moyenne à grande, beaucoup plus de temps est nécessaire pour le développement.
  • La structure doit être respectée : Dans Laravel et les technologies similaires, il existe déjà un chemin de bonnes pratiques que vous pouvez suivre en développement Web. Ce n’est pas le cas pour le PHP pur. Ici, vous devez suivre des pratiques de développement Web qui ne sont pas intégrées. Vous devez avoir la discipline pour les suivre. Sinon, vous vous retrouverez avec ce que l’on appelle du code spaghetti pour lequel PHP n’a pas une bonne réputation.

Autres choses à considérer

Pendant longtemps, PHP a été considéré comme une technologie dépassée. Surtout Ruby on Rails a été considéré comme une excellente alternative.

Surtout l’argument du code spaghetti d’avant, était l’une des raisons pour lesquelles de nombreuses entreprises ont hésité à utiliser cette technologie.

Avec Laravel, cette notion a changé. Le taux d’adoption a augmenté de plusieurs manières. Surtout les développeurs Zend ont changé pour Laravel.

La plupart des projets sont démarrés avec l’un des frameworks. Il est rare que seul PHP soit utilisé.

MAIS : lorsqu’il s’agit de solutions Web qui sont concédées sous licence à d’autres sociétés (ou de logiciels d’emballage sous film rétractable, comme vous l’appelleriez), ces solutions sont souvent conçues en PHP.

PHP s’est généralisé ces dernières années

Voici quelques technologies qui sont construites sur des frameworks PHP ou PHP :

  • Articles de magasinage : Un système de boutique en ligne largement utilisé dans les moyennes entreprises d’Europe centrale.
  • Magento : Ce système de boutique est basé sur Zend et est utilisé par des entreprises de taille moyenne dans le monde entier.
  • WordPress : Qui ne connaît pas WordPress ? C’est le système de gestion de contenu le plus utilisé au monde. D’autres exemples sont TYPO3 , Drupal et Contao .
  • Un grand nombre de solutions web personnalisées : Dans ce post, il a été mentionné à plusieurs reprises. Il existe de nombreuses solutions logicielles ERP, CRM, comptabilité, marketing, vente construites avec PHP.

Conclusion

Si vous créez des solutions personnalisées pour vos clients, comme une entreprise cliente, qui a besoin d’une application Web pour améliorer ses processus ou d’une solution logicielle pour son service marketing (entrez dans n’importe quel autre service), utilisez un framework PHP. Parce que le développement sera plus rapide (ce qui est généralement une exigence de ce type de clients) et aussi qu’il sera moins cher à développer (ce qui aidera dans le processus de vente).

Si vous créez une solution pour vous-même, que vous souhaitez concéder sous licence à d’autres sociétés ou utilisateurs Web. Ensuite, posez-vous la question suivante : est-ce une solution Web plus standard, comme une plate-forme en ligne pour comparer les prix, ou une autre solution standard. Ou avez-vous besoin d’un ensemble de fonctionnalités très spécifiques, comme votre propre type de système CRM ? Ensuite, le noyau PHP pourrait être la meilleure solution.

Quelle est votre expérience ?

Quelques liens intéressants :
Un bon article qui compare PHP et l’approche framework
La différence de développement utilisant ces technologies est montrée dans cet article de blog


L’auteur : Sascha Thattil travaille chez Software-Developer-India.com qui fait partie du groupe YUHIRO. YUHIRO est une entreprise germano-indienne qui fournit des programmeurs aux sociétés informatiques, aux agences et aux services informatiques.

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.