4. září, 2020 – 7 minut čtení

Od svého vzniku v roce 2012, Bubble nikdy nepřestala vyvíjet svou nízkokódovou platformu a zdokonalovat její funkce, a to především díky četné zpětné vazbě, kterou tým získal od komunity.

Dnes je Bubble plnohodnotnou platformou, která podporuje rozsáhlé a komplexní softwarové projekty.

Jako agentuře Bubble se nás často ptají na možnosti této platformy.

Následující seznam poctivě popisuje, co s technologií Bubble (zatím) můžete/nemůžete dělat, abyste si mohli ověřit, zda je to nejvhodnější platforma pro potřeby vašeho projektu.

Bubble je jedno z nejpokročilejších vizuálních programovacích prostředí pro vytváření robustních webových aplikací. Ať už chcete vytvořit desktopovou nebo responzivní webovou aplikaci, která se přizpůsobí jakékoli velikosti obrazovky, s Bubble to (pravděpodobně) zvládnete.

Typickými příklady aplikací, které lze na Bubble skvěle postavit, jsou sociální sítě, produkty typu software jako služba (SaaS) nebo tržiště.

Editor Bubble nabízí širokou flexibilitu, která zkušeným vývojářům umožňuje dosáhnout pixelově dokonalých produktů se složitým designem a požadavky na responzivitu.

✔️ Vytvářejte progresivní webové aplikace (PWA)

Jak jsme představili novinku v našem posledním článku na médiu Medium, náš tým vytvořil instalovatelnou webovou aplikaci (PWA) na platformě Bubble. V podstatě se jedná o minimalistický klon aplikace Uber, který byl nasazen během několika dní díky 100% kombinaci No-Code + Code.

Progresivní webové aplikace (PWA) přinášejí funkce nativní aplikace prostřednictvím webu a mají mnoho výhod:

  • PWA jsou snadno instalovatelné (1 kliknutí u zařízení se systémem Android), takže jsou přístupné z domovské obrazovky stejně jako jakákoli jiná aplikace. To je nesmírně výhodné pro začínající firmy nebo společnosti, které chtějí ušetřit náklady na vývoj nativní mobilní aplikace pro Android i iOS. Navíc nebude potřeba členství v programu Apple Developer Program.
  • Ruční aktualizace a údržba aplikací jsou u PWA minulostí. Vzhledem k tomu, že aplikace jsou obsluhovány webovým prohlížečem, není třeba aplikaci aktualizovat ručně prostřednictvím obchodu s aplikacemi nebo aktivovat nastavení pro automatickou aktualizaci aplikace.
  • PWA jsou ve srovnání se svými nativními protějšky malé. PWA umožňují uživatelům jejich bezproblémové přidání na domovskou obrazovku, a protože velikost aplikace je minimální, uživatel nemusí čekat na spuštění/pokračování v používání PWA.
  • PWA jsou skvělé pro SEO a přinášejí větší nezávislost na obchodech s aplikacemi (riziko zákazu, vysoké provize za in-app platby…).

Pravda, pokud váš projekt nevyžaduje hluboké nativní funkce (úplný seznam funkcí dostupných v aktuálním webovém prohlížeči najdete zde: ttps://whatwebcando.today/), webové aplikace a PWA, které se „cítí“ jako nativní, by měly ve většině případů stačit.

Je dobré vědět, že webovou aplikaci nebo PWA je vždy možné přeměnit na hybridní aplikaci, což umožní její snadné nasazení do obchodů s aplikacemi (Android Play Store a Apple Store).

✔️ Vytvářejte hybridní mobilní aplikace

K dnešnímu dni Bubble nenabízí hotové řešení pro nativní aplikace. Ačkoli tento projekt zřejmě plánují ve svém dlouhodobém plánu, stále je možné vytvářet hybridní mobilní aplikace pomocí editoru Bubble zabalením webových aplikací a publikováním do obchodů.

Hybridní aplikace nabízejí velkou výhodu pro vývojáře, kteří chtějí svou aplikaci často aktualizovat, protože není nutné znovu odesílat novou verzi. Navíc, protože hybridní mobilní aplikace jsou poháněny webovými technologiemi, lze je snadněji nasadit v obchodech Android i Apple, čímž se zkrátí čas a náklady na vývoj.

Hybridní mobilní aplikace také poskytují přístup k více oprávněním a nativním funkcím než webové aplikace a PWA (například kontakty, biometrické & inteligentní přihlašování…).

Existuje vynikající doplněk pro přeměnu optimalizovaných webových aplikací na nativní aplikace: BDK Native od Gaurava Jaina.

✔️ Spouštění vlastního kódu

Nativní možnosti platformy Bubble jsou působivé. Bubble skutečně poskytuje mnoho nativních funkcí pro vytváření výkonných webových aplikací. V některých případech však vizuální jazyk není nejpřizpůsobenějším způsobem, jak vytvořit funkci nebo dosáhnout konkrétní akce. Někdy může být nutné rozšířit funkce vytvořením vlastních prvků a akcí nad možnostmi Bubble.

Většina no-code nástrojů neumožňuje rozšířit možnosti pomocí tradičních řádků kódu. Bubble v tomto bodě vyniká: umožňuje vývojářům spustit vlastní kód pro rozšíření aplikace, když narazí na omezení.

Vývojáři tak mohou vytvářet zásuvné moduly pro psaní a spouštění vlastního (Javascriptového) kódu uvnitř aplikací. Přitom existuje malá pravděpodobnost, že ve svých projektech narazíte na tvrdé omezení. Proto o Bubble raději mluvíme jako o platformě Low-Code, protože je možné přidat kód, který vaši aplikaci vylepší.

✔️ Připojení k externím službám a hardwaru prostřednictvím rozhraní API

Někdy aplikace potřebují shromažďovat data z externích zdrojů nebo spouštět nějaké akce (například načítání dat ze sociálního účtu, odesílání transakčního e-mailu nebo čtení teploty ze senzoru). Platforma Bubble nabízí výkonný nástroj, konektor API, který umožňuje propojit aplikace s externími softwarovými systémy nebo hardwarovými zařízeními. Technicky se můžete prostřednictvím rozhraní API připojit téměř ke všemu, například k motoru poháněnému umělou inteligencí, který klasifikuje obrovskou sadu obrázků, nebo k ovládání zařízení internetu věcí.

✔️ Připojení k externím databázím

Ve výchozím nastavení se data aplikací načítají a ukládají na serverech AWS. Editor Bubble poskytuje nástroj SQL Database Connector, který vývojářům umožňuje připojit aplikace k externím databázím a spouštět dotazy SQL z prostředí Bubble.

✔️ Škálování aplikace s růstem firmy

Škálovatelnost je pravidelným problémem. Mnoho zakladatelů se ptá, zda bude engine Bubble dostatečně výkonný, aby podpořil rozšiřování jejich aplikace.

První věc, kterou je třeba zvážit, je, že výkon a možnosti škálování jsou do značné míry ovlivněny tím, jak je aplikace v editoru Bubble vytvořena a optimalizována. Protože Bubble je programovací nástroj jako každá jiná technologie, musí vývojáři dodržovat správné postupy, aby zajistili slušný výkon a poskytli dobrý zážitek koncovým uživatelům. Jinými slovy, vyžaduje to dobře navržený databázový model, optimalizovanou logiku a databázové dotazy a funkční uživatelské prostředí.

Na druhé straně tým Bubble usilovně pracuje na zlepšení škálovatelnosti a výkonu a nabízí různé (cenově dostupné) hostingové plány, které vyhovují potřebám výkonu aplikace. Ve výchozím nastavení sdílí vaše aplikace Bubble stejné výpočetní prostředky se všemi ostatními aplikacemi Bubble (v hostingových plánech Hobby a Personal). U vyšších plánů můžete mít k dispozici větší kapacitu (to znamená, že aplikace může v daném období provést více akcí, když je to potřeba).

Pokud je to potřeba, tým Bubble nabízí svým klientům vyhrazené plány. V takovém případě můžete využívat infrastrukturu, která vždy běží na serveru AWS, ale je izolovaná od ostatních aplikací Bubble, což vede ke zvýšení spolehlivosti a škálovatelnosti.

Bubble je cenově dostupné řešení pro zahájení softwarového projektu s omezenými výpočetními potřebami. Když to bude nutné, je snadné škálovat infrastrukturu vaší aplikace, a to za přiměřenou cenu.

✔️ Správa přístupu k datům a soukromí

Bubble je ve srovnání s jinými no-code nástroji extrémně otevřená platforma. To znamená, že existuje nekonečné množství způsobů, jak na Bubble vyvíjet aplikace, někdy i se špatnými návyky. Ve výchozím nastavení jsou při vytváření aplikace Bubble všechna data přístupná veřejnosti. Editor Bubble však nabízí některé nástroje pro konfiguraci přístupu k datům ve vaší aplikaci. Pravidla ochrany osobních údajů totiž dávají možnost chránit informace a zajistit jejich bezpečnost.

❌ Vytváření nativních aplikací

Platforma Bubble zatím neposkytuje specifický engine pro vytváření a nasazování nativních aplikací v obchodech s aplikacemi. Zatímco toto je něco, co by mělo být implementováno ve střednědobém/dlouhodobém horizontu, stále je možné vytvářet mobilní PWA nebo nasazovat hybridní mobilní aplikace v obchodech pomocí některých technik a pracovních postupů (viz výše).

❌ Hostování aplikace na soukromém nebo lokálním serveru

Bubble poskytuje hostování pro své zákazníky na cloudových serverech Amazon Web Services (AWS) nebo vyhrazených instancích. V současné době není možné samostatně hostovat aplikaci Bubble na soukromé hostingové službě nebo on-premise serveru.

To znamená, že cloud computing se stává normou a AWS je uznáván jako vedoucí poskytovatel cloudu (>50% podíl na trhu), pokud jde o výkon a bezpečnost.

❌ Provozování v jiných jazycích než Javascript

Je pravda, že vývojáři Bubble mohou rozšířit funkce aplikace pomocí vlastního kódu. Podporován je však pouze jazyk Javascript.

Jádro jádra Bubble je napsáno v jazyce Javascript. K dnešnímu dni budou moci vývojáři používat Javascript pouze k vytváření vlastních integrací nad Bubble.

❌ Vývoj složitých algoritmů

Vizuální jazyk Bubble není nejvhodnějším nástrojem pro vývoj složitých algoritmů, zejména rekurzivních nebo smyčkových operací nad daty. Jako lepší možnost mohou vývojáři použít nebo napsat vlastní algoritmy mimo Bubble (například hostované na Amazon Lambda) a použít je předáním dat přes API (například algoritmus strojového učení).

❌ Vytváření (pokročilých) videoher

Neočekávejte, že s enginem Bubble vytvoříte a spustíte složité 3D nebo plošinovky… i když někteří šikovní uživatelé Bubble dokázali vytvořit malé hry, které stojí za vyzkoušení, například The Legend of Zeldinia od J805 nebo Pizza Mania od Landowského.

❌ Export kódu

Aplikace Bubble lze spustit pouze na platformě Bubble. Tento proprietární model je odůvodněn obchodním modelem společnosti Bubble. Nelze tedy exportovat aplikaci jako kód. Pokud se rozhodnete od platformy Bubble odejít, budete muset logiku aplikace (bez kódu) vytvořit znovu. Budete moci exportovat pouze data aplikace a vlastní kód, který jste přidali nad platformu Bubble.

Otázka k zamyšlení zní: proč byste měli přecházet z platformy Bubble?

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.