Det har aldrig varit enklare att tala med din moderna teknik, nu när du bokstavligen kan prata med en Alexa eller Google Home och få ett molnbaserat program att känna igen ditt tal. Men under den längsta tiden krävde ”prata” med din dator att du lärde dig dess språk – ett programmeringsspråk. De flesta programmeringsspråk är textbaserade, vilket gör det möjligt för kodare att skriva kommandon till, hämta information från och dela den informationen med sina datorer.
När vi beskriver ”visuell programmering” hänvisar vi i stort sett till sätt att ”prata” med våra moderna datorer med grafik och bilder, snarare än ren text. Visuell programmering har funnits i flera decennier och utgör ytterligare ett abstraktionslager från det maskinspråk som våra datorer använder när de kommunicerar med varandra.
Det främsta målet med den tidiga visuella programmeringen var att göra det lättare att interagera med datorn. De första grafiska användargränssnitten (GUI) erbjöd trots allt en mycket enklare upplevelse än att skriva in rader i ett terminalfönster, till den grad att de flesta människor idag köper en ”Mac” eller ”PC” och inte ens tänker på att deras datorer skiljer sig från deras visuella operativsystem.
Tidigt var visuell programmering för att bygga användargränssnitt en enkel självklarhet. Numera finns det många sofistikerade visuella verktyg för webbutveckling på framsidan som Wix eller Squarespace för att skapa webbplatser och designverktyg som Figma och Sketch för att skapa prototyper.
Men när det gäller att bygga beräkningslogik, som den man kan hitta i en komplex webbapplikation, har värdet av visuell programmering varit kontroversiellt. Skeptiker kommer att hävda att det är nästan omöjligt för logik i visuell programmering att konkurrera med kraften hos ett skriptbaserat språk. Visuella programmeringsspråk har inte kommit i närheten av skriptspråkens popularitet när det gäller att bygga backend-logik… förrän kanske idag.
Enter: Bubbla. Bubble är en plattform för utveckling av webbappar utan kod som startade 2012. Vid första anblicken har Bubble många likheter med de visuella verktyg för att bygga användargränssnitt för webbplatser och prototyper som anges ovan. Men Bubble är i grunden ett verkligt visuellt programmeringsspråk – med all den kraft som krävs för att skapa logik för sofistikerade webbverktyg som textbaserade programmeringsramverk som React eller Flask.
För att förstå hur visuella webbutvecklingsplattformar som Bubble uppstod tar vi en titt på den visuellt baserade programmeringens historia – och hur nästa fas i utvecklingen av koden faktiskt kan vara ”ingen kod”.”
Första ”visuella” programmeringen: 1970-talets grafiska språk och Basic
Redan på 1960- och 70-talen experimenterade man med grafiska representationer av logik i form av flödesschemabaserade system som Pygmalion och GRaIL (Graphical Input Language). Dessa tidiga visuella språk försökte med den viktiga uppgiften att få maskinhandlingar att mappas till en uppsättning relaterade bilder. Men det var inte förrän i början av 1990-talet, efter att datorerna hade fått ordentliga grafiska gränssnitt, som den visuella programmeringen började ta fart.
När man tänker på begreppet ”visuell programmering” är det första man kommer att tänka på Visual Basic, en produkt från Microsoft som lanserades för första gången 1991. Visual Basic gör det möjligt att bygga nya program genom att flytta runt kodblock och skapa flödesscheman eller diagram, och innehåller verktyg som en felsökare och en källkodsredigerare. Men Visual Basic är mer exakt känt som en integrerad utvecklingsmiljö (IDE), där ett textbaserat programmeringsspråk (Basic) kombineras med andra visuella verktyg för att göra det lättare att arbeta med kod. Visual C och Visual Java är liknande visuella utvecklingsmiljöer för sina respektive programmeringsspråk.
IDE är en viktig språngbräda för att förstå hur programmering kan göras rent visuellt. En av Bubbles grundare, Josh Haas, hämtade inspiration från Visual Basic när han började skapa Bubble 2012. Han beskriver den tidiga utvecklingen av Bubble som resultatet av ”om man började med ett IDE innan man byggde programmeringsspråket under det.”
Men även om IDE:er som Visual Basic i grund och botten fortfarande arbetar med textbaserade språk, så är de verktyg som de använde för att göra kodning mindre smärtsam enormt viktiga för den moderna visuella programmeringsupplevelsen.
Visuell programmering som utbildningsverktyg
Visuella programmeringsspråk har briljerat som utbildningsverktyg för att lära nya programmerare hur man tänker logiskt. Scratch, som utvecklades av MIT Media Laboratory 2002, är förmodligen det bästa exemplet på ett visuellt programmeringsspråk med
”block”-baserad syntax. Scratch blev ganska populärt, med över 57 miljoner användare och tillämpningar. Vissa moderna appbyggare utan kod som Thunkable har hämtat inspiration från Scratch och andra blockbaserade konstruktioner.
Scratch riktar sig i första hand till barn som lär sig att programmera, med sin söta tiger och sina färgglada block som länkas samman för att bilda logiska meningar som verkställer åtgärder. Men om man skulle dyka djupare ner har blockbaserade system några uppenbara brister när det gäller att representera komplex logik; man hamnar ofta i röriga diagram som är ännu svårare att förstå än textbaserad kod.
Och flödesschemabaserade logiksystem som de tidiga visuella programmeringsspråken klarar sig inte mycket bättre, med rekursiva pilar och linjer som korsar en sida och som visar sig vara mer smärtsamma att titta på än prydliga skriptlinjer.
Vi ska inte gå för djupt in i den psykologiska debatten om huruvida text eller visuella bilder är mer begripliga för den mänskliga hjärnan, det är till stor del subjektivt och personligt. Men det finns ett argument för att de textbaserade programmeringsspråkens popularitet till stor del är ett resultat av tradition (Unix och Linux som grundläggande textbaserade paradigm) och bekvämlighet för den som skapat språket, inte för användarna av programmeringsspråket. När allt kommer omkring är de flesta programmeringsspråk baserade på engelska, och det finns miljarder människor runt om i världen som inte alls talar eller skriver på engelska. Ändå förväntar vi oss att de ska göra det för att skapa teknik.
Här har visuell programmering en möjlighet att överbrygga klyftor och hjälpa människor att lära sig teknikspråket på ett annat sätt. Scratch har till exempel översatts till mer än 70 språk så att unga människor kan programmera på sitt modersmål.
Den relativa framgången för Scratch kan dock också ha gett visuell programmering rykte om sig att vara ett verktyg för nybörjare, en språngbräda till den ”riktiga programmeringens” värld, där man slänger bort de söta bilderna och i stället ägnar sin tid åt att plåga sig över parenteser och kommatecken.
Men om man gör något ”enklare” behöver det inte bli mindre kraftfullt. Varför investerar vi i att våra barn ska lära sig visuellt för att sedan, när de blir äldre, insistera på att de ska prioritera det verbala språkets värld? Tänk om det fanns ett visuellt programmeringsspråk som strävade efter att vara tillräckligt enkelt för att vara begripligt men tillräckligt kraftfullt för att vara användbart utanför klassrummet?
The Rise of Bubble & ”No Code” Platforms: Visuell programmering för webbapplikationer
Bubble är vårt svar på frågan om hur ett modernt visuellt programmeringsspråk kan uppfylla löftet om att göra det enklare att skapa och bygga sofistikerad teknik. Bubble gör det möjligt för människor att bygga webbapplikationer, från marknadsplatser som Airbnb till sociala nätverk som Twitter, utan att behöva koda. Resultatet är att människor kan bygga verkliga affärsidéer på nätet på en bråkdel av den tid och kostnad som krävs för utveckling.
RELATERAT: Se appar som användare har byggt i Bubble utan kod.
Bubbles visuella redigerare hämtar inspiration från verktyg för UI-design och utveckling, med en ”vad du ser är vad du får”-strategi för webbutveckling. Men Bubbles verkliga värde ligger i dess inställning till logik som många andra plattformar saknar. När Josh började arbeta med Bubbles arbetsflödessystem insisterade han på ”aggressiv enkelhet” för att undvika de komplicerade fallgroparna hos äldre flödesschemaspråk och rörigheten hos blockbaserade språk.
Bubbles arbetsflödesdesign är avsedd att hjälpa dig att bygga logik med hjälp av enkla meningar (t.ex. ”När en användare gör x, skicka användaren ett e-postmeddelande”). Och även om du kan bli ganska komplex med påståenden och villkor i de avancerade bubbelteknikerna, gör språket vissa antaganden om de grundläggande saker som du vill ha i en webbapplikation (som: användare, klicka runt, inloggning, registreringar) för att förenkla de mest grundläggande åtgärderna.
Dataspråk som är utformade för ett specifikt användningsområde, i motsats till ett generellt syfte, är kända som domänspecifika språk. Bubble kan beskrivas som ett domänspecifikt språk för webbdesign, på rätt abstraktionsnivå för att göra det lättare att utforma en apps gränssnitt och bygga dess logik bakom kulisserna. Bubble ger människor verktygen inom webbdesign för att förklara de koncept du vill bygga – en knapp, en inmatning, ett sökfält – på rätt nivå av vokabulär för ditt område av expertis. Om du bygger en app för restauranger skapar du datatyper för din restaurang, meny, matvaror och/eller kunder. Om du vill att en knapp ska göra något skapar du helt enkelt ett knappelement och anger vad den ska göra.
”Bubble ger människor möjlighet att skapa teknik med hjälp av deras vokabulär, inte tvärtom”, förklarar Josh.
Verktyg som Bubble har klassificerats under begreppet ”no code” eller ”low code”, vilket representerar en rörelse bort från textbaserade ramar för webbdesign. Tidiga företagsprogram hänvisade ofta till konceptet som ”snabb applikationsutveckling”.
Men alla dessa verktyg är inte lika. Vissa no-code-verktyg är bättre för inbyggda mobilappar, vissa är bäst för landningssidor och enkla webbplatser, vissa är skräddarsydda specifikt för marknadsplatser med färdiga mallar eller modeller för maskininlärning. Bubble, med sina rötter som ett omfattande visuellt programmeringsspråk, är en mer öppen och kraftfull plattform för skapande av webbappar, med möjlighet att integrera med tusentals andra plattformar genom vår API Connector.
Människor har använt Bubble för att lösa sina startup-problem och bygga den ideala versionen av sina digitala företag. Vissa har gått vidare till att samla in miljontals dollar i riskkapitalfinansiering och andra har skapat sina egna karriärer genom att bygga mallar för Bubble eller lära andra hur man använder no-code-verktyg. Bubblers med viss teknisk bakgrund bidrar till vår marknadsplats för insticksprogram, och programvaruföretag som vill ha fler användare hjälper oss att skapa nya anpassade integrationer som underlättar för användare som redan bygger med andra verktyg.
Bubble och framtiden för visuell programmering
Bubbles uppdrag är att göra det enklare för människor att skapa digitala företag snabbt och till överkomligt pris, utan att behöva koda. I vår ursprungsberättelse talar vi om hur vi tar itu med ett mycket gammalt problem inom tekniken, ett problem som tidig visuell programmering försökte och misslyckades med att lösa: hur man kan göra logik visuell och sudda ut gränsen mellan att använda teknik och att skapa teknik.
Bubbles strategi för visuell programmering är för närvarande inte tänkt att kunna göra allt som tekniken kan göra nu eller kommer att kunna göra i framtiden. Bubble är byggd för webbapplikationer. Även om vi har upptäckt att saker som speldesign blir alltmer möjliga i Bubble tack vare våra otroligt begåvade användare, vet vi att det finns andra program som är särskilt skapade och bättre utrustade för uppgifter som live-streaming och ljudbearbetning (men som vi kommer att vara entusiastiska över att integrera med i framtiden).
Vad vi har är grunden för möjligheter. Vi har en gemenskap med ett överflöd av kreativitet, beslutsamhet och självmotiverad nyfikenhet som upptäcker nya sätt att bygga utan kod. Vi har en vision för framtiden där plattformar utan kod inte är en egen kategori av verktyg. Istället kommer visuell programmering bara att vara det sätt på vilket webbappar och annan teknik görs, eftersom det är mest meningsfullt att göra dem på det sättet.
Om Bubble
Bubble är ledande inom no-code-rörelsen. Bubble erbjuder en kraftfull webbredigerare och molnhostingplattform som gör det möjligt för användare att bygga helt anpassningsbara webbapplikationer och arbetsflöden, allt från enkla prototyper till komplexa marknadsplatser, SaaS-produkter och mycket mer. Över 500 000 användare bygger och lanserar för närvarande företag på Bubble – många har deltagit i toppacceleratorprogram som Y Combinator och till och med samlat in 365 miljoner dollar i riskkapital. Bubble är mer än bara en produkt. Vi är en stark gemenskap av byggare och entreprenörer som förenas av övertygelsen att alla ska kunna skapa teknik.