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

    Warum Startups zögern, mit einer Agentur für maßgeschneiderte Softwareentwicklung zusammenzuarbeiten - und wie wir alle Bedenken ausräumen

    Blog

    Warum Startups zögern, mit einer Agentur für maßgeschneiderte Softwareentwicklung zusammenzuarbeiten - und wie wir alle Bedenken ausräumen

    <p>Start-ups zögern oft, mit Softwareagenturen zusammenzuarbeiten, weil sie Bedenken hinsichtlich Kosten, Kontrolle und Flexibilität haben. Entdecken Sie, wie die maßgeschneiderten Softwarelösungen von Bulcode jede Herausforderung meistern und für Wachstum und Flexibilität sorgen.</p>

    Geschrieben von Svetoslava Angelova
    Nov 05, 20246 min read
    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
    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
    Engagierte Softwareentwickler (Teams) anstellen

    Blog

    Engagierte Softwareentwickler (Teams) anstellen

    Sind Sie es leid, die Kosten für Ihr internes Entwicklungsteam zu erhöhen? Warum holen Sie sich nicht ein engagiertes Team zu 40 % bis 60 % der Kosten?

    Geschrieben von Mihail Shahov
    Aug 07, 20233 min read
    Die Bedeutung des richtigen Entwicklungspartners im Lebenszyklus Ihrer Softwareentwicklung

    Blog

    Die Bedeutung des richtigen Entwicklungspartners im Lebenszyklus Ihrer Softwareentwicklung

    Den Erfolg freischalten: Die Kunst der Auswahl des perfekten Softwareentwicklungspartners. Erforschen Sie die zentrale Rolle von Partnern in der Softwareentwicklung, decken Sie ROI-Geheimnisse auf und bleiben Sie den Branchentrends einen Schritt voraus in diesem lesenswerten Artikel.

    Geschrieben von Mihail Shahov
    Sep 26, 20239 min read
    Tutorial zum Modul Config Split für Drupal

    Blog

    Tutorial zum Modul Config Split für Drupal

    Sehr oft müssen wir als Entwickler mit verschiedenen Umgebungen arbeiten. Das kann manchmal zu (un)erwarteten Problemen führen. In Drupal 8 verwenden wir das Konfigurationssystem, das ziemlich gut funktioniert, aber es gibt Fälle, in denen die Einstellungen für die lokale und eine andere Umgebung unterschiedlich sein sollten.

    Geschrieben von Ivaylo Tsandev
    Aug 08, 20237 min read
    Enthüllung des Power-Duos: Next.js als Headless-Frontend von Drupal 10

    Blog

    Enthüllung des Power-Duos: Next.js als Headless-Frontend von Drupal 10

    Entdecken Sie die dynamische Synergie zwischen Drupal 10 und Next.js, da diese leistungsstarke Kombination die Landschaft der Webentwicklung neu gestaltet. Next.js, ein Open-Source-Framework auf React-Basis, ist nahtlos als Headless-Frontend in Drupal 10 integriert und bietet eine Fülle von Vorteilen. Von verbesserter Leistung mit Funktionen wie automatischer Codeaufteilung und serverseitigem Rendering bis hin zu flexiblem Design und SEO-freundlichen Funktionen ermöglicht diese Zusammenarbeit Entwicklern die Erstellung leistungsstarker, skalierbarer und visuell ansprechender Webanwendungen. Die effiziente Inhaltsverwaltung von Drupal 10 in Verbindung mit der Anpassungsfähigkeit von Next.js an Trends gewährleistet einen innovativen Entwicklungsansatz und positioniert dieses Tandem an der Spitze der modernen Webentwicklungspraktiken. Umarmen Sie die Zukunft mit der Kombination aus Drupal 10 und Next.js und definieren Sie neu, wie wir dynamische Online-Erlebnisse angehen und gestalten.

    Geschrieben von Todor Kolev
    Feb 09, 20245 min read
    Tutorial zum Modul Config Ignore für Drupal

    Blog

    Tutorial zum Modul Config Ignore für Drupal

    Manchmal wollen wir nicht, dass unsere Konfigurationen in der Codebasis freigegeben werden. Was können wir also in solchen Fällen tun?

    Geschrieben von Ivaylo Tsandev
    Aug 08, 20237 min read

    KONTAKT AUFNEHMEN

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