Joomla oder Entwicklung von Grund auf neu? [geschlossen]


9

Als jemand, der sehr wenig Erfahrung darin hat, würde ich gerne wissen, warum Sie denken, dass Joomla alle Ihre Anforderungen erfüllen kann. Was bringt Sie dazu, es der Entwicklung von Grund auf vorzuziehen (oder ein Framework wie Yii oder Kohana zu verwenden)?

Was ist das häufigste oder wichtigste Problem bei der Verwendung von Joomla? Da ich nicht viel Erfahrung damit habe, würde ich darauf hinweisen, dass eines der größten Probleme die Flexibilität ist. Sie können das Verhalten Ihrer App nicht skalieren oder anpassen, und selbst wenn Sie könnten, müssen Sie in Joomla gegen eine Regel verstoßen oder auf die nächste Version warten. Ist das wahr?.

Derzeit baue ich ein langfristiges Projekt auf, das möglicherweise viele spezifische Funktionen und Verhaltensweisen enthält. Ich möchte es von Grund auf neu erstellen oder mit Hilfe einiger PHP-Frameworks. Aber ich habe gesehen, dass so viele Websites (und einige von ihnen sind sehr komplex) Joomla verwenden. Dies gab mir einige Zweifel an der Wahl der richtigen Technologie.

Ich würde gerne wissen, ob es einen oder zwei ultimative Gründe gibt, sich für Joomla / other zu entscheiden.


13
Joomla ist einer der chaotischsten Codeteile, die jemals geschrieben wurden. Kätzchen sterben und Götter weinen, wenn ein Programmierer an einer Joomla-Site arbeiten muss. Benutze es nicht.
Klicken Sie auf Upvote

5
Machen. Nicht. Verwenden. Joomla
Blivet

Antworten:


13

Wenn Sie eine Website erstellen, können Sie ein CMS wie Joomla und andere verwenden.
Aber wenn Sie eine Webanwendung erstellen möchten, sollte sie meiner Meinung nach von Grund auf neu erstellt werden. Zu diesem Zeitpunkt können Sie ein Framework verwenden .


2
Informationen zum Unterschied zwischen einer Website und einer Webanwendung finden Sie unter programmers.stackexchange.com/questions/64535/… . Eigentlich habe ich selbst die Frage gestellt, nachdem ich diese beantwortet habe!
Gulshan

6

Ich wurde oft nach den drei großen CMS gefragt und fühlte mich schlecht, keine Antworten zu haben, da ich überhaupt keine verwendet hatte. Bis vor ungefähr 1,5 Jahren, als ich plötzlich keine andere Wahl hatte, als in Joomla 1.5.x einzutauchen.

  • Vergessen Sie das Erlernen der Joomla-Erweiterungsentwicklung auf andere Weise als durch Lesen der Quelle. Ich verspreche, wenn Sie von dieser Regel abweichen, werden viele Monde verloren gehen.
  • Joomla hilft dir nicht viel (ja, ich kenne 1.7+ und spreche hier nur über 1.5.x). Erwarten Sie keine RAD-Funktionen von Joomla. Tatsächlich schreiben Sie den gesamten HTML-Code von Hand, Formulare, Tabellen, Raster, Filter, Suchvorgänge, ja alles.
  • Joomla verfügt über 1 relationale ORM-Typ-Fähigkeit, die canDelete-Methode von JModel, mit der genau angegeben werden kann, welche Tabellen auf Datensätze überprüft werden müssen, um das boolesche "canDelete" zurückzugeben. Das ist alles, Sie müssen alle Ihre ORM-Abfragen von Hand schreiben.
  • Verwenden Sie JxExtractor (glaube ich), um die erforderlichen Tabellenschemadateien zu generieren oder die Tabellendateien nach jeder Änderung des Datenbankschemas manuell zu ändern.
  • Die ACLs von Joomla 1.5 sind eine Lüge. Lesen Sie diesen Quellcode und Sie werden ihn bekommen. Nur ungefähr einen Monat verschwendet, vorausgesetzt, sie würden da sein, wenn ich sie brauche.
  • VirtueMart. Oh Mann, ähm. Schnell, Ente! Wütend. Anruf schließen.
  • JInstallers Lebensziel ist das Scheitern und das Übergeben des Geldes. Er beschwert sich über Dinge, die nichts mit der Ursache des Scheiterns zu tun haben, oder beschwert sich zumindest so kryptisch wie jede Freundin, die ich hatte. Es ist NIE zu vertrauen, es lügt, du bist der Dummkopf, wenn du ihm Glauben schenkst!
  • Konfiguration über Konvention oder nur allgemeine Inkonsistenz. GetVar(), get(), getValue(), getConfig(), getCfg(), getParam(). Vergessen Sie, irgendetwas zu erraten, alles erfordert einen Blick auf die Quelle / API.
  • Es gibt mindestens 4 "Möglichkeiten", um für Joomla zu bauen, und sie haben nichts gemeinsam. Sparen Sie sich den Schmerz und kopieren Sie einfach die com_weblinksKomponente.
  • Joomla ist eine sehr spärliche Codebasis. Einerseits gefällt mir das, die Quelle ist kurz und funktional (wenn auch unfähig). Wenn Sie aus einem Framework stammen, machen Sie nicht den Fehler, etwas wie das zu erwarten, was Frameworks bieten, und tun Sie so, als würden Sie ungefähr 8 Jahre in die Vergangenheit reisen, weil Sie es sind.
  • Codegeneratoren. Ein Muss, Jacc im Erweiterungsverzeichnis ist ziemlich nett.
  • Erwarten Sie nicht viel Hilfe aus dem Internet, vielleicht bin ich zurückgeblieben, aber es scheint, dass für joomla so viel Cruft online ist, dass es nur eine weitere Zeitverschwendung ist, nützliche Tutorials / Anleitungen / Referenzen zu finden. Lesen Sie diesen Quellcode-Freund.
  • Joomla interessiert sich nicht für Dokumentation für Entwickler, was am Ende leider Sinn macht, da die Codebasis so einfach ist.

Alles in allem sollten Sie Joomla CMS nicht verwenden, wenn Sie bereits mit Tools höherer Ordnung vertraut sind. Andernfalls werden Sie möglicherweise selbstmordgefährdet und haben 10 Stellen, die hoch genug sind, um wie ich von Google Maps gepinnt zu springen.

Ps Joomla 1.6 (1.7) verbessert viele dieser Mängel, aber es spielt keine Rolle, da die Migration von Client-Webshops (VMs) auf 1.7 ein Wunschtraum ist, egal wie viel ich bitte.


4

Meine Meinung zu Joomla:

  • Es ist eher ein Point-and-Click-CMS für Personen mit wenig technischem Wissen / Erfahrung.
  • Da es sich um ein Point-and-Click-Produkt handelt, ist mehr Aufwand erforderlich, um diese Funktionalität zu erreichen (ich finde es langsam - auch wenn das Caching aktiviert ist).
  • Da es ziemlich groß ist, dauert es länger, Änderungen oder Ergänzungen vorzunehmen, als sie sollten.
  • Versteh mich nicht falsch, es gibt einige großartige Plugins / Module für Joomla, aber es gibt eine Menge, die nicht richtig funktionieren oder versuchen, auf halbem Weg zu viele Dinge zu tun.
  • Muss ständig gepatcht werden. Ich erinnere mich, dass einmal an einem Montag ein Hack entdeckt wurde, am nächsten Tag ein Patch herauskam und am Mittwoch eine unserer Kundenseiten gehackt wurde. Selbst wenn wir beim Kunden eine Upgrade- / Patch-Richtlinie eingeführt hätten, wenn wir einmal pro Woche Patches durchgeführt hätten (falls erforderlich) und diese jede Woche donnerstags durchgeführt worden wären, wären wir in diesem Fall zu spät gekommen. Außerdem kann die Anzahl der Patches und die Anzahl der Clients sehr zeitaufwändig sein.
  • Jeder, der schreiben kann, echo 'hello world';nennt sich heutzutage einen PHP-Programmierer. Joomla ist eine Möglichkeit für Nicht-Techniker, mit geringem Aufwand anständig aussehende Websites zu erstellen (Zeigen und Klicken, denken Sie daran).

Für ein langfristiges Projekt würde ich empfehlen:

  • Verwenden eines Frameworks, um Ihnen die grundlegenden Funktionen zu geben (wie CodeIgniter )
  • Halten Sie Ihre Codebasis schlank, da es schwierig ist, frühzeitig zu viel Aufblähen zu vermeiden.
  • Die Verwendung eines Frameworks erleichtert auch das Ändern der Richtung oder das Vornehmen von Anpassungen (wenn es kein Plugin für Joomla gibt, das nicht bereits das tut, was Sie möchten, müssen Sie es erstellen).
  • Sobald Sie die Grundlagen des Frameworks kennen, kennen Sie Ihren Code in- und auswendig. Das Hinzufügen, Ändern und Ändern ist viel einfacher und nimmt viel weniger Zeit in Anspruch.
  • Vermeiden Sie Joomla. Besonders für langfristige Projekte habe ich festgestellt, dass es viel Zeit kostet.

Nur meine zwei Cent. Ich hoffe es hilft.


0

AFAIK Joomla ist ein CMS . Im Grunde konkurriert es also mit anderen CMS wie Drupal und Wordpress. Während Yii und Kohana Frameworks sind, in denen Sie Optionen wie Zend haben, auch Code-Ignighter. Nach meinem Verständnis ist ein CMS eine Anwendung mit einer Reihe von APIs und Erweiterungen zur Verwaltung des Webinhalts, während ein Framework eine Codebasis ist, die an unsere Anforderungen angepasst werden kann, um eine Webanwendung zu erstellen. Sie können also ein CMS mit einem Framework erstellen. Ich würde empfehlen, für die Anwendungsentwicklung eher ein Framework als ein CMS zu verwenden. Ich glaube, mit dem Frameworks-Ansatz können Sie in Methoden wie MVC eintauchen und Optionen für Datenbanken und Vorlagen erhalten.

PS Das ist nur mein Verständnis. Ich habe gehört, dass Drupal und Joomla sowohl erweiterbar als auch optimierbar sind, aber ich habe sie nicht verwendet. Vor einigen Monaten hatte ich mich mit Yii befasst und es scheint sehr gut dokumentiert und leicht zu erlernen.


0

Warum Joomla? Es ist ein CMS. Wenn Sie die Anforderungen Ihres Projekts mit den Modulen usw. abdecken können, die von einem der wichtigsten CMS angeboten werden, ist dies großartig. Die nächste Frage lautet: Können Sie den Code bei Bedarf ändern, um ihn zu ändern? Was CMS-Systeme angeht, schauen Sie sich um und sehen Sie, was andere mit Joomla konkurrieren.


0

Wenn Sie besser verstehen möchten, wie die verschiedenen Frameworks funktionieren, können Sie Ihre eigenen Frameworks entwickeln. Davon abgesehen gibt es nur so viele Möglichkeiten, ein Rad herzustellen. Wie sehr möchten Sie also neu erfinden, was bereits getan wurde?

Ich persönlich habe meine eigene entwickelt, einfach weil ich nicht alle zusätzlichen Funktionen wie Wordpress oder Drupal benötigte. Abgesehen davon wird mein "CMS" nicht viel an mir vorbei skalieren, also bin ich in Schwierigkeiten, wenn ich möchte, dass andere Leute dazu beitragen.

Meine persönliche Meinung ist, ein Framework wie CakePHP, CodeIgnitor, Modx usw. zu verwenden, um Ihr eigenes CMS zu entwickeln, und dann vielleicht auf etwas wie Joomla zu migrieren, obwohl Sie bis dahin wahrscheinlich nicht mehr wollen ...

HTH.


0

Ich benutze Joomla seit 4 Jahren. Ich habe es als Framework verwendet, um verschiedene Arten von Websites zu entwickeln. Es ist nichts Falsches daran, Joomla zu benutzen. Es verfügt über Erweiterungen zum Erstellen einer Sandbox für benutzerdefinierte Erweiterungen und reduziert viel Zeit. Zahlreiche Erweiterungen stehen bereits kostenlos zur Verfügung. Und Sie können in kürzester Zeit Ihre eigenen erstellen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.