web-dev-qa-db-fra.com

Quelle est la différence entre un CMS et un framework? et comment choisir entre eux pour certaines exigences?

Je travaille actuellement avec Zend Framework et j'en suis extrêmement heureux. Ce que je veux savoir, c'est à quel type d'exigences il est préférable d'utiliser des CMS tels que Joomla ou Drupal.

Compte tenu de mon projet actuel, il s’agit d’une application de portail. Il est entièrement fabriqué à partir de zéro dans Zend. Puis un type arrive et commente qu’il est plutôt implémenté dans Drupal, vous pouvez obtenir des plugins pour les choses que vous avez construites avec de gros efforts.

J'ai donc besoin d'une ligne directrice pour savoir comment choisir entre CMS et A Framework lors de la phase de lancement?

19
Rupesh Patel

La question dans votre cas est de savoir s'il faut utiliser un CMS prêt à l'emploi ou créer votre propre système en utilisant un framework. La bonne réponse dépend des éléments suivants:

  • budget
  • nombre d'utilisateurs que vous aurez (problèmes de performances à long terme)
  • entretien supplémentaire
  • nombre total de détails (cloches et sifflets) que vous souhaitez fournir sur le site
  • implémentation avec des API tierces/personnalisées
  • fonctionnalités spéciales/personnalisées nécessitant un niveau de liberté élevé (exemple: points de récompense StackOverflow et badgets)

Comme c'est une question à laquelle la plupart d'entre nous sommes souvent confrontés, voici les inconvénients et les avantages d'un CMS prêt à l'emploi par rapport à un cadre:

CMS prêt à l'emploi

Avantages

  • temps de démarrage et de développement plus rapides si votre projet s’intègre généralement dans les fonctionnalités du système de gestion de contenu
  • modules et thèmes disponibles
  • sauvegardé par la communauté, ce qui signifie que les nouvelles fonctionnalités, corrections de bugs, support, tutoriels, etc. vous seront fournis gratuitement
  • ensemble unifié de normes - il est plus facile de continuer à travailler sur un site de CMS existant que de prendre l'application personnalisée de quelqu'un d'autre (c'est relatif, mais le fait est que dans un site qui utilise un CMS existant, la plupart des choses/de la configuration seront familières dans une application personnalisée, le développeur précédent avait plus de liberté)
  • la sécurité est quelque chose que vous n'avez pas besoin de vous inquiéter que comme dans une application personnalisée

Les ​​inconvénients

  • si vos exigences sont très spécifiques, vous devrez remplacer le flux de travail par défaut du système. dans certains cas, cela peut être délicat et vous faire passer plus de temps que d'écrire votre propre
  • code redondant dans les modules/plugins
  • performances - un CMS prêt à l'emploi sera rarement aussi rapide qu'une application personnalisée
  • ne convient pas à tous les grands sites Web (à moins que vous n'intégriez presque tout ce que le CMS fournit)
  • courbe d'apprentissage raide dans certains cas ( Typo3 , Drupal )

Application personnalisée

Avantages

  • à vous de définir la structure et la logique de l'application
  • la conception de l'application est spécialement conçue pour le projet sur lequel vous travaillez - il n'y a donc pas de code redondant
  • la liberté de faire ce que tu veux

Les ​​inconvénients

  • cher - dans la plupart des cas, vous/votre client aurez besoin de beaucoup plus d'argent pour une application personnalisée
  • l'entretien ultérieur sera plus difficile
  • les changements et les modifications de la structure peuvent prendre beaucoup de temps
  • si vous n'utilisez pas un FMC, vous devrez réinventer la roue dans certains aspects

Ligne de fond

Passez quelques jours et apprenez quelque chose sur les CMS, tels que:

  • Drupal - ma première recommandation; bon pour les sites Web moyens à grands; bonne communauté; courbe d'apprentissage moyenne/forte
  • WordPress - ma deuxième recommandation; bon pour les sites petits à moyens
  • Typo3 - système de niveau entreprise; assez complexe, combiné avec un framework qui peut être utilisé seul dans des projets 
  • Joomla - Personnellement, je ne l'aime pas et ne le recommande pas à cause des plugins amateurs, mais il est populaire
  • SilverStripe
  • MODX
  • Béton5

Je pense que tout projet plus gros et sérieux, qui aura au moins un ou deux programmeurs pour s'occuper du système à tout moment, devrait être personnalisé. Les exceptions ne sont possibles que si cela correspond exactement à ce qu'un CMS existant offre déjà.

J'espère que cela t'aides :)

20
Aram Boyajyan

Jetez un oeil à Différence entre un CMS et un framework de développement web sur StackExchange.com.

UnCMS(système de gestion de contenu) est utilisé pour gérer le contenu d'un site Web. Il fournit généralement des outils pour rendre cette tâche aussi simple que possible.

Exemples de CMS: Drupal, Joomla, DotNetNuke, etc.

Un framework est comme un ensemble de bibliothèques/classes pour construire une application Web. De nombreux frameworks fournissent des bibliothèques pour l'accès aux bases de données, les moteurs de templates, etc. Ainsi, vous n'avez pas à réinventer la roue.

Un CMS est souvent construit sur un Framework. 

Exemples de frameworks: CodeIgniter, CakePHP, Kohana ...

8
ndequeker

@Voles a mentionné ce que sont le CMS et le Framework 

Votre question est donc "des lignes directrices sur la manière de choisir entre CMS et A Framework"

Vous voulez créer un blog ou un site Web simple?

Optez pour Wordpress, Drupal etc.

Vous voulez créer votre prochain facebook ou stackoverflow ou une application de votre choix que le cms actuel est difficile à apprendre ou dont les fonctionnalités sont limitées?

Ensuite, optez pour des frameworks ou des frameworks personnalisés. Assurez-vous de savoir comment le construire correctement.

Vous pouvez jeter un coup d'oeil sur http://cmf.symfony.com/ aussi.

Espérons que cela soit clair.

4
Hari K T

Framework est le créateur du CMS, le CMS est essentiellement un système de gestion de contenu qui se concentre sur la gestion de contenu où tout est parfaitement configuré pour vous avec quelques lignes de code et de logiques. Vous pouvez développer votre site web ou une petite application.

Alors que, dans le cadre, c'est plus profond que le CMS, vous devez écrire à partir de zéro ou utiliser la bibliothèque existante qui est généralement utilisée pour créer de grandes applications. J'espère que cela aiderait 

0
ujwal dhakal

En dehors de tous les avantages et inconvénients de la CMS et du Framework, vous devez, selon moi, étudier votre besoin au moment du lancement. Énumérez les modules que vous souhaitez dans votre application. Maintenant, vérifiez que le nombre de modules disponibles dans le CMS que vous connaissez, tels que Drupal, Joomla, Wordpress, etc., ainsi que le degré de personnalisation dont vous avez besoin dans ces modules disponibles ainsi que les modules personnalisés que vous devrez peut-être développer selon vos besoins. Et si vous avez découvert qu’avec un minimum de personnalisation, vous pouvez utiliser n’importe quel CMS particulier et y aller.

Mais dans le cas où votre application pourrait être de nature très complexe, ce que je suggère d'aller dans n'importe quel framework MVC comme Zend, Cakephp, codeigniter, etc. 

Oui, un CMS ou un framework que vous maîtrisez bien est une autre chose. 

0
Viral Solani

Pour autant que je sache, les CMS et les MVC sont des frameworks d'applications Web avec des bibliothèques de codage. Le système de gestion de contenu est beaucoup plus facile à utiliser pour les débutants, car il dispose de fonctionnalités prédéfinies, vous n’aurez donc pas besoin de codage complexe. J'ai trouvé des informations utiles dans l'article de Wiredelta. Cela vous aidera peut-être aussi: https://blog.wiredelta.com/cms-mvc-framework-comparison/

0
Rebeka

Framework est comme une bibliothèque en utilisant cette bibliothèque, nous pouvons développer de nouvelles choses. Si CMS en tant que nom implique une source intégrée pour gérer le contenu. Comme WordPress, nous n’avons besoin de rien développer.

0
Praveen kalal