4. sep, 2020 – 7 min read

Siden sin begyndelse i 2012, Bubble har aldrig holdt op med at udvikle sin low-code platform og forfine dens funktioner, i høj grad takket være de mange tilbagemeldinger, som teamet har indsamlet fra fællesskabet.

I dag er Bubble en full-stack platform, der understøtter store og komplekse softwareprojekter.

Som Bubble-bureau får vi ofte spørgsmål om platformens muligheder.

Listen nedenfor beskriver ærligt, hvad du kan/ikke kan gøre med Bubble-teknologien (indtil videre), så du kan validere, om det er den bedst egnede platform til dine projektbehov.

Bubble er et af de mest avancerede visuelle programmeringsmiljøer til at bygge robuste webapps. Uanset om du ønsker at oprette en desktop- eller responsiv webapplikation, der passer til enhver skærmstørrelse, kan du (sandsynligvis) gøre det med Bubble.

Typiske eksempler på applikationer, der i høj grad kan bygges på Bubble, er sociale netværk, software as a service-produkter (SaaS) eller markedspladser.

Bubble editor tilbyder en bred fleksibilitet, der gør det muligt for erfarne udviklere at opnå pixel-perfekte produkter med komplekse designs og responsive krav.

✔️ Byg Progressive Web Apps (PWA)

Som vi introducerede nyheden i vores sidste Medium-artikel, har vores team bygget en installerbar webapplikation (PWA) på Bubble-platformen. Dybest set er det en minimalistisk klon af Uber-appen, der blev implementeret på få dage med en 100 % No-Code + Code-blanding.

Progressive Web Apps (PWA’er) bringer native app-funktioner gennem nettet og har mange fordele:

  • PWA’er er let installerbare (1-klik med Android-enheder), hvilket gør den tilgængelig fra startskærmen ligesom enhver anden applikation. Dette er yderst fordelagtigt for nystartede virksomheder eller virksomheder, der ønsker at spare på omkostningerne ved at udvikle en native mobilapplikation til både Android og iOS. Derudover vil et medlemskab af Apple Developer Program ikke være nødvendigt.
  • Manuelle app-opdateringer og vedligeholdelse hører fortiden til med PWA’er. Da applikationerne serveres af en webbrowser, er det ikke nødvendigt at opdatere applikationen manuelt via en app-butik eller at aktivere en indstilling for at opdatere applikationen automatisk.
  • PWA’er er små i størrelse sammenlignet med deres native modstykker. PWA’er gør det muligt for brugerne at tilføje dem problemfrit til deres startskærm, og da applikationens størrelse er minimal, er der ingen ventetid for brugeren, når han/hun skal starte/videre med at bruge en PWA.
  • PWA’er er gode for SEO og giver større uafhængighed af applikationsbutikker (risiko for forbud, høje provisioner for in-app-betalinger…).

Honestly, medmindre dit projekt kræver dybe native funktioner (se en komplet liste over funktioner, der er tilgængelige i din nuværende webbrowser her: ttps://whatwebcando.today/), bør webapps og PWA’er, der “føles” native, gøre arbejdet i de fleste tilfælde.

Godt at vide er det altid muligt at omdanne en webapp eller PWA til en hybrid applikation, så den nemt kan distribueres til applikationsbutikker (Android Play Store og Apple Store).

✔️ Byg hybride mobilapps

Der er til dato ikke muligt for Bubble at tilbyde en out-of-the-box-løsning til native applikationer. Selvom dette projekt ser ud til at være planlagt i deres langsigtede køreplan, er det stadig muligt at oprette hybride mobilapps med Bubble editor ved at indpakke webapplikationer og udgive til butikkerne.

Hybride apps giver en stor fordel for udviklere, der ønsker at opdatere deres app ofte, da det ikke er nødvendigt at genindsende den nye version. Da hybridmobilapps er drevet af webteknologier, kan de desuden lettere udrulles på tværs af både Android- og Apple-butikker, hvilket reducerer udviklingstiden og -omkostningerne.

Dertil kommer, at hybridmobilapps giver adgang til flere tilladelser og native funktioner end webapplikationer og PWA’er (f.eks. kontakter, biometri & Smart Login…).

Der findes et fremragende plugin til at omdanne optimerede webapps til native apps: BDK Native af Gaurav Jain.

✔️ Kør brugerdefineret kode

Boble-platformens native muligheder uden kode er imponerende. Faktisk giver Bubble en masse native funktioner til at bygge kraftfulde webapplikationer. Men i nogle tilfælde er det visuelle sprog ikke den mest tilpassede måde at opbygge en funktion eller opnå en bestemt handling på. Nogle gange kan det være nødvendigt at udvide funktioner ved at skabe brugerdefinerede elementer og handlinger oven på Bubble-funktionerne.

De fleste no-code-værktøjer giver ikke mulighed for at udvide funktionerne med traditionelle kodelinjer. Bubble skiller sig ud på dette punkt: det giver udviklere mulighed for at køre brugerdefineret kode for at udvide deres app, når de støder på en begrænsning.

Sådan kan udviklere oprette plugins for at skrive og køre brugerdefineret (Javascript) kode inde i programmerne. Når det er sagt, er der en lille chance for, at du støder på en hård begrænsning i dine projekter. Derfor foretrækker vi at betegne Bubble som en Low-Code-platform, fordi det er muligt at tilføje kode for at forbedre din app.

✔️ Tilslut til eksterne tjenester og hardware via API’er

Sommetider skal applikationer indsamle data fra eksterne kilder eller udløse nogle handlinger (f.eks. hente data fra sociale konti, sende en transaktionsmail eller aflæse temperaturen fra en sensor). Bubble-platformen tilbyder et effektivt værktøj, API-connectoren, til at forbinde applikationer med eksterne softwaresystemer eller hardwareenheder. Teknisk set kan du næsten forbinde til alt via API’er, f.eks. en AI-drevet motor til at klassificere et massivt sæt billeder eller styre en IoT-enhed.

✔️ Tilslut til eksterne databaser

Som standard læses og gemmes applikationsdata på AWS-servere. Bubble editor indeholder et værktøj, SQL Database Connector, der gør det muligt for udviklere at forbinde applikationer til eksterne databaser og køre SQL-forespørgsler fra Bubble.

✔️ Skaler appen i takt med, at virksomheden vokser

Skalering er en regelmæssig bekymring. Mange stiftere spekulerer på, om Bubble-motoren vil være tilstrækkelig kraftfuld til at understøtte opskalering af deres app.

Den første ting at overveje er, at ydeevne og skaleringsmuligheder i høj grad påvirkes af, hvordan appen er bygget og optimeret på Bubble-editoren. Da Bubble er et programmeringsværktøj ligesom enhver anden teknologi, skal udviklerne følge god praksis for at sikre ordentlige præstationer og give slutbrugerne en god oplevelse. Med andre ord kræver det en veldesignet databasemodel, optimeret logik og databaseforespørgsler samt en funktionel brugeroplevelse.

På den anden side arbejder Bubble-teamet hårdt på at forbedre skalerbarhed og ydeevne og tilbyder forskellige (overkommelige) hostingplaner, der passer til applikationens behov for ydeevne. Som standard deler din Bubble-app de samme computerressourcer med alle andre Bubble-apps (på hobby- og personlige hostingplaner). På overlegne planer kan du få mere kapacitet (det betyder, at appen kan udføre flere handlinger i en given periode, når det er nødvendigt).

Hvis det er nødvendigt, tilbyder Bubble-teamet dedikerede planer til deres kunder. I det tilfælde nyder du godt af en infrastruktur, der altid kører på AWS-serveren, men er isoleret fra andre Bubble-apps, hvilket fører til øget pålidelighed og skalerbarhed.

Bubble er en overkommelig løsning til at starte et softwareprojekt med begrænsede computerbehov. Når det bliver nødvendigt, er det nemt at skalere infrastrukturen for din app til en rimelig pris.

✔️ Administrer dataadgang og privatlivets fred

Bubble er en ekstremt åben platform sammenlignet med andre no-code-værktøjer. Når det er sagt, er der uendelige muligheder for at udvikle en applikation på Bubble, nogle gange med dårlige vaner. Som standard er alle data åbne for offentligheden, når du opretter en Bubble-app. Bubble editor tilbyder dog nogle værktøjer til at konfigurere dataadgang i din app. Faktisk giver regler for beskyttelse af privatlivets fred magt til at beskytte oplysninger og sikre, at de er sikre.

❌ Byg native apps

Bubble-platformen giver indtil videre ikke en specifik motor til at bygge og udrulle native apps på applikationsbutikker. Mens dette er noget, der bør implementeres på mellemlang/lang sigt, er det stadig muligt at bygge mobile PWA’er eller udrulle hybride mobilapps på butikker med nogle teknikker og work arounds (se ovenfor).

❌ Host en app på en privat eller lokal server

Bubble tilbyder hosting til deres kunder på Amazon Web Services (AWS) cloud-servere eller dedikerede instanser. I øjeblikket er det ikke muligt selv at hoste en Bubble-app på en privat hosting-tjeneste eller en server på stedet.

Så er cloud computing ved at blive normen, og AWS er anerkendt som den førende cloud-udbyder (>50 % markedsandel), når det gælder ydeevne og sikkerhed.

❌ Udfør andre sprog end Javascript

Det er rigtigt, at Bubble-udviklere kan udvide funktioner i en applikation med brugerdefineret kode. Men kun Javascript-sprog er understøttet.

Bubbles kernemotor er skrevet i Javascript-sprog. Indtil videre vil udviklere kun kunne bruge Javascript til at bygge brugerdefinerede integrationer oven på Bubble.

❌ Udvikle komplekse algoritmer

Bubbles visuelle sprog er ikke det mest hensigtsmæssige værktøj til at udvikle komplekse algoritmer, især rekursive eller looping-operationer på data. Som en bedre mulighed kan udviklere bruge eller skrive brugerdefinerede algoritmer uden for Bubble (f.eks. hostet på Amazon Lambda) og bruge dem ved at sende dataene gennem et API (f.eks. en maskinlæringsalgoritme).

❌ Opret (avancerede) videospil

Forvent ikke at kunne oprette og køre komplekse 3D- eller platformsspil med Bubble-motoren … selv om nogle smarte Bubble-brugere har formået at oprette små spil, der er værd at prøve, f.eks. The Legend of Zeldinia af J805 eller Pizza Mania af Landowski.

❌ Eksportkode

Bubble-apps kan kun køres på Bubble-platformen. Denne proprietære model er begrundet i Bubbles forretningsmodel. Du kan således ikke eksportere en applikation som kode. Hvis du beslutter dig for at flytte væk fra Bubble-platformen, skal du genopbygge programlogikken (uden kode). Du vil kun kunne eksportere applikationsdata og den brugerdefinerede kode, du har tilføjet oven på Bubble.

Spørgsmålet du skal tænke over er: Hvorfor skulle du have brug for at flytte væk fra Bubble?

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.