Teilen Sie diesen Artikel:

Blog
Aug 08, 20234 min read

Die Websites der Flughäfen Varna und Burgas verwenden React-Komponenten in Drupal

Die Websites der Flughäfen Varna und Burgas verwenden React-Komponenten in Drupal

Warum brauchen wir eigentlich React?

Wir alle bei Bulcode lieben Drupal, aber als wir zum ersten Mal die Betreuung der Websites der Flughäfen Varna und Burgas übernahmen, erbten wir Drupal 8-Systeme, die auf eine Weise erstellt worden waren, die nicht so sehr Drupal entsprach. Folglich war die Migration / Neuentwicklung von Drupal 9 die erste Hürde. Als Referenz können Sie diesen Artikel lesen, der die Vorteile der Migration sowie die Kosten des Nichtstuns erläutert, falls Sie noch über ein Upgrade (Migration) nachdenken.

Was genau macht es zu einer Herausforderung? Die Migration (oder das Upgrade) von Drupal 8 auf Drupal 9 ist allen Informationsquellen zufolge ein weitgehend automatisierter Prozess. Das ist bei den meisten Websites nicht immer der Fall, vor allem, wenn sie mit den neuesten Kern- und Modulversionen von Drupal 8 veraltet sind, weshalb wir bei Bulcode dies unseren Kunden immer als ein eigenes kleines Projekt präsentieren.

Das Erbe, das wir für Flughafenpläne erhielten, war die treibende Kraft hinter unserer Entscheidung, React zu verwenden. Es war viel manuelle Arbeit erforderlich, ebenso wie das Erstellen und Hochladen von CSV-Dateien, was gelegentlich zu Ausfällen führte. Es war ein mühsamer Prozess, der einige Male am Tag stattfand. Das war etwas, das so schnell wie möglich behoben werden musste.

Was war also unser Ansatz? Mit spezifischem Caching und React-Komponenten für das Frontend sind API-gesteuerte Zeitpläne schnell und on-the-fly.

Warum Drupal und React? Drupal ist ein Content-Management-System mit einer robusten API für Webdienste, und React ist eine einfache Möglichkeit, interaktive Benutzeroberflächen zu erstellen. Die Kombination von React und Drupal funktioniert in vielerlei Hinsicht gut. Drupal-basierte Websites können jedoch auch React für die Entwicklung von Komponenten nutzen. Diese Methode wird als "progressive Entkopplung" bezeichnet.

Jetzt wollen wir sehen, wie sie eingesetzt wird!

Hinzufügen von React zu unseren Komponenten: unsere Erfahrungen

Zu Beginn müssen wir alle erforderlichen Abhängigkeiten herunterladen und installieren:
yarn add react react-dom webpack webpack-cli @babel/cli @babel/core @babel/preset-env @babel/preset-react babel-loader webpack webpack-cli

Bitte beachten Sie, dass wir hier nicht auf die Einzelheiten der Funktionsweise der einzelnen Module eingehen und auch nicht darauf, welche Module als Entwicklungsabhängigkeiten hinzugefügt werden sollten. Auf der Paketseite können Sie dies sehen.

Richten wir nun den Abschnitt package.json scripts ein:

package json scripts

Getrennte Entwicklungs- und Produktions-Webpack-Konfigurationen sind eine gute Idee, also denken Sie daran, wenn Sie Ihre eigenen Dateien erstellen.

Fügen Sie der Mischung eine einfache webpack.config.js hinzu. React Hot Reloader mit Webpack Server, einige CSS-, SASS- und File-Loader sowie zusätzliche Plugins wie ESLint und Minifier werden wahrscheinlich für Ihre Arbeit benötigt. Wir werden hier nicht näher darauf eingehen, da dies eine Frage der persönlichen Vorlieben ist.

webpack config

Vergessen wir nicht unsere Babel-Konfigurationen. Dies kann über package.json oder .babelrc erfolgen.

babel config

Wir kommen der Sache immer näher. In unserem dist-Ordner finden wir eine app.bundle.js, die wir als Bibliothek in unserem Thema verwenden können, wenn unsere Build-Skripte ausgeführt werden. Um die Implementierung zu vereinfachen, möchten wir sie der gesamten Anwendung hinzufügen. Beachten Sie, dass die Leistung Ihrer Anwendung beeinträchtigt werden kann, wenn Sie React nur für einige wenige Komponenten benötigen, die über beliebige Seiten verstreut sind.

app bundle js

Wir sind bereit, mit unserer eigentlichen React-Komponente zu beginnen. In diesem Abschnitt sind uns keine Grenzen gesetzt.

src/index.jsx

react component

Zum Schluss fügen wir das Markup hinzu, das für die Anzeige unserer React-Komponente erforderlich ist. Jetzt liegt es an Ihnen, sie dort zu platzieren, wo Sie wollen!

html

Und voilà, wir haben React erfolgreich in unser Drupal-Projekt integriert.

 

Fraport Bulgaria
"Die individuelle Herangehensweise, die pünktlichen Lieferungen und die präzise Dokumentation der Entwicklungen sind ein kleiner Teil der Gründe für die Fortsetzung der aktiven Partnerschaft mit Bulcode 2016 Ltd. Es ist unser Privileg und unsere Verpflichtung, das Team von Bulcode 2016 Ltd. als äußerst kompetent, zuverlässig und verantwortungsbewusst bei der Umsetzung der Verpflichtungen zu empfehlen."

ABONNIEREN SIE UNSEREN NEWSLETTER

Teilen Sie diesen Artikel:

ABONNIEREN SIE UNSEREN NEWSLETTER

Verwandte Blog-Artikel

    Aufbau eines hochleistungsfähigen agilen Teams: Unser bewährter Ansatz

    Blog

    Aufbau eines hochleistungsfähigen agilen Teams: Unser bewährter Ansatz

    Erfahren Sie, wie wir leistungsstarke agile Teams aufbauen, indem wir klare Rollen definieren, die Zusammenarbeit fördern und flexible Tools einsetzen.

    Geschrieben von Svetoslava Angelova
    Aug 27, 20249 min read
    Drupal 11: Was ist zu erwarten? Umfassender Leitfaden zu neuen Funktionen und Erweiterungen

    Blog

    Drupal 11: Was ist zu erwarten? Umfassender Leitfaden zu neuen Funktionen und Erweiterungen

    Drupal 11 ist da! Entdecken Sie in diesem Artikel die spannenden Funktionen und Verbesserungen. Führen Sie jetzt ein Upgrade durch, um Ihre digitale Strategie mit dem Experten-Support von Bulcode neu zu definieren.

    Geschrieben von Svetoslava Angelova
    Aug 05, 20247 min read
    Einzelne Verzeichniskomponenten in Drupal core: Ein umfassender Überblick

    Blog

    Einzelne Verzeichniskomponenten in Drupal core: Ein umfassender Überblick

    Erfahren Sie, wie Single Directory Components (SDC) in Drupal Core den Entwicklungsprozess rationalisieren, indem komponentenbezogene Dateien in einem einzigen Verzeichnis gekapselt werden. Erfahren Sie mehr über die Vorteile von SDCs und folgen Sie einer Schritt-für-Schritt-Anleitung, um sie in Ihren Drupal-Projekten zu implementieren.

    Geschrieben von Nikolay Tsekov
    Aug 07, 20244 min read
    Was ist Agile und warum verwenden wir es?

    Blog

    Was ist Agile und warum verwenden wir es?

    Agile ist eine zeitlich begrenzte, iterative Methode zur Softwarebereitstellung, die darauf abzielt, die Software schrittweise während des Projekts bereitzustellen und nicht alles auf einmal gegen Ende.

    Geschrieben von Svetoslava Angelova
    Aug 08, 20234 min read
    NVM vs NPM vs Yarn

    Blog

    NVM vs NPM vs Yarn

    Im Vergleich zu den drei Technologien unterscheidet sich der NVM von den beiden anderen. Der Node Version Manager (NVM) wird zur Verwaltung von Node.js-Versionen verwendet. NPM und Yarn sind Node.js-Paketmanager. Sie ermöglichen das Herunterladen, Installieren und Verwalten von Paketen bei der Entwicklung in JavaScript.

    Geschrieben von Ventsislav Venkov
    Aug 07, 20235 min read
    Welches Modell der IT-Verpflichtung passt am besten zu Ihnen?

    Blog

    Welches Modell der IT-Verpflichtung passt am besten zu Ihnen?

    Festpreis, Zeit und Material oder engagierte Teams? Wägen Sie sorgfältig alle Vor- und Nachteile des Auftragsmodells für Ihr Projekt ab.

    Geschrieben von Svetoslava Angelova
    Aug 07, 202310 min read
    Laravel Mix - ein einfacher und leistungsstarker Wrapper um Webpack

    Blog

    Laravel Mix - ein einfacher und leistungsstarker Wrapper um Webpack

    Laravel Mix bietet eine fließende API für die Definition von Webpack-Build-Schritten für Ihre Laravel-Anwendung unter Verwendung mehrerer gängiger CSS- und JavaScript-Präprozessoren.

    Geschrieben von Stefani Tashkova
    Aug 07, 20234 min read
    Was ist Scrum?

    Blog

    Was ist Scrum?

    Scrum ist ein Teil der agilen Methodik. Es ist das beliebteste Framework für agile Entwicklung und ein einfaches Prozess-Framework.

    Geschrieben von Svetoslava Angelova
    Aug 08, 20234 min read
    Rollen in Scrum

    Blog

    Rollen in Scrum

    Scrum-Rollen und wie Sie sie in Ihre Organisation integrieren können.

    Geschrieben von Svetoslava Angelova
    Aug 07, 20234 min read
    SCRUM-EVENTS

    Blog

    SCRUM-EVENTS

    Scrum definiert mehrere Ereignisse (manchmal auch Zeremonien genannt), die in jedem Sprint stattfinden: Sprint Planning, Daily Scrum, Sprint Review und Sprint Retrospective.

    Geschrieben von Svetoslava Angelova
    Aug 07, 20233 min read
    Scrum-Artefakte

    Blog

    Scrum-Artefakte

    In der Softwareentwicklung bezieht sich der Begriff "Artefakt" auf Informationen, die Stakeholder und das Scrum-Team verwenden, um ein in der Entwicklung befindliches Produkt zu beschreiben.

    Geschrieben von Svetoslava Angelova
    Aug 07, 20232 min read
    Kopfloses Drupal mit Next.js - einfaches Beispiel für einen Durchgang

    Blog

    Kopfloses Drupal mit Next.js - einfaches Beispiel für einen Durchgang

    Der Trend in letzter Zeit, in der Web-Entwicklung im Allgemeinen, und folglich in der Drupal-Entwicklung ist die Verwendung der Technologie headless. Der Trend in letzter Zeit, in der Web-Entwicklung im Allgemeinen, und folglich in Drupal-Entwicklung ist die Technologie zu verwenden, headless.

    Geschrieben von Mihail Shahov
    Aug 07, 20237 min read

    KONTAKT AUFNEHMEN

    Sie haben ein Projekt, das Sie gerne starten würden?