AI-kodning eller Open Source? Skal du vælge - eller kombinere?

Begge leverer tusindvis af arbejdstimer på minutter. En kombination er tit bedst.

Claude og Drupal. Venner.
I dag skal du lære en ny regel eller to at kende.

Snedkers anden regel om webudvikling <

"Enhver tilstrækkeligt kompliceret webtjeneste indeholder en ad hoc, usikker, skidt specificeret, svært skalérbar, fejlbehæftet og langsom implementation af halvdelen af Drupal Core."

På engelsk:

"Any sufficiently complicated web app contains an ad hoc, insecure, informally-specified, bug-ridden, hardly scalable, slow implementation of half of Drupal Core" (Jep, det er en parafrase af Greenspuns's Tenth Rule.)

Uanset hvad man bygger på nettet, er det som regel bedre at bygge det ovenpå fx. Drupal, end at skulle genopfinde og finpudse (forrygende godt) løste opgaver som

  • Brugerstyring. Drupal kan tage sig af millioner af brugere, give dem snesevis af roller, rettigheder, udveksle dem, bruge OAuth osv. uden den store kamp.
     
  • Elementstyring (asset management). Millioner af billeder, videoer, dokumenter, sikkert filsystem - alt er løst fra fødslen i Drupal. Ekstern lagring på Dropbox, Amazon S3, Rackspace, Google Cloud - kan implementeres med et kamptestet modul. Skift til nye formater som webp og webm kan klares på en fornuftig måde uden at man mister overblikket. For alt har et id og et versions-id i Drupal.
     
  • Hastighedsstyring. Drupals cachesystem er uovertruffent - i hvert fald ekstremt effektivt - og betyder tusinder og atter tusinder af brugere kan serviceres fra billige servere. Her er en nylig sammenligning mellem Wordpresss og Drupal, men vi har før skrevet om det i Headless er hovedløst, statisk er stillestående, app er fab! og Enkelhed er en dyd.
     
  • Strukturstyring. Man får mange værktøjer til styring af struktur bygget ind fra starten. Det er utroligt nyttigt, og noget vi har set nærmere på i Anbefalinger til anmeldelser.
     
  • Kommunikationsstyring. Med Drupal kan man med få klik eksponere sine data via JSON, XML eller hvad man nu ønsker. Man kan også let hive data ind fra API-endpoints uden at skulle opfinde den dybe tallerken igen.
     
  • Foræringer. Sikkerhedskopiering, søgemaskineoptimering, forhåndsviste links, plot data ind på kort. Korrekt håndtering er sjældent længere end en modulinstallation væk. Botterne kan godt lave alle disse moduler. Men i mangelfulde, usikre udgaver.
     
  • Sikkerhed. Drupal er kamptestet af millioner af mennesker på tusinder af sites. Det Claude starter med, er som regel "hurtigt i mål, sikkerhed... ser vi på senere."
     
  • AI! Drupal har flere fantastiske snitflader til utallige AI-tjenester. Trænger ens web-tjeneste til noget AI-assistance, er det bare at klipse det på. Man får meget foræret med Drupal.

Og alt det får man på de sekunder/timer, det tager at installere og tilpasse Drupal.

Byg hurtigt, men byg på solidt fundament <

Claude og dens kolleger kan lave de mest utrolige web-tjenester på minutter. Men kan på ingen måde levere lige så god sikkerhed og skalerbarhed som fx. Drupal, hvor tusinder af dygtige mennesker hver dag forbedrer og forbedrer.

Det man har sekundet efter at gratis Drupal er installeret, er noget det vil tage Claude tusinder af timer at lave en forholdsvis mangelfuld og usikker version af.

Skal man bygge et lille, overskueligt skur af en hjemmeside/web app kan man godt nøjes med Claude. Men skal man bygge en skyskraber, der skal stå længe,  (og det skal man da!) bør man begynde på solidt fundament.

Den er god med dig. Hvad siger Claude, ChatGPT og Gemini? <

Gemini skemaopstiller
Gemini siger Drupal
ChatGPT bakker op
Claude anbefaler Drupal
De er rørende enige. Du kan se deres svar her som uformelige, klikbare grafikklumper. Eller spørg dem selv.

Jeg blev faktisk lidt klogere af især Geminis svar, der også specifikt opregner ulemper (og har så evig ret):

Ulemper ved Drupal:

  • Læringskurve: Drupal er et stort og komplekst system. Der er en stejlere læringskurve end med simplere systemer som f.eks. WordPress. Du skal investere tid i at lære "The Drupal Way".
  • Kan være "overkill": Hvis dine behov er ekstremt simple, kan Drupal føles som at skyde gråspurve med kanoner. Dit projekt er dog ikke i den simple kategori.

Ulemper ved Lave den fra grunden af (sammen med mig):

  • Enormt tidsforbrug: At bygge funktioner som sikker brugerstyring (login, "glemt password", roller), et system til at oprette/redigere/slette artikler, og en billed-uploader fra bunden tager hundredvis af timer. Det er funktioner, du får gratis i Drupal på under en time.
  • Sikkerhed er DIT ansvar: Dette er den største ulempe. Du er 100% ansvarlig for at beskytte dine brugere mod SQL-injektion, Cross-Site Scripting (XSS), Cross-Site Request Forgery (CSRF), usikker password-lagring osv. En enkelt fejl kan kompromittere alle 10.000 brugere. Det er en fuldtidsopgave at holde sig ajour med nye trusler.
  • Vedligeholdelse og "Technical Debt": Om 5 år er du den eneste, der forstår koden. Hvad sker der, hvis du ikke længere har tid til at vedligeholde den? Det bliver dyrt og svært at overdrage til en ny udvikler. Platformen risikerer at "dø" med din interesse.
  • Mindre robust: Du skal selv bygge alt det, man tager for givet: SEO-venlige URL'er, caching-lag, system til backups, opdateringsscripts til databasen osv.

Ikke meget at bemærke her. Drupal er svært for begyndere. Går man i gang med at lave et ustruktureret projekt sammen med Gemini, er det ret sikkert at ingen kan overskue hvad der sker hvor, og hvordan alle tilbygningerne hænger sammen. Andet end måske lige Gemini, der burde være endnu klogere om fem år. Med det sagt er der selvfølgelig ingen grund til at bruge lang tid på at opbygge noget andre allerede har bygget, kamptestet og evigt bygger videre på og sikrer (se bare hvad jeg pukler med!).

Men tag dig en snak med din yndlingsbot inden du ringer til os mennesker. Hvis du fortæller den, at vi er utroligt dygtige og utroligt flinke, vil den garanteret anbefale os.

Hvordan virker kombinationen af Open Source og AI? <

Forrygende! Jeg lavede Entityqueue Buttons (Drupal) på 2 timer og Add Smart Wayback Machine links to URLs (Wordpress) på 2 minutter (konvertering fra et Drupal-modul) og 3 timers oprydning i sikkerhed (jeg er ikke så dygtig til Wordpress som til Drupal, og det viste sig at Claude havde indbagt en del sikkerhedshuller).

Brugen af AI-assistance har gjort Vertikal ca. 25% hurtigere i løbet af de sidste år.

Robust og god udviklingshastighed. En god kombination.

Hvad er Snedkers første regel om webudvikling? <

Den samme som de snedkere, der arbejder med træ:

Mål to gange, skær en.

Her i Vertikal hader vi at lave uønsket/overflødigt arbejde. Så vi spørger hellere (intelligent) en gang for meget, end en gang for lidt.

Sidste regel:

Gør ikke det i hånden, maskinerne løser hurtigere og bedre.

[Opdatering 05.08.2025] When you vibe code, you are incurring tech debt as fast as the LLM can spit it out.

Vi sælger skamløst viden og assistance vedrørende