Sinds zijn begin in 2012, Bubble is nooit gestopt met het ontwikkelen van zijn low-code platform en het verfijnen van de functies, grotendeels dankzij de vele feedback die het team van de community heeft gekregen.
Heden ten dage is Bubble een full-stack platform dat grote en complexe softwareprojecten ondersteunt.
Als Bubble-bureau krijgen we vaak vragen over de mogelijkheden van het platform.
De onderstaande lijst beschrijft eerlijk wat je wel en niet kunt doen met Bubble-technologie (tot nu toe), zodat je kunt valideren of het het meest geschikte platform is voor jouw projectbehoeften.
Bubble is een van de meest geavanceerde visuele programmeeromgevingen om robuuste webapps te bouwen. Of u nu een desktop- of een responsive webapplicatie wilt maken die op elk schermformaat past, u kunt het (waarschijnlijk) met Bubble doen.
Typische voorbeelden van applicaties die uitstekend op Bubble kunnen worden gebouwd, zijn sociale netwerken, software-as-a-service-producten (SaaS) of marktplaatsen.
Bubble-editor biedt een brede flexibiliteit waarmee ervaren ontwikkelaars pixel-perfecte producten met complexe ontwerpen en responsieve vereisten kunnen realiseren.
- ✔️ Progressive Web Apps (PWA)
- ✔️ Bouw hybride mobiele apps
- ✔️ Aangepaste code uitvoeren
- ✔️ Verbinding maken met externe services en hardware via API’s
- ✔️ Verbinding maken met externe databases
- ✔️ De app schalen naarmate het bedrijf groeit
- ✔️ Beheer gegevenstoegang en privacy
- ❌Native apps bouwen
- ❌Host een app op een eigen of on-premise server
- ❌Uitvoeren van andere talen dan Javascript
- ❌ Complexe algoritmen ontwikkelen
- ❌ Maak (geavanceerde) videogames
- ❌ Exporteer code
✔️ Progressive Web Apps (PWA)
Zoals we het nieuws in ons laatste Medium-artikel hebben geïntroduceerd, heeft ons team een installeerbare webapplicatie (PWA) gebouwd op Bubble-platform. In principe is het een minimalistische kloon van Uber app, ingezet in dagen met een 100% No-Code + Code mix.
Progressive Web Apps (PWA’s) brengen native app functies via het web en hebben vele voordelen:
- PWA’s zijn eenvoudig installeerbaar (1-click met Android-apparaten), waardoor het toegankelijk is vanaf het startscherm, net als elke andere applicatie. Dit is zeer gunstig voor start-ups of bedrijven die willen besparen op de kosten van het ontwikkelen van een native mobiele applicatie voor zowel Android als iOS. Bovendien is een lidmaatschap voor het Apple Developer Program niet nodig.
- Handmatige app-updates en onderhoud behoren met PWA’s tot het verleden. Omdat de toepassingen worden geserveerd door een webbrowser, is het niet nodig om de toepassing handmatig bij te werken via een app store of om een instelling te activeren om de toepassing automatisch bij te werken.
- PWA’s zijn klein in omvang vergeleken met hun native tegenhangers. Met PWA’s kunnen gebruikers ze naadloos toevoegen aan hun startscherm, en omdat de grootte van de applicatie minimaal is, is er geen wachttijd voor de gebruiker om een PWA te starten / te blijven gebruiken.
- PWA’s zijn geweldig voor SEO en brengen meer onafhankelijkheid van applicatiewinkels (risico van ban, hoge commissies voor in-app betalingen…).
Eerlijk gezegd, tenzij uw project diepe native functies vereist (zie een volledige lijst van functies die beschikbaar zijn in uw huidige webbrowser hier: ttps://whatwebcando.today/), zouden webapps en PWA’s die native “aanvoelen” in de meeste gevallen het werk moeten doen.
Goed om te weten, het is altijd mogelijk om een webapp of PWA om te zetten in een hybride applicatie, waardoor deze eenvoudig kan worden uitgerold naar applicatiewinkels (Android Play Store en Apple Store).
✔️ Bouw hybride mobiele apps
Tot op heden biedt Bubble geen out-of-the-box-oplossing voor native applicaties. Hoewel dit project in hun langetermijnroadmap lijkt te zijn gepland, is het nog steeds mogelijk om hybride mobiele apps te maken met Bubble-editor door webapplicaties te wrappen en naar de stores te publiceren.
Hybride apps bieden een groot voordeel voor ontwikkelaars die hun app vaak willen bijwerken, omdat het niet nodig is om de nieuwe versie opnieuw in te dienen. Bovendien, omdat hybride mobiele apps worden aangedreven door webtechnologieën, kunnen ze gemakkelijker worden ingezet in zowel Android- als Apple-winkels, waardoor de ontwikkelingstijd en -kosten afnemen.
Ook bieden hybride mobiele apps toegang tot meer machtigingen en native functies dan webapplicaties en PWA’s (zoals Contacten, Biometrie & Smart Login …).
Er is een uitstekende plugin om geoptimaliseerde webapps om te zetten in native apps: BDK Native van Gaurav Jain.
✔️ Aangepaste code uitvoeren
No-code native mogelijkheden van Bubble platform zijn indrukwekkend. Bubble biedt inderdaad veel native functies om krachtige webapplicaties te bouwen. Maar in sommige gevallen is de visuele taal niet de meest geschikte manier om een functie te bouwen of een specifieke actie uit te voeren. Soms is het nodig om functies uit te breiden door aangepaste elementen en acties te creëren bovenop de mogelijkheden van Bubble.
De meeste no-code tools staan niet toe om mogelijkheden uit te breiden met traditionele coderegels. Bubble onderscheidt zich op dit punt: het stelt ontwikkelaars in staat om aangepaste code uit te voeren om hun app uit te breiden wanneer ze een beperking tegenkomen.
Dus kunnen ontwikkelaars plugins maken om aangepaste (Javascript-)code in de applicaties te schrijven en uit te voeren. Dat gezegd hebbende, er is een kleine kans dat je tegen een harde limiet aanloopt in je projecten. Daarom noemen we Bubble liever een Low-Code platform, omdat het mogelijk is om code toe te voegen om uw app te verbeteren.
✔️ Verbinding maken met externe services en hardware via API’s
Soms moeten applicaties gegevens van externe bronnen verzamelen of bepaalde acties triggeren (bijvoorbeeld het ophalen van sociale accountgegevens, het verzenden van een transactie-e-mail of het uitlezen van de temperatuur van een sensor). Bubble Platform biedt een krachtig hulpmiddel, de API-connector, om applicaties te koppelen aan externe softwaresystemen of hardware-apparaten. Technisch gezien kunt u bijna overal verbinding mee maken via API’s, zoals een AI-aangedreven engine om een enorme set afbeeldingen te classificeren of een IoT-apparaat te besturen.
✔️ Verbinding maken met externe databases
Aan standaard worden applicatiegegevens gelezen en opgeslagen op AWS-servers. Bubble-editor biedt een tool, de SQL Database Connector, waarmee ontwikkelaars applicaties met externe databases kunnen verbinden en SQL-query’s vanuit Bubble kunnen uitvoeren.
✔️ De app schalen naarmate het bedrijf groeit
Kalibaarheid is een regelmatige zorg. Veel oprichters vragen zich af of de Bubble-engine krachtig genoeg zal zijn om de schaalvergroting van hun app te ondersteunen.
First thing to consider, performance and scaling capabilities are highly impacted by how the app is built and optimized on Bubble editor. Omdat Bubble net als elke andere technologie een programmeertool is, moeten ontwikkelaars goede praktijken volgen om fatsoenlijke prestaties te garanderen en een goede ervaring aan eindgebruikers te bieden. Met andere woorden, het vereist een goed ontworpen databasemodel, geoptimaliseerde logica en databasequery’s en een functionele gebruikerservaring.
Aan de andere kant werkt het Bubble-team hard aan schaalbaarheids- en prestatieverbeteringen en biedt het verschillende (betaalbare) hostingpakketten om aan de prestatiebehoeften van applicaties te voldoen. Standaard deelt uw Bubble-app dezelfde computerresources met alle andere Bubble-apps (op de Hobby- en Personal-hostingpakketten). Op superieure plannen kunt u over meer capaciteit beschikken (dat betekent dat de app meer acties kan uitvoeren in een bepaalde periode wanneer dat nodig is).
Als dat nodig is, biedt het Bubble-team dedicated plannen aan hun klanten aan. In dat geval profiteert u van een infrastructuur die altijd op een AWS-server draait, maar geïsoleerd is van andere Bubble-apps, wat leidt tot een hogere betrouwbaarheid en schaalbaarheid.
Bubble is een betaalbare oplossing om een softwareproject te starten met beperkte computerbehoeften. Wanneer het nodig wordt, is het eenvoudig om de infrastructuur van uw app te schalen, voor een eerlijke prijs.
✔️ Beheer gegevenstoegang en privacy
Bubble is een extreem open-ended platform in vergelijking met andere no-code tools. Dat gezegd hebbende, zijn er eindeloos veel manieren om een applicatie op Bubble te ontwikkelen, soms met slechte gewoonten. Standaard zijn alle gegevens open voor het publiek wanneer u een Bubble-app maakt. Bubble editor biedt echter enkele tools om de toegang tot gegevens in uw app te configureren. Inderdaad, privacyregels geven de macht om informatie te beschermen en ervoor te zorgen dat deze veilig is.
❌Native apps bouwen
Bubble-platform biedt tot nu toe geen specifieke engine om native apps te bouwen en te implementeren op applicatiewinkels. Hoewel dit iets is dat op middellange/lange termijn moet worden geïmplementeerd, is het nog steeds mogelijk om mobiele PWA te bouwen of hybride mobiele apps in te zetten op winkels met enkele technieken en work arounds (zie hierboven).
❌Host een app op een eigen of on-premise server
Bubble biedt de hosting voor hun klanten op Amazon Web Services (AWS) cloud-servers of dedicated instances. Momenteel is het niet mogelijk om een Bubble-app zelf te hosten op een private hostingdienst of on-premise server.
Dat gezegd hebbende, Cloud computing wordt de norm en AWS wordt erkend als de toonaangevende cloudprovider (>50% marktaandeel), in termen van prestaties en beveiliging.
❌Uitvoeren van andere talen dan Javascript
Het is waar dat Bubble-ontwikkelaars de functies van een applicatie kunnen uitbreiden met aangepaste code. Maar alleen de Javascript-taal wordt ondersteund.
De core engine van Bubble is geschreven in de Javascript-taal. Tot op heden kunnen ontwikkelaars alleen Javascript gebruiken om aangepaste integraties bovenop Bubble te bouwen.
❌ Complexe algoritmen ontwikkelen
De visuele taal van Bubble is niet de meest geschikte tool om complexe algoritmen te ontwikkelen, met name recursieve of looping-bewerkingen op gegevens. Als betere optie kunnen ontwikkelaars aangepaste algoritmen buiten Bubble gebruiken of schrijven (gehost op Amazon Lambda bijvoorbeeld) en deze gebruiken door de gegevens via een API door te geven (bijvoorbeeld een machine-learning algoritme).
❌ Maak (geavanceerde) videogames
Verwacht niet dat je complexe 3D- of platformgames kunt maken en uitvoeren met Bubble engine… ook al zijn sommige slimme Bubble-gebruikers erin geslaagd kleine games te maken die het proberen waard zijn, zoals The Legend of Zeldinia door J805 of Pizza Mania door Landowski.
❌ Exporteer code
Bubble-apps kunnen alleen op het Bubble-platform worden uitgevoerd. Dit propriëtaire model wordt gerechtvaardigd door het bedrijfsmodel van Bubble. U kunt een applicatie dus niet als code exporteren. Als u besluit om van het Bubble-platform af te stappen, zult u de (no-code) applicatielogica opnieuw moeten opbouwen. U kunt dan alleen de applicatiegegevens exporteren en de aangepaste code die u bovenop Bubble hebt toegevoegd.
De vraag om over na te denken is: waarom zou u van Bubble af moeten stappen?