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 einmal programmiert wurde, ist es möglich geworden, mit automatisierten Abläufen, Grundgerüste, Frameworks für die Programmierung von Extensions zu verwenden. Auch andere Arbeitsschritte, wie die Abfrage von Datenbanken, die Darstellung von Datensätzen usw. lassen sich automatisieren.

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 ein Grundgerüst für eine Joomla Extension schreibt, nein, es ist eine hochwertige Software für den anspruchsvollen Programmierer.

Es geht um JCB, es ist eine der besten Entwicklungsumgebungen, wenn es um Joomla Komponenten-Programmierung gehen soll. JCB lässt sich in jedem Joomla installieren und der Funktionsumfang ist mittlerweile mächtig, es ist meiner Meinung nach, das beste Tool für die Entwicklung von Joomla Komponenten und ich erwähne nur nebenbei, dass die beiden Online Joomla Komponenten Generatoren nie an den Funktionsumfang von JCB herankommen.

Es ist natürlich erforderlich, dass man gute Vorkenntnisse bezüglich der Joomla Programmierung bereits schon mitbringt. Denn ohne zuwissen, wie zum Beispiel das MVC Joomla Framework funktioniert, also wie das Modell View Controller Framework von Joomla funktioniert, wird man nicht weit kommen, ich meine, die Einstiegsschwelle ist realtiv hoch. Dafür wird man aber aussergewöhnlich belont, wenn man sich dieses aneignet. Und man kann sich gut darin einarbeiten mit etwas Zeit und Geduld. Der Hersteller stellt viele Tutorials für den Umgang mit der Anwendung auf Youtube unter Joomla-Mount zur Verfügung. Leider ist alles in Englisch gehalten, was sicher nachteilig ist, für nur deutsch Sprechende. Er zeigt fast keine Step by Step Anleitungen, sondern kommentiert an Hand von hochwertigen Extensions, die als Vorlage dienen aber bereits im Live-Einsatz stehen, die Funktionsweise auf, er erklärt den Ablauf eines Vorganges, um die Zusammenhänge vertieft zu erlernen. Es gibt unter den Tutorials auch wenige Step by Step Anleitungen, die man durcharbeiten sollte, danach wird nur noch mittels Dokumentation gelernt.

Da JCB mit vielen Komponenten in nicht kompilierter Form ausgeliefert wird, oder auch in der Kommunity zur Verfügung gestellt werden, kann man nachvollziehen, wie etwas programmiert und aufgebaut ist. Der Aufbau ist schnell einmal verstanden, man legt für eine View die Felder an, welche man dann zum Beispiel in einer "Administratoren Ansicht" verwenden kann, um danach eine Extension neu zu erstellen und schlussendlich zu kompilieren. Selbstverständlich sind sämtliche Joomla Standard Funktionen per Klick 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, diese lassen sich leicht einbinden.

In der professionelle Anwendung hat man viele Snippets bereits schor zur Verfügung, die dann leicht eingearbeitet werden können. JCB unterstützt selbstverständlich alle Joomla Standard Felder aber auch Custom Fields sind möglich und ebenfalls ablegen kann man eigene Felder, um diese immer wieder zu verwenden. Das Selbe gilt für Custom Code, der mit Platzhaltern 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 kommentiert ist. Ein "Backend" für den Administrator, 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" die Frontansicht generiert, sondern man muss die Frontansicht selbst einarbeiten. Das heisst aber nicht, dass einem das Tool nicht helfen würde auch da der Entwickler ein sehr durchdachtes Konzept bereitgestellt. Es werdem damit benutzerfreundliche Webansichten für die Front erstellt. Die Software unterstützt einem in dieser Arbeit auserordentlich gut. 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 bald 20 Jahre MOS, Mambo dann Joomla zusammengekommen. JCB ist eine echte Entwicklungsumgebung, eine IDE für höchste Ansprüche, etwas, für den ambitionierten Programmierer, der hochprofessionelle 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 70 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. Ich mache das immer wieder, je nach dem, manchmal, wenn ich Fragen habe oder einfach auch einmal zwischendurch oder wenn wieder praktische neue Funktionen in JCB zur Verfügung gestellt werden. Gegen Bezahlung kann man von JCB Hersteller eine grosse Gegenleistung erfahren, gerade spezielle Anfragen beantwortet er äusserst geduldig und vollständig und das bezahle ich dann auch. Wenn ich einen Kurs besuche, kostet der auch. Man lernt ja nicht nur die Extension kennen, man erlernt die Progreammierung von professionellen Joomla Extensions und somit lernt man auch Joomla sehr vertieft kennen.

Ich bin wirklich Fan geworden, JCB ist absoluter Hammer. 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 etwas leichterer Einstieg, das ist etwas was ich vermisse. Die andere Seite ist die, dass wenn man es so erlernt, wie in den Videos angegeben, dass man auf diese Weise viel Eigeninitiative mitbringen muss und somit flexibler wird im Umgang mit der Extension, da man die Zusammenhänge mehr verstehen lernt.

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.

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