Joomla ou le développement à partir de zéro? [fermé]


9

En tant que personne qui a très peu d'expérience dans ce domaine, j'aimerais savoir ce qui vous fait penser que Joomla peut répondre à toutes vos exigences. Ce qui vous fait choisir le développement à partir de zéro (ou en utilisant un framework comme Yii ou Kohana).

Quels sont les problèmes les plus courants ou les plus cruciaux auxquels vous êtes confronté lorsque vous utilisez Joomla? Comme je n'ai pas beaucoup d'expérience dans ce domaine, je suppose que l'un des plus gros problèmes est la flexibilité. Vous ne pouvez pas mettre à l'échelle ou personnaliser le comportement de votre application, et même si vous le pouvez, vous devez enfreindre une règle dans Joomla ou attendre la prochaine version. Est-ce vrai?.

Actuellement, je construis un projet à long terme, il pourrait y avoir beaucoup de fonctions et de comportements spécifiques. Je voudrais le construire à partir de zéro ou avec l'aide de certains frameworks PHP. Mais j'ai vu tellement de sites Web (et certains d'entre eux sont excellents en termes de complexité) utiliser Joomla. Cela m'a donné quelques doutes sur le choix de la bonne technologie.

Je voudrais savoir s'il existe une ou deux raisons ultimes de choisir Joomla / other.


13
Joomla est l'un des morceaux de code les plus compliqués jamais écrits. Les chatons meurent et les dieux pleurent chaque fois qu'un programmeur doit travailler sur un site joomla. Ne l'utilisez pas.
Cliquez sur Upvote

5
Faire. Ne pas. Utilisation. Joomla
blivet

Réponses:


13

Si vous créez un site Web, vous pouvez utiliser un CMS comme Joomla et d'autres.
Mais si vous allez créer une application Web , je pense qu'elle devrait être construite à partir de zéro. À ce moment, vous pouvez utiliser un framework .


2
Pour connaître la différence entre un site Web et une application Web, vous pouvez voir- programmers.stackexchange.com/questions/64535/… . En fait, j'ai moi-même posé la question après avoir répondu à cela!
Gulshan

6

On m'a souvent posé des questions sur les trois grands CMS et je me sentais mal de ne pas avoir de réponses, de n'avoir jamais utilisé aucune d'entre elles. Jusqu'à il y a environ 1,5 an, lorsque je n'avais soudain plus d'autre choix que de plonger dans Joomla 1.5.x.

  • Oubliez l'apprentissage du développement d'extensions Joomla par tout autre moyen que la lecture de la source. Je vous promets que si vous vous écartez de cette règle, de nombreuses lunes seront perdues.
  • Joomla ne vous aide pas beaucoup (oui, je connais 1.7+, je ne parle que de 1.5.x ici). Ne vous attendez pas à des fonctionnalités RAD de Joomla, en fait, vous allez écrire tout le HTML à la main, des formulaires, des tableaux, des grilles, des filtres, des recherches, oui tout cela.
  • Joomla a 1 capacité de type ORM relationnel, la méthode canDelete de JModel qui peut être spécifiquement informée des tables à vérifier pour que les enregistrements retournent des booléens "canDelete", c'est tout, vous devrez écrire toutes vos requêtes ORM à la main.
  • Utilisez JxExtractor (je pense) pour générer les fichiers de schéma de table requis ou modifiez manuellement les fichiers de table après tout changement de schéma db.
  • Les ACL de Joomla 1.5 sont un mensonge, lisez ce code source et vous l'obtiendrez. Je n'ai perdu qu'un mois en supposant qu'ils seraient là une fois que j'aurais eu besoin d'eux.
  • VirtueMart. Oh mon garçon, umm. Vite, canard! Ouf. De justesse.
  • Le but de JInstaller dans la vie est l'échec et le transfert de responsabilité, il se plaint de choses sans rapport avec la cause de l'échec, ou du moins se plaint en termes aussi énigmatiques que n'importe quelle petite amie que j'ai eue. Il ne faut JAMAIS faire confiance, il ment, vous êtes le fou si vous lui donnez une quelconque crédibilité!
  • Configuration sur convention, ou tout simplement incohérence générale. GetVar(), get(), getValue(), getConfig(), getCfg(), getParam(). Oubliez de deviner quoi que ce soit, jamais, tout nécessite de regarder la source / api.
  • Il y a au moins 4 "façons" de construire pour Joomla, et elles n'ont rien en commun, évitez la douleur et copiez simplement le com_weblinkscomposant.
  • Joomla est une base de code très clairsemée. D'une part, j'aime ça, sa source est courte et fonctionnelle (bien qu'incompétente). Si vous venez d'un framework, ne faites pas l'erreur d'attendre quelque chose comme ce que proposent les frameworks, faites comme si vous remontez dans le temps environ 8 ans.
  • Générateurs de code. Un must, Jacc dans le répertoire d'extension est plutôt sympa.
  • N'attendez pas beaucoup d'aide du Web, peut-être que je suis retardé, mais il semble qu'il y ait un tel volume de cru en ligne pour joomla que trouver des tutoriels / guides / références utiles n'est qu'une perte de temps supplémentaire, lisez cet ami de code source.
  • Joomla n'est pas intéressé par la documentation pour les développeurs, ce qui malheureusement a un sens à la fin, car la base de code est si simple.

Dans l'ensemble, n'utilisez pas Joomla CMS si vous êtes déjà familier avec des outils de niveau supérieur, ou vous pouvez devenir suicidaire et avoir 10 places suffisamment haut pour sauter de l'épinglé sur Google Maps comme je le fais.

Ps Joomla 1.6 (1.7) s'améliore sur bon nombre de ces courts métrages, mais cela n'aura pas d'importance car faire migrer les magasins Web clients (VM) vers la 1.7 est un rêve de pipe, peu importe combien je le supplie.


4

Mon avis sur Joomla:

  • Il s'agit plus d'un point and click CMS pour les personnes ayant peu de connaissances / expérience techniques.
  • Étant un produit de type pointer-cliquer, il nécessite plus de temps pour atteindre cette fonctionnalité (je trouve que c'est lent - même avec la mise en cache activée).
  • Comme il est assez grand, y apporter des modifications, des modifications ou des ajouts me prend plus de temps qu'il ne devrait.
  • Ne vous méprenez pas, il existe d'excellents plugins / modules pour Joomla, mais il y en a une tonne qui ne fonctionne pas correctement ou essaie de faire trop de choses à mi-chemin.
  • A constamment besoin d'être patché. Je me souviens qu'une fois un hack a été découvert un lundi, un patch est sorti le lendemain et mercredi un de nos sites clients a été piraté. Même si nous avions une politique de mise à niveau / correctif avec le client si nous faisions des correctifs une fois par semaine (si nécessaire) et qu'ils étaient effectués le jeudi de chaque semaine, nous aurions été trop tard dans ce cas. De plus, le nombre de patchs et le nombre de clients peuvent prendre beaucoup de temps.
  • Quiconque sait écrire echo 'hello world';s'appelle un programmeur php ces jours-ci. Joomla est un moyen pour les personnes non techniques de créer des sites Web à l'aspect décent avec peu d'effort (pointer et cliquer, rappelez-vous).

Pour un projet à long terme, je recommanderais:

  • Utiliser un framework pour vous donner les fonctionnalités de base (comme CodeIgniter )
  • Gardez votre base de code allégée car trop de ballonnement au début est difficile à réduire, sur la route.
  • L'utilisation d'un framework facilite également le changement de direction ou les ajustements plus rapidement (s'il n'y a pas de plugin pour Joomla qui ne fait pas déjà ce que vous voulez, vous devrez le construire)
  • Une fois que vous connaissez les bases du cadre, vous connaissez votre code à l'intérieur et à l'extérieur. Faire des ajouts, des modifications, des changements est beaucoup plus simple et prend beaucoup moins de temps.
  • Évitez Joomla. Surtout pour les projets en cours à long terme, je l'ai trouvé manger beaucoup de temps.

Juste mes deux cents. J'espère que cela aide.


0

AFAIK Joomla est un CMS . Donc, fondamentalement, il est en concurrence avec d'autres CMS comme Drupal et Wordpress. Alors que Yii et Kohana sont des frameworks où vous avez des options comme Zend, code-ignighter également. À ma connaissance, un CMS est une application avec son ensemble d'API et d'extension pour gérer le contenu du web tandis qu'un framework est une base de code qui peut être ajustée à nos besoins afin de créer une application web. Ainsi, vous pouvez créer un CMS avec un framework. Je recommanderais d'opter pour un framework plutôt qu'un CMS pour le développement d'applications. Je crois que l'approche des cadres vous permet de vous plonger dans une méthodologie telle que MVC ainsi que de vous donner des options concernant la base de données et les modèles.

PS C'est juste ma compréhension. J'ai entendu dire que Drupal et Joomla sont très extensibles et modifiables mais je ne les ai pas utilisés. Il y a quelques mois, j'avais étudié Yii et le cadre semble très bien documenté et facile à apprendre.


0

Pourquoi Joomla? C'est un CMS. Si vous pouvez couvrir les besoins de votre projet avec les modules, etc. disponibles dans l'un des principaux CMS, alors c'est parfait. La question suivante est - pouvez-vous modifier le code pour le changer si nécessaire. En ce qui concerne les systèmes CMS, jetez un œil et voyez ce que les autres rivalisent avec Joomla.


0

Si vous souhaitez mieux comprendre le fonctionnement des différents frameworks, cela peut aider à développer le vôtre. Cela étant dit, il n'y a que de nombreuses façons de produire une roue, alors à quel point voulez-vous vraiment réinventer ce qui a déjà été fait?

J'ai personnellement développé le mien simplement parce que je n'avais pas besoin de toutes les fonctionnalités supplémentaires, comme Wordpress ou Drupal. Cela étant dit, mon "CMS" ne dépassera pas mon utilisation, donc je suis en difficulté si je veux que d'autres personnes contribuent.

Mon opinion personnelle est d'utiliser un framework comme CakePHP, CodeIgnitor, Modx, et al, pour développer votre propre CMS, puis peut - être plus tard migrer vers quelque chose comme Joomla, même si vous ne voudrez probablement pas ...

HTH.


0

J'utilise joomla depuis 4 ans. Je l'ai utilisé comme cadre pour développer différents types de sites Web. Il n'y a rien de mal à utiliser Joomla. Il a des extensions pour créer un bac à sable pour les extensions personnalisées et il réduit beaucoup de temps. De nombreuses extensions sont déjà disponibles gratuitement. Et vous pouvez créer le vôtre en très peu de temps.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.