Det har aldrig været nemmere at tale med din moderne teknologi, nu hvor du bogstaveligt talt kan tale til en Alexa eller Google Home og få et cloud-baseret program til at genkende din tale. Men i længst tid krævede det at “tale” med din computer, at du skulle lære dens sprog – et programmeringssprog. De fleste programmeringssprog er tekstbaserede og giver programmører mulighed for at skrive kommandoer til, hente oplysninger fra og dele disse oplysninger med deres computere.
Når vi beskriver “visuel programmering”, henviser vi bredt til måder at “tale” til vores moderne computere på med grafik og billeder i stedet for ren tekst. Visuel programmering har eksisteret i årtier og repræsenterer endnu et abstraktionslag fra det maskinsprog, som vores computere bruger, når de kommunikerer med hinanden.
Det vigtigste mål med tidlig visuel programmering var at gøre det lettere at interagere med computeren. De første grafiske brugergrænseflader (GUI’er) tilbød trods alt en massivt nemmere oplevelse end at skrive linjer ind i et terminalvindue, i en sådan grad, at de fleste mennesker i dag køber en “Mac” eller “PC” og ikke engang tænker på deres computere som adskilt fra deres visuelle styresystemer.
Først var visuel programmering til opbygning af brugergrænseflader en nem no-brainer. I dag findes der mange sofistikerede visuelle front-end webudviklingsværktøjer som Wix eller Squarespace til at skabe websteder og designværktøjer som Figma og Sketch til at skabe prototyper.
Men til opbygning af beregningslogik, som det man kan finde i en kompleks webapplikation, har den visuelle programmerings værdi været kontroversiel. Skeptikere vil hævde, at det er næsten umuligt for logikken i visuel programmering at konkurrere med kraften i et scriptbaseret sprog. Visuelle programmeringssprog har ikke været i nærheden af scriptsprogenes popularitet til opbygning af backend-logik … indtil måske i dag.
Indtast: Bubble. Bubble er en “no-code”-platform til udvikling af webapps, som startede i 2012. På overfladen har Bubble mange ligheder med de visuelle værktøjer til opbygning af brugergrænseflader til websteder og prototyper, der er nævnt ovenfor. Men Bubble er i sin kerne et ægte visuelt programmeringssprog – med al den kraft til at skabe logikken til sofistikerede webværktøjer som tekstbaserede programmeringsrammer som React eller Flask.
For at forstå, hvordan visuelle webudviklingsplatforme som Bubble er opstået, tager vi et kig ind i historien om visuelt baseret programmering – og hvordan den næste fase i udviklingen af kode faktisk kan være “ingen kode”.”
Første “visuelle” programmering: 1970’ernes grafiske sprog og Basic
I 1960’erne og 70’erne eksperimenterede man allerede med grafiske repræsentationer af logik i form af flowchart-baserede systemer som Pygmalion og GRaIL (Graphical Input Language). Disse tidlige visuelle sprog forsøgte at gøre en vigtig indsats for at få maskinhandlinger til at blive afbildet på et sæt relaterede billeder. Men det var først i begyndelsen af 1990’erne, efter at computerne havde fået ordentlige grafiske grænseflader, at den visuelle programmering begyndte at tage fart.
Når man tænker på begrebet “visuel programmering”, er det første, man måske kommer til at tænke på, Visual Basic, et Microsoft-produkt, der først blev lanceret i 1991. Visual Basic giver folk mulighed for at opbygge nye programmer ved at flytte rundt på kodeblokke og oprette flowcharts eller diagrammer og indeholder værktøjer som f.eks. en debugger og en kildekodeeditor. Men Visual Basic er mere præcist kendt som et integreret udviklingsmiljø (IDE), hvor et tekstbaseret programmeringssprog (Basic) kombineres med andre visuelle værktøjer for at gøre det lettere at arbejde med kode. Visual C og Visual Java er lignende visuelle udviklingsmiljøer for deres respektive programmeringssprog.
IDE’er er et vigtigt springbræt til at forstå, hvordan programmering kan gøres rent visuelt. En af Bubbles grundlæggere, Josh Haas, hentede inspiration fra Visual Basic, da han begyndte at skabe Bubble i 2012. Han beskriver den tidlige udvikling af Bubble som resultatet af “hvis man startede med et IDE, før man byggede programmeringssproget under det.”
Selv om IDE’er som Visual Basic i deres kerne stadig arbejder ud fra tekstbaserede sprog, er de værktøjer, de brugte til at gøre kodning mindre smertefuld, enormt vigtige for den moderne visuelle programmeringsoplevelse.
Visuel programmering som et uddannelsesværktøj
Visuelle programmeringssprog har brilleret som uddannelsesværktøjer til at lære nye programmører at tænke logisk. Scratch, der blev udviklet af MIT Media Laboratory i 2002, er nok det bedste eksempel på et visuelt programmeringssprog med
“blok”-baseret syntaks. Scratch blev ret populært med over 57 millioner brugere og applikationer. Nogle moderne no-code app-udviklere som Thunkable har hentet inspiration fra Scratch og andre blokbaserede designs.
Scratch er primært rettet mod børn, der lærer at programmere, med sin søde tiger og farverige blokke, der forbindes til hinanden for at danne logiske sætninger, der udfører handlinger. Men hvis man skulle dykke dybere ned, har blokbaserede systemer nogle åbenlyse fejl, når de repræsenterer kompleks logik; man ender ofte med rodede diagrammer, der er endnu sværere at forstå end tekstbaseret kode.
Og flowchart-baserede logiksystemer som de tidlige visuelle programmeringssprog klarer sig ikke meget bedre, med rekursive pile og linjer, der krydser en side, og som viser sig at være mere smertefulde at se på end pæne linjer af script.
Vi vil ikke gå for dybt ind i den psykologiske debat om, hvorvidt tekst eller visuelt materiale er mere forståeligt for den menneskelige hjerne; det er i høj grad subjektivt og personligt. Men der er et argument for, at populariteten af tekstbaserede programmeringssprog i høj grad skyldes tradition (Unix og Linux som grundlæggende tekstbaserede paradigmer) og bekvemmelighed for sprogskaberen, ikke for brugerne af programmeringssproget. Når alt kommer til alt, er de fleste programmeringssprog baseret på engelsk, og der er milliarder af mennesker rundt om i verden, som slet ikke taler eller skriver på engelsk. Alligevel forventer vi, at de gør det med henblik på at skabe teknologi.
Her har visuel programmering en mulighed for at bygge bro over kløfter og hjælpe folk med at lære teknologisproget på en anden måde. Scratch er f.eks. blevet oversat til over 70 sprog, så unge mennesker kan programmere på deres modersmål.
Men Scratchs relative succes har måske også givet Scratch et ry for at være et begynderværktøj, et springbræt til den “rigtige programmering”, hvor man dropper de søde billeder og i stedet bruger sin tid på at plage sig med parenteser og kommaer.
Men at gøre noget “enklere” behøver ikke at gøre det mindre effektivt. Hvorfor investerer vi i at få vores børn til at lære visuelt for så at insistere på, når de bliver ældre, at de skal prioritere det verbale sprogs verden? Hvad nu hvis der fandtes et visuelt programmeringssprog, der stræbte efter at være enkelt nok til at være forståeligt, men kraftfuldt nok til at være nyttigt uden for klasseværelset?
The Rise of Bubble & “No Code”-platforme: Visuel programmering til webapps
Bubble er vores svar på spørgsmålet om, hvordan et moderne visuelt programmeringssprog kan opfylde løftet om at gøre det lettere at skabe og bygge sofistikeret teknologi. Bubble gør det muligt for folk at bygge webapplikationer, fra markedspladser som Airbnb til sociale netværk som Twitter, uden at skulle kode. Resultatet er, at folk er i stand til at opbygge reelle forretningsidéer online på en brøkdel af den tid og de omkostninger, der er forbundet med udvikling.
RELATERET: Se apps, som brugere har bygget i Bubble uden kode.
Bubbles visuelle editor er inspireret af UI-design og udviklingsværktøjer med en tilgang til webudvikling, hvor “det, du ser, er det, du får”. Men Bubbles virkelige værdi ligger i dens tilgang til logik, som mange andre platforme mangler. Da Josh begyndte at arbejde på Bubbles Workflow-system, insisterede han på “aggressiv enkelhed” for at undgå de komplicerede faldgruber i ældre flowchart-sprog og rodet i blokbaserede sprog.
Bubbles workflowdesign er beregnet til at hjælpe dig med at opbygge logik ved hjælp af enkle sætninger (f.eks. “Når en bruger gør x, skal du sende brugeren en e-mail”). Og selv om du kan blive temmelig kompleks med udsagn og betingelser i de avancerede bubbling-teknikker, gør sproget visse antagelser om de grundlæggende ting, du vil have i en web-app (som: brugere, klik rundt, login, tilmeldinger) for at forenkle de mest grundlæggende handlinger.
Datasprog, der er designet til en specifik anvendelse i modsætning til et generelt formål, er kendt som domænespecifikke sprog. Bubble kan beskrives som et domænespecifikt sprog til webdesign, på det rette abstraktionsniveau, der gør det lettere at designe en app’s grænseflade og opbygge dens logik bag kulisserne. Bubble giver folk værktøjer inden for webdesign til at forklare de koncepter, du ønsker at bygge – en knap, et input, en søgelinje – på det rette ordforrådsniveau for dit ekspertiseområde. Hvis du bygger en app til restauranter, opretter du datatyper for din restaurant, menuen, madvarer og/eller kunder. Hvis du vil have en knap til at gøre noget, opretter du blot et knapelement og angiver, hvad den gør.
“Bubble giver folk mulighed for at skabe teknologi ved hjælp af deres ordforråd, ikke omvendt”, forklarer Josh.
Værktøjer som Bubble er blevet klassificeret under betegnelsen “no code” eller “low code”, hvilket repræsenterer en bevægelse væk fra tekstbaserede rammer for webdesign. Tidlige virksomhedsprogrammer henviste ofte til konceptet som “hurtig applikationsudvikling”.
Men ikke alle disse værktøjer er lige gode. Nogle no-code-værktøjer er bedre til native mobilapps, nogle er bedst til landingssider og enkle websteder, andre er skræddersyet specifikt til markedspladser med forudlavede skabeloner eller maskinlæringsmodeller. Bubble, der har sine rødder som et omfattende visuelt programmeringssprog, er en mere åben og kraftfuld platform til oprettelse af web-apps med mulighed for at integrere med tusindvis af andre platforme via vores API Connector.
Mennesker har brugt Bubble til at løse deres startups problemer og bygge den ideelle version af deres digitale virksomheder. Nogle er gået videre til at rejse millioner af dollars i venturekapitalfinansiering, og andre har skabt deres egen karriere ved at bygge skabeloner til Bubble eller undervise andre i at bruge no-code-værktøjer. Bubblere med en vis teknisk baggrund bidrager til vores plugin-markedsplads, og softwarevirksomheder, der søger flere brugere, hjælper os med at skabe nye brugerdefinerede integrationer, der gør det nemmere for brugere, der allerede bygger med andre værktøjer.
Bubble og fremtiden for visuel programmering
Bubbles mission er at gøre det nemmere for folk at skabe digitale virksomheder hurtigt og billigt, uden at de behøver at kode. I vores oprindelseshistorie fortæller vi om, hvordan vi tager fat på et meget gammelt problem inden for teknologi, et problem, som tidlig visuel programmering forsøgte og mislykkedes med at løse: hvordan man kan gøre logik visuelt og udviske grænsen mellem at bruge teknologi og skabe teknologi.
Bubbles tilgang til visuel programmering er på nuværende tidspunkt ikke beregnet til at kunne gøre alt det, som teknologien kan gøre nu eller vil kunne gøre i fremtiden. Bubble er bygget til webapplikationer. Selv om vi har opdaget, at ting som spildesign i stigende grad er mulige i Bubble takket være vores utroligt dygtige brugere, ved vi, at der findes andre programmer, der er specifikt skabt og bedre udstyret til opgaver som live streaming og lydbehandling (men som vi vil være begejstrede for at integrere med i fremtiden).
Det, vi har, er grundlaget for muligheder. Vi har et fællesskab med en overflod af kreativitet, beslutsomhed og selvmotiveret nysgerrighed, der opdager nye måder at bygge på uden kode. Vi har en vision for fremtiden, hvor “no-code”-platforme ikke er deres egen kategori af værktøjer. I stedet vil visuel programmering bare være den måde, som webapps og andre teknologier bliver lavet på, fordi det giver mest mening at lave dem på den måde.
Om Bubble
Bubble er en af de førende i no-code-bevægelsen. Bubble tilbyder en kraftfuld peg-og-klik-webeditor og cloud-hostingplatform, der giver brugerne mulighed for at bygge fuldt tilpassede webapplikationer og arbejdsgange, lige fra simple prototyper til komplekse markedspladser, SaaS-produkter og meget mere. Over 500.000 brugere er i øjeblikket ved at opbygge og lancere virksomheder på Bubble – mange er gået videre til at deltage i top-acceleratorprogrammer, såsom Y Combinator, og har endda rejst 365 millioner dollars i venturefinansiering. Bubble er mere end blot et produkt. Vi er et stærkt fællesskab af bygherrer og iværksættere, der er forenet af den overbevisning, at alle skal kunne skabe teknologi.