Deel dit artikel:

Blog
Aug 22, 20234 min read

De websites van de luchthavens van Varna en Burgas gebruiken React-componenten in Drupal

De websites van de luchthavens van Varna en Burgas gebruiken React-componenten in Drupal

Hoe hebben we uiteindelijk React nodig gekregen?

Bij Bulcode zijn we allemaal ♥ Drupal, maar toen we voor het eerst de ondersteuning van de websites van de luchthavens Varna en Burgas overnamen, erfden we Drupal 8-systemen die waren gemaakt op een manier die niet zo Drupal was. Daarom was de migratie/herontwikkeling van Drupal 9 de eerste horde. Ter referentie kun je dit artikel bekijken waarin de voordelen van migratie worden uitgelegd, evenals de kosten van niets doen als je nog steeds een upgrade (migratie) overweegt.

Wat maakt het precies een uitdaging? De migratie (of upgrade) van Drupal 8 naar Drupal 9 is volgens alle informatiebronnen een grotendeels geautomatiseerd proces. Dit is niet altijd het geval bij de meeste websites, vooral als ze verouderd zijn met de meest recente core en module contrib versies van Drupal 8, dus bij Bulcode presenteren we het altijd aan klanten als een klein eigen project.

De erfenis die we kregen voor luchthavenschema's was de drijvende kracht achter onze beslissing om React te gebruiken. Er was veel handmatig werk nodig, net als het maken en uploaden van CSV-bestanden, wat af en toe storingen veroorzaakte. Het was een moeizaam proces dat een paar keer per dag plaatsvond. Dit moest zo snel mogelijk worden opgelost.

Dus, wat was onze aanpak? Met specifieke caching en React componenten voor de frontend, zijn API-gestuurde planningen snel en on-the-fly.

Waarom Drupal en React? Drupal is een contentmanagementsysteem met een robuuste API voor webservices, en React is een eenvoudige manier om interactieve gebruikersinterfaces te bouwen. De combinatie van React en Drupal werkt op een aantal manieren goed. Sites met Drupal kunnen echter nog steeds gebruik maken van React voor het ontwikkelen van componenten. Deze methode wordt "progressieve ontkoppeling" genoemd.

Laten we nu eens kijken hoe het wordt gebruikt!

React toevoegen aan onze componenten: onze ervaring

Om te beginnen moeten we alle vereiste afhankelijkheden downloaden en installeren:
yarn add react react-dom webpack webpack-cli @babel/cli @babel/core @babel/preset-env @babel/preset-react babel-loader webpack webpack-cli

Houd er rekening mee dat we hier niet ingaan op de specifieke werking van elke module of welke modules moeten worden toegevoegd als devpendencies. Als je de packages pagina gebruikt, kun je dit zien.

Laten we nu onze package.json scripts sectie instellen:

package json scripts

Het is een goed idee om aparte dev en productie webpack configuraties te hebben, dus houd hier rekening mee bij het maken van je eigen bestanden.

Voeg een eenvoudige webpack.config.js toe aan de mix. React Hot Reloader met Webpack Server, wat CSS, SASS en bestandsladers, evenals extra plugins zoals ESLint en minifiers zijn waarschijnlijk nodig in je werk. We zullen hier niet verder op ingaan omdat het een kwestie van persoonlijke voorkeur is.

webpack config

Laten we onze babel-configuratie niet vergeten. Dit kan worden gedaan met package.json of .babelrc.

babel config

We komen steeds dichterbij. In onze dist map vinden we een app.bundle.js die we kunnen gebruiken als bibliotheek in ons thema wanneer onze build scripts worden uitgevoerd. Voor het gemak willen we deze toevoegen aan de hele app. Merk op dat de prestaties van je applicatie in het gedrang kunnen komen als je React alleen nodig hebt voor een paar componenten verspreid over willekeurige pagina's.

app bundle js

We zijn klaar om aan de slag te gaan met ons eigenlijke react component. De mogelijkheden zijn eindeloos in dit gedeelte.

src/index.jsx

react component

Tot slot voegen we de markup toe die nodig is om ons React-component weer te geven. Het is nu aan jou om het te plaatsen waar je wilt!

html

En voilà, we hebben React met succes geïntegreerd in ons Drupal-project.

 

Fraport Bulgarije
"De individuele benadering, tijdige leveringen en nauwkeurige documentatie van de ontwikkelingen zijn een klein deel van de redenen om de actieve samenwerking met Bulcode 2016 Ltd. voort te zetten. Het is ons voorrecht en plicht om het team van Bulcode 2016 Ltd. aan te bevelen als uiterst competent, betrouwbaar en verantwoordelijk in de uitvoering van de verplichtingen."

ABONNEER U OP ONZE NIEUWSBRIEF

Deel dit artikel:

ABONNEER U OP ONZE NIEUWSBRIEF

Verwante Blog Artikelen

    Waarom startups aarzelen om te werken met een softwareontwikkelingsbureau op maat - en hoe we elke zorg aanpakken

    Blog

    Waarom startups aarzelen om te werken met een softwareontwikkelingsbureau op maat - en hoe we elke zorg aanpakken

    <p>Startups aarzelen vaak om met softwarebureaus te werken omdat ze zich zorgen maken over kosten, controle en flexibiliteit. Ontdek hoe de softwareoplossingen op maat van Bulcode elke uitdaging aangaan en groei en flexibiliteit garanderen.</p>

    Geschreven door Svetoslava Angelova
    Nov 05, 20246 min read
    Bouwen aan een goed presterend Agile team: Onze bewezen aanpak

    Blog

    Bouwen aan een goed presterend Agile team: Onze bewezen aanpak

    Ontdek hoe we goed presterende Agile-teams bouwen door duidelijke rollen te definiëren, samenwerking te stimuleren en flexibele tools te gebruiken.

    Geschreven door Svetoslava Angelova
    Aug 27, 20249 min read
    Drupal 11: Wat kunt u verwachten? Uitgebreide gids voor nieuwe functies en verbeteringen

    Blog

    Drupal 11: Wat kunt u verwachten? Uitgebreide gids voor nieuwe functies en verbeteringen

    Drupal 11 is uit! Ontdek in dit artikel de spannende functies en verbeteringen. Upgrade nu en herdefinieer je digitale strategie met de deskundige ondersteuning van Bulcode.

    Geschreven door Svetoslava Angelova
    Aug 05, 20247 min read
    Single Directory-onderdelen in Drupal core: Een uitgebreid overzicht

    Blog

    Single Directory-onderdelen in Drupal core: Een uitgebreid overzicht

    Ontdek hoe Single Directory Components (SDC) in Drupal Core het ontwikkelproces stroomlijnen door componentgerelateerde bestanden in een enkele map in te kapselen. Leer meer over de voordelen van SDC's en volg een stap-voor-stap handleiding om ze te implementeren in uw Drupal-projecten.

    Geschreven door Nikolay Tsekov
    Aug 07, 20244 min read
    Scrum evenementen

    Blog

    Scrum evenementen

    Scrum definieert verschillende gebeurtenissen (soms ceremonies genoemd) die binnen elke sprint plaatsvinden: sprintplanning, dagelijkse scrum, sprint review en sprint retrospective.

    Geschreven door Svetoslava Angelova
    Aug 22, 20233 min read
    Scrum artefacten

    Blog

    Scrum artefacten

    Bij softwareontwikkeling verwijst de term "artefact" naar informatie die belanghebbenden en het scrumteam gebruiken om een product te beschrijven dat wordt ontwikkeld.

    Geschreven door Svetoslava Angelova
    Aug 22, 20232 min read
    Drupal zonder kop met Next.js - eenvoudig voorbeeld

    Blog

    Drupal zonder kop met Next.js - eenvoudig voorbeeld

    De laatste tijd is de trend in webontwikkeling in het algemeen, en dus ook in Drupal-ontwikkeling, om de technologie headless te gebruiken. De laatste tijd is de trend in webontwikkeling in het algemeen, en dus ook in Drupal-ontwikkeling, om de technologie headless te gebruiken.

    Geschreven door Mihail Shahov
    Aug 22, 20237 min read
    Speciale softwareontwikkelaars (teams) inhuren

    Blog

    Speciale softwareontwikkelaars (teams) inhuren

    Bent u het zat om de kosten te verhogen met uw interne ontwikkelteam? Waarom krijgt u geen toegewijd team tegen 40% tot 60% van de kosten?

    Geschreven door Mihail Shahov
    Aug 22, 20233 min read
    Het belang van de juiste ontwikkelingspartner in de levenscyclus van uw softwareontwikkeling

    Blog

    Het belang van de juiste ontwikkelingspartner in de levenscyclus van uw softwareontwikkeling

    Succes ontsluiten: De kunst van het kiezen van de perfecte softwareontwikkelingspartner. Ontdek de cruciale rol van partners in softwareontwikkeling, onthul ROI-geheimen en blijf de trends in de sector voor in dit must-read artikel.

    Geschreven door Mihail Shahov
    Sep 26, 20239 min read
    Config split module tutorial voor Drupal

    Blog

    Config split module tutorial voor Drupal

    Heel vaak moeten wij als ontwikkelaars met verschillende omgevingen werken. Dit kan soms leiden tot (on)verwachte problemen. In Drupal 8 gebruiken we het configuratiesysteem dat aardig goed werkt, maar er zijn gevallen waarin de instellingen voor de lokale en een andere omgeving anders zouden moeten zijn.

    Geschreven door Ivaylo Tsandev
    Aug 22, 20237 min read
    Onthulling van het krachtduo: Next.js als Headless frontend van Drupal 10

    Blog

    Onthulling van het krachtduo: Next.js als Headless frontend van Drupal 10

    Ontdek de dynamische synergie tussen Drupal 10 en Next.js, want deze krachtige combinatie verandert het landschap van webontwikkeling. Next.js, een open-source op React gebaseerd framework, is naadloos geïntegreerd als headless frontend van Drupal 10 en biedt een overvloed aan voordelen. Van verbeterde prestaties met functies als automatische codesplitsing en server-side rendering tot flexibel ontwerp en SEO-vriendelijke mogelijkheden, deze samenwerking stelt ontwikkelaars in staat om goed presterende, schaalbare en visueel aantrekkelijke webapplicaties te maken. Het efficiënte contentbeheer van Drupal 10 in combinatie met het aanpassingsvermogen van Next.js aan trends zorgt voor een geavanceerde ontwikkelaanpak, waardoor deze tandem in de voorhoede van moderne webontwikkelpraktijken staat. Omarm de toekomst met de combinatie van Drupal 10 en Next.js en herdefinieer hoe we dynamische online ervaringen benaderen en creëren.

    Geschreven door Todor Kolev
    Feb 09, 20245 min read
    Config ignore module tutorial voor Drupal

    Blog

    Config ignore module tutorial voor Drupal

    Soms willen we niet dat onze configuraties worden gedeeld in de codebase. Wat kunnen we in zulke gevallen doen?

    Geschreven door Ivaylo Tsandev
    Aug 22, 20237 min read

    NEEM CONTACT OP

    Heb je een project dat je wilt lanceren?