pctechnik.ch Herisau

pctechnik.ch Herisau

Joomla Extension entwickeln mit JCB

Die Joomla Komponenten - Entwicklung, erfolgt heute oftmals mit Software, mit sogenannten Komponenten Generatoren. Da heute fast alles schon irgendwann irgendwo von irgend Jemandem programmiert wurde, sollte es doch möglich sein, auf solche Code-Blöcke zu zugreiffen. Mit automatisierten Abläufen, Grundgerüste, Frameworks für die Programmierung zu erstellen, ist heute tatsächlich möglich. JCB ist ein solches Framework, welches erforderliche Grundgerüste die Joomla als Basis verwendet, beinhaltet. Auch andere Arbeitsschritte, wie die Abfrage von Datenbanken, die Darstellung von Datensätzen usw. lassen sich so automatisieren und es muss nicht jede Zeile Code neu geschrieben werden.

Ich gehe in diesem Artikel auf die Extension Programmierung mit einem in Joomla installierbaren Komponenten-, sprich Extension - Generator ein. Ich will aber bereits am Anfang erwähnt haben, dass diese Software mehr ist als ein Generator, es ist nicht ein billiger Automat der das Joomla MVC in einen Ordner kopiert. JCB ist eine hochwertige Software für den anspruchsvollen Programmierer. JCB ist in seiner Logik perfekt aufgebaut.

JCB lässt sich in Joomla installieren und der Funktionsumfang ist mittlerweile mächtig, es ist meiner Meinung nach, das beste Tool für die Entwicklung von Joomla Komponenten. Erwähnen muss man, dass es zwei solche Komponentengeneratoren auf dem Markt gibt, diese Arbeiten aber online, das heisst, dass das was ich generiere, auf einem Fremdsystem liegt.. Dazu kommt noch, dass beide Tools kostenpflichtig sind. Die beiden Online Joomla Komponenten Generatoren kommen aber nie an den Funktionsumfang von JCB heran.

Erforderlich ist, dass man gute Vorkenntnisse bezüglich der Joomla Programmierung bereits schon mitbringt. Denn ohne zu wissen, wie das MVC Joomla Framework funktioniert, also wie das Modell View Controller Framework von Joomla aufgebaut ist, wird man nicht weit kommen, die Einstiegsschwelle ist hoch. Dafür wird man aber aussergewöhnlich belohnt, wenn man sich dieses Wissen aneignet und Zeit mit JCB verbringt. Das Einarbeiten mit viel Zeit und Geduld gelingt gut, dabei wird man von vielen Videos unterstützt, die der Hersteller auf Youtube veröffentlicht hat. Schnell erkennt man, wieviel machbar ist und durch veröffentlichte Beispiel-Extensions mit mächtigem Funktionsumfang, erkennt man bald, wie mächtig die Entwicklungsumgebung ist. Leider ist alles in Englisch gehalten, was sicher nachteilig ist für deutsch Sprechende. Der Hersteller zeigt fast keine Step by Step Anleitungen, sondern kommentiert an Hand von hochwertigen Extensions die als Vorlage dienen, Funktionsweisen auf, er erklärt den Ablauf eines Vorganges, also das Prinzip soll verstanden werden um die Zusammenhänge vertieft zu erlernen.

Da JCB mit vielen Komponenten in nicht kompilierter Form ausgeliefert wird, oder auch in der Community zur Verfügung gestellt werden, kann man nachvollziehen, wie etwas programmiert, aufgebaut ist. Man findet vordefinierte Felder, die immer wieder verwendet werden können, diese kann man in eine View, in eine Ansicht, zum Beispiel in ein Administratoren Backend legen. Selbstverständlich sind sämtliche Joomla Standard Funktionen auswählbar und an vielen Punkten kann man PHP Klassen, Custom Code usw. am gewünschten Ort einfügen, natürlich immer so, wie es vom Joomla Framework her sein muss. Auch an die CSS und Javascript Bibliotheken, wie UIkit, Bootstrap oder FooTable usw. wurde gedacht.

In der professionellen Anwendung hat man viele Snippets bereits zur Verfügung die dann leicht eingearbeitet werden können. JCB unterstützt selbstverständlich alle Joomla Standard Felder aber auch Custom Fields legt man mit dazugehörenden Datenbank-Abfragen zur weiteren Verwendung an. Das Selbe gilt für Custom Code, der mit Platzhaltern wiederholend eingefügt werden kann. Das Datenbank Modell ist ebenfalls mächtig, es ermöglicht, dass man sämtliche Datenbankabfragen zusammenstellen kann und das auf relativ einfache Weise, sofern man versteht was man tut.

JCB generiert einwandfreien Code, der sogar in der Quelle auskommentiert ist. Ein "Backend" für eine Extension, generiert JCB beinahe automatisch, sofern man das will aber der vielen Möglichkeiten wegen und weil diese nicht eingeschränkt werden sollen, wird nicht aus dieser "Admin View" eine Frontansicht generiert, sondern man muss die Frontansicht selbst einarbeiten. Das heisst aber nicht, dass einem das Tool nicht helfen würde auch da hat der Entwickler ein sehr durchdachtes Konzept bereitgestellt. Es werdem damit benutzerfreundliche Webansichten für die Front erstellt. Mit einfachen "Code Snippets" und dem Datenbank Modell, stellt man diese sogenannten Joomla SiteViews zusammen.

Die JCB Extension ist etwas vom Besten, was ich in meiner Joomla Laufbahn gesehen habe (es sind mittlerweile 20 Jahre zusammengekommen, MOS, Mambo und heute heisst es Joomla). JCB ist eine echte Entwicklungsumgebung, eine IDE für höchste Ansprüche, etwas, für den ambitionierten Programmierer, der professionelle Extensions für Joomla entwickeln und vertreiben will. Und weil gerade die Programmierung für Joomla komplex sein kann, ist es natürlich auch anspruchsvoll, also nicht für Leute die meinen, ich mach mal schnell...

Der Entwickler von JCB, arbeitet ununterbrochen an der Extension um sie  weiterzuentwickeln, er reagiert sofort auf Fehler und ist sehr hilfsbereit ist. Sollte es zu nichtlösbaren Problemen kommen, kann man ihn über GitHub oder über sein Ticket-System erreichen. Die über 100 Video Tutorials erschlagen einem fast, sie sind aber nötig, um den Umgang mit JCB zu erlernen und nicht zu letzt, um vollumfänglich zulernen, wie man überhaupt mit Joomla professionell umgeht und wie Joomla in der Basis funktioniert, also der Nebeneffekt ist der, dass man zu einem Joomla Programmierer werden kann durch JCB, wenn der Wille, die Bereitschaft und die Zeit vorhanden ist.

Das ganz verrückte dabei ist sicher, dass JCB frei erhältlich ist, eine solche Grosszügigkeit habe ich noch nie gesehen bei Anwendungen von solch hoher Qualität. Es ist darum absolut wichtig, dass wir, wir die mit diesem Tool arbeiten, den Entwickler finanziell unterstützen, ansonsten wird das ganze doch sehr unfair. Zumindest, wer Extensions programmiert, die mit JCB entwickelt werden und diese verkauft, sollte auch JCB unterstützen. Wenn ich einen Kurs besuche, kostet der auch. Man lernt ja nicht nur die Extension JCB kennen, man erlernt die Progreammierung von professionellen Joomla Extensions und somit lernt man Joomla sehr vertieft kennen. Joomla ist sicher das beste CMS und das mit viel Abstand. Ich meine WP ist dagegen ein Spielzeug.

Das Einzige was ich bemängeln könnte ist, dass die Tutorials mehr auf der Step by Step Basis sein könnten, man hätte so ein leichterer Einstieg, das vermisse ich. Die andere Seite ist die, dass wenn man es durch Eigeninitiative lernt, den Vorteil hat, dass Zusammenhänge besser erkannt werden.

Für den Anfänger empfehle ich zuerst, einen Basiskurs in PHP zu absolvieren. Danach sollte man die Joomla Extension Hello World, die auf der Joomla Website zu finden ist, durch progerammieren. Das ist der ideale Einstieg, um danach mit JCB einzusteigen. Man erlernt so das MVC kennen und alles was damit zusammenhängt. Und es ist wie bei Allem, der Weg nach oben ist weit...

pctechnik.ch Herisau CMS und Ecommerce
Ohne Cookies würden die wenigsten Websites funktionieren. Auch diese Website verwendet Cookies. Was Cookies sind, können Sie unter - Weitere Informationen - nachlesen. Durch das Akzeptieren erklären Sie sich damit einverstanden, dass wir Cookies verwenden.
Weitere Informationen