Logo Joomlainfo

Joomlainfo News & Infos

Wissenswertes rund um das Content Management

Hier könnte deine Werbung stehen! So wie das hier:

Gedanken zu Bootstrap von Angie Radtke

f7abac252ae5ed68121b92ba7a669d87

Seit Joomla 3.x ist die umfangreiche Bootstrap-Bibliothek mit an Bord. Seit gut einem Jahr konnten Nutzer, Templateschmieden und Entwickler Erfahrungen damit sammeln.

Wie bei allen Tools gibt es Vor- und Nachteile. Angie Radtke, „Erschafferin“ des Joomla Beez Template hat in ihrem Blog ein paar gute Denkanstösse für eine Diskussion geliefert.

Nachfolgend eine Übersetzung ihres Blog-Beitrags auf Deutsch:

Der Einsatz von Frameworks kann in vielen Fällen ein grosser Vorteil für die Entwicklung von Web-Anwendungen sein. Man braucht das Rad nicht neu zu erfinden und man kann leicht auf eine breite Palette von bewährten Funktionalitäten zugreifen. Dies reduziert innerhalb eines Projekts die Entwicklungszeit erheblich. 
Um ein breites Spektrum von Anwendungsfällen abzudecken, müssen die Frameworks in der Regel so viel Arbeiten wie möglich erledigen. Aber sie sind nicht in der Lage, für alle möglichen Probleme auch Lösungen zu bieten.

Die laufend gestiegene Komplexität von CSS und HTML macht es den PHP-Entwicklern nicht einfach, die ganze Sachen perfekt zu steuern. Das wäre eigentlich ein Job für sich. Aus diesem Grund war es naheliegend, den Joomla-Erweiterungen Entwickler ohne CSS-Kenntnisse ein Toolkit in die Hand zu geben, um das Aussehen ihrer Komponenten im Backend und Frontend zu steuern.

Joomla hat sich hierbei für das Bootstrap Framework entschieden. Verschiedene vordefinierte CSS-Klassen steuern und stylen hier die Ausgabe der Inhalte. In den letzten Jahren kam zu einer enormen Modernisierung von HTML und CSS. Es war eine rasante Entwicklung und ich glaube, dass sich dies auch in Zukunft so fortsetzen wird. Es ist eine Tatsache, dass die Eigenheiten von HTML und CSS den Einsatz eines CSS-Frameworks innerhalb eines CMS problematisch machen. Die grundlegende Idee beim Einsatz von HTML und CSS ist, dass die Gestaltung (Layout) und die Inhalte voneinander zu trennen ist. Der grosse Vorteil von CSS ist, dass man das gesamte Styling mit dem gleichen Markup geändert werden kann. Dies bedeutet, dass man bei einem visuellen Relaunch nur die entsprechende CSS Datei bearbeiten und nicht den HTML-Code verändern muss. Dies ist aber nur auf der Grundlage eines wirklich gut durchdachten Markups möglich.

Allerdings geht der Ansatz von Bootstrap oder eines anderen CSS-Frameworks in eine ganz andere Richtung. Nicht das CSS wird angepasst. Sondern das Markup muss einer vorgegebenen Struktur folgen und muss vordefinierte Klassen verwenden, um das Design zu steuern. Bootstrap bietet viele interessante JS-Funktionalitäten mit vielen netten Effekten. Diese werden entweder durch Klassen oder Data-Attribute gesteuert. Wirklich cool. Aber ein CMS bietet im Backend wie auch im Frontend eine Vielzahl von Ansichten. D.h. der HTML-Code muss jedes mal angepasst werden, wenn im CSS-Framework eine Anpassung des Codes gemacht wurde.

Könnte man das Gewicht von HTML- und CSS-Dateien wiegen, würde die Waage deutlich in Richtung HTML ausschlagen. Das bedeutet, es hat viel mehr HTML-Code als CSS Code. Aber es wäre definitiv einfacher, statt den HTML-Code den CSS-Code zu ändern.

Die in Joomla aktuell verwendete Bootstrap-Version ist bereits veraltet und entspricht nicht mehr den neuesten Standards. (Schnelle Entwicklung). Das Markup dahinter ist suboptimal und könnte im Hinblick auf die Einhaltung von Standards, Semantik und Zugänglichkeit deutlich optimiert werden. Die Bootstrap-Jungs haben in vielen Fällen auf die Kritik reagiert und einige Verbesserungen in der neuen Version 3 schon mit eingebaut. Diese Veränderungen sind aber so bedeutend, dass sie in unserem Markup viele Anpassungen zur Folge haben. Auf der anderen Seite führen diese Veränderungen zu dem Ergebnis, dass die Erweiterungen, die mit einer älteren Version arbeiten, nicht mehr funktionieren. Wir sind wirklich in einer Zwickmühle. Wenn wir jetzt alle alten Zöpfe abschneiden, um auf die neue Bootstrap 3 Version setzen, werden wir aufgrund der raschen Entwicklung von HTML und CSS in einem Jahr wieder vor dem gleichen Problem stehen.

Was ist zu tun? Ich denke, dass es am meisten Sinn mach würde, wenn wir ein ganz eigenes Markup (d.h. eigene Klassen & Namen) entwickeln und nur noch eine Verbindung zu Bootstrap (als Option) vorsehen würden. Man könnte so die guten Ideen und Ansätze von Bootstrap verwenden und das Ganze gleichzeitig in Richtung Barrierefreiheit optimieren. Streng genommen haben wir bereits heute schon ein gespaltenes Bootstrap. Zwar bei der RTL CSS-Erweiterungen (Rechtsausrichtung der Inhalte) für die Darstellung im Backend.

Nur auf diese Weise sind wir in der Lage, schnell und effektiv zu reagieren, wenn neue Standards in unserem System implementiert werden müssen. Das Problem der Rückwärtskompatibilität könnte gelöst werden, indem man den Code für eine Weile in zwei verschiedenen Versionen anbietet. Man könnte zwischen dem neuem und alten Markup wählen. Vielleicht könnte die forcierte Nutzung von Jlayouts eine Möglichkeit sein, um dieses Ziel zu erreichen. Ich sprach mit PHPRoberto über dieses Thema und er sagte mir, dass dies eine Option sein könnte. Die Auswahl liesse sich durch ein Plugin steuern.

Sicherlich ist dies viel Arbeit und könnte nur auf der Basis eines gut durchdachten Konzepts funktionieren. Aber es würde uns für die Zukunft sehr viel Zeit und Arbeit ersparen.

Was denkt ihr über die künftige Nutzung des Bootstrap-Frameworks in Joomla? Das Thema kann auch in der Google Entwicklergruppe oder im entsprechenden UX-Forum (engl.) diskutiert werden.

Quelle: Blog „Der Auftritt

Facebook
Twitter
LinkedIn
Pinterest
WhatsApp
Email

Das könnte dich auch interessieren...

Joomla 3.9.26

Joomla 3.9.26 ist da!

Das Joomla! 3.9.26 Update behebt zwei kleinere Sicherheits-Lecks sowie über 30 gemeldete Probleme, die in diesem Release behoben wurden.

Weiterlesen »

Willkommen zurück, wir haben dich vermisst

Bitte anmelden, um alle Inhalte werbefrei lesen zu können.

Diese Website verwendet Cookies, um dir die bestmögliche Nutzung dieser Website zu ermöglichen. Wenn du weiterhin auf dieser Website surfst, akzeptierst du die Verwendung von Cookies. Mehr erfahren