Od początku swojego istnienia w 2012 r, Bubble nigdy nie przestało rozwijać swojej platformy low-code i udoskonalać jej funkcji, w dużej mierze dzięki licznym opiniom zebranym przez zespół od społeczności.
Dzisiaj Bubble jest platformą typu full-stack, która obsługuje duże i złożone projekty programistyczne.
Jako agencja Bubble często otrzymujemy pytania dotyczące możliwości platformy.
Poniższa lista szczerze opisuje, co możesz/nie możesz zrobić z technologią Bubble (jak dotąd), abyś mógł sprawdzić, czy jest to najbardziej odpowiednia platforma dla twoich potrzeb projektowych.
Bubble jest jednym z najbardziej zaawansowanych wizualnych środowisk programistycznych do tworzenia solidnych aplikacji internetowych. Niezależnie od tego, czy chcesz stworzyć aplikację desktopową czy responsywną, która pasuje do każdego rozmiaru ekranu, możesz (prawdopodobnie) zrobić to z Bubble.
Typowe przykłady aplikacji, które mogą być zbudowane na Bubble to sieci społecznościowe, oprogramowanie jako usługa (SaaS) lub rynki.
Edytor Bubble oferuje szeroką elastyczność, która pozwala doświadczonym programistom na osiągnięcie perfekcyjnych pod względem pikseli produktów o złożonych projektach i wymaganiach responsywnych.
- ✔️ Build Progressive Web Apps (PWA)
- ✔️ Buduj hybrydowe aplikacje mobilne
- ✔️ Uruchom niestandardowy kod
- ✔️ Łączenie się z zewnętrznymi usługami i sprzętem poprzez API
- ✔️ Łączenie z zewnętrznymi bazami danych
- ✔️ Skaluj aplikację, gdy biznes rośnie
- ✔️ Zarządzaj dostępem do danych i prywatnością
- ❌ Buduj natywne aplikacje
- ❌ Hostuj aplikację na prywatnym lub lokalnym serwerze
- ❌ Wykonywanie innych języków niż Javascript
- ❌ Rozwijanie złożonych algorytmów
- ❌ Tworzenie (zaawansowanych) gier wideo
- ❌ Kod eksportowy
✔️ Build Progressive Web Apps (PWA)
Jak przedstawiliśmy wiadomość w naszym ostatnim artykule na Medium, nasz zespół zbudował instalowalną aplikację internetową (PWA) na platformie Bubble. Zasadniczo jest to minimalistyczny klon aplikacji Uber, wdrożony w ciągu kilku dni z mieszanką 100% No-Code + Code.
Progresywne aplikacje internetowe (PWA) przynoszą natywne funkcje aplikacji za pośrednictwem sieci i mają wiele zalet:
- PWA są łatwo instalowalne (1 kliknięcie z urządzeniami z systemem Android), dzięki czemu są dostępne z ekranu głównego, tak jak każda inna aplikacja. Jest to niezwykle korzystne dla start-upów lub firm, które chcą zaoszczędzić na kosztach tworzenia natywnej aplikacji mobilnej zarówno dla Androida, jak i iOS. Dodatkowo członkostwo w Apple Developer Program nie będzie potrzebne.
- Ręczne aktualizacje aplikacji i konserwacja to już przeszłość w przypadku PWA. Ponieważ aplikacje są obsługiwane przez przeglądarkę internetową, nie ma potrzeby ręcznego aktualizowania aplikacji za pośrednictwem sklepu z aplikacjami lub aktywowania ustawienia, aby aplikacja była aktualizowana automatycznie.
- PWA mają niewielkie rozmiary w porównaniu z ich natywnymi odpowiednikami. PWA pozwalają użytkownikom na bezproblemowe dodawanie ich do ekranu głównego, a ponieważ rozmiar aplikacji jest minimalny, nie ma czasu oczekiwania na rozpoczęcie/kontynuację korzystania z PWA przez użytkownika.
- PWA są świetne dla SEO i przynoszą większą niezależność od sklepów z aplikacjami (ryzyko bana, wysokie prowizje za płatności in-app…).
Szczerze mówiąc, o ile Twój projekt nie wymaga głębokich funkcji natywnych (zobacz pełną listę funkcji dostępnych w aktualnej przeglądarce internetowej tutaj: ttps://whatwebcando.today/), aplikacje webowe i PWA, które „czują się” natywne, powinny wykonać pracę w większości przypadków.
Dobrze wiedzieć, że zawsze istnieje możliwość przekształcenia aplikacji webowej lub PWA w aplikację hybrydową, umożliwiając jej łatwe wdrożenie do sklepów z aplikacjami (Android Play Store i Apple Store).
✔️ Buduj hybrydowe aplikacje mobilne
Do tej pory Bubble nie oferuje rozwiązania out-of-the-box dla aplikacji natywnych. Podczas gdy ten projekt wydaje się być zaplanowany w ich długoterminowej mapie drogowej, nadal możliwe jest tworzenie hybrydowych aplikacji mobilnych za pomocą edytora Bubble poprzez zawijanie aplikacji internetowych i publikowanie do sklepów.
Aplikacje hybrydowe oferują dużą przewagę dla deweloperów, którzy chcą często aktualizować swoje aplikacje, ponieważ nie jest konieczne ponowne przesyłanie nowej wersji. Dodatkowo, jako że hybrydowe aplikacje mobilne są oparte na technologiach webowych, mogą być łatwiej wdrażane zarówno w sklepach Android, jak i Apple, skracając w ten sposób czas i koszty rozwoju.
Ale hybrydowe aplikacje mobilne zapewniają dostęp do większej liczby uprawnień i natywnych funkcji niż aplikacje webowe i PWA (takie jak Kontakty, Biometria & Smart Login…).
Istnieje doskonała wtyczka do przekształcania zoptymalizowanych aplikacji internetowych w aplikacje natywne: BDK Native autorstwa Gaurav Jain.
✔️ Uruchom niestandardowy kod
Niekodowane możliwości natywne platformy Bubble są imponujące. Rzeczywiście, Bubble zapewnia wiele natywnych funkcji do budowania potężnych aplikacji internetowych. Ale w niektórych przypadkach, język wizualny nie jest najbardziej dostosowanym sposobem na zbudowanie funkcji lub osiągnięcie konkretnego działania. Czasami może być konieczne rozszerzenie funkcji poprzez tworzenie niestandardowych elementów i akcji na szczycie możliwości Bubble.
Większość narzędzi typu no-code nie pozwala na rozszerzenie możliwości za pomocą tradycyjnych linii kodu. Bubble wyróżnia się w tej kwestii: pozwala programistom na uruchomienie niestandardowego kodu w celu rozszerzenia ich aplikacji, gdy napotkają ograniczenia.
Tak więc, programiści mogą tworzyć wtyczki do pisania i uruchamiania niestandardowego kodu (Javascript) wewnątrz aplikacji. To powiedziawszy, istnieje niewielka szansa, że trafisz na twardy limit w swoich projektach. Dlatego wolimy odnosić się do Bubble jako platformy Low-Code, ponieważ możliwe jest dodawanie kodu w celu ulepszenia aplikacji.
✔️ Łączenie się z zewnętrznymi usługami i sprzętem poprzez API
Czasami aplikacje muszą zbierać dane z zewnętrznych źródeł lub wyzwalać pewne działania (na przykład pobieranie danych z kont społecznościowych, wysyłanie transakcyjnego e-maila lub odczytywanie temperatury z czujnika). Platforma Bubble oferuje potężne narzędzie, konektor API, do łączenia aplikacji z zewnętrznymi systemami oprogramowania lub urządzeniami sprzętowymi. Technicznie rzecz biorąc, poprzez API można połączyć się niemal ze wszystkim, np. z silnikiem napędzanym przez AI do klasyfikowania ogromnego zbioru obrazów lub kontrolowania urządzenia IoT.
✔️ Łączenie z zewnętrznymi bazami danych
Domyślnie dane aplikacji są odczytywane i przechowywane na serwerach AWS. Edytor Bubble udostępnia narzędzie, SQL Database Connector, które pozwala programistom łączyć aplikacje z zewnętrznymi bazami danych i uruchamiać zapytania SQL z poziomu Bubble.
✔️ Skaluj aplikację, gdy biznes rośnie
Skalowalność jest stałym problemem. Wielu założycieli zastanawia się, czy silnik Bubble będzie wystarczająco potężny, aby wesprzeć skalowanie ich aplikacji.
Pierwszą rzeczą do rozważenia, wydajność i możliwości skalowania są mocno dotknięte przez to, jak aplikacja jest zbudowana i zoptymalizowana na edytorze Bubble. Ponieważ Bubble jest narzędziem programistycznym, jak każda inna technologia, programiści muszą przestrzegać dobrych praktyk, aby zapewnić przyzwoitą wydajność i dostarczyć dobre doświadczenia użytkownikom końcowym. Innymi słowy, wymaga to dobrze zaprojektowanego modelu bazy danych, zoptymalizowanej logiki i zapytań do bazy danych oraz funkcjonalnego doświadczenia użytkownika.
Po drugiej stronie, zespół Bubble ciężko pracuje nad skalowalnością i poprawą wydajności i oferuje różne (niedrogie) plany hostingowe, aby dostosować się do potrzeb wydajności aplikacji. Domyślnie, Twoja aplikacja Bubble współdzieli te same zasoby obliczeniowe z innymi aplikacjami Bubble (w planach hostingowych Hobby i Personal). Na wyższych planach możesz mieć większą pojemność (co oznacza, że aplikacja może wykonać więcej działań w danym okresie, kiedy jest to konieczne).
W razie potrzeby zespół Bubble oferuje swoim klientom plany dedykowane. W takim przypadku korzystasz z infrastruktury, zawsze działającej na serwerze AWS, ale odizolowanej od innych aplikacji Bubble, co prowadzi do zwiększonej niezawodności i skalowalności.
Bubble jest przystępnym rozwiązaniem, aby rozpocząć projekt oprogramowania z ograniczonymi potrzebami obliczeniowymi. Kiedy staje się to konieczne, łatwo jest skalować infrastrukturę swojej aplikacji, za uczciwą cenę.
✔️ Zarządzaj dostępem do danych i prywatnością
Bubble jest niezwykle otwartą platformą w porównaniu do innych narzędzi bez kodu. To powiedziawszy, istnieje nieskończenie wiele sposobów na stworzenie aplikacji na Bubble, czasami ze złymi nawykami. Domyślnie wszystkie dane są otwarte dla publiczności, gdy tworzysz aplikację Bubble. Jednak edytor Bubble oferuje pewne narzędzia do konfigurowania dostępu do danych w Twojej aplikacji. Rzeczywiście, zasady prywatności daje moc, aby chronić informacje i upewnić się, że jest bezpieczny.
❌ Buduj natywne aplikacje
Platforma Bubble nie zapewnia konkretnego silnika do tej pory do budowania i wdrażania natywnych aplikacji w sklepach z aplikacjami. Podczas gdy jest to coś, co powinno zostać wdrożone w połowie/długofalowo, nadal możliwe jest budowanie mobilnych PWA lub wdrażanie hybrydowych aplikacji mobilnych w sklepach z pewnymi technikami i obejściami (patrz wyżej).
❌ Hostuj aplikację na prywatnym lub lokalnym serwerze
Bubble zapewnia hosting dla swoich klientów na serwerach w chmurze Amazon Web Services (AWS) lub dedykowanych instancjach. Obecnie nie jest możliwe samodzielne hostowanie aplikacji Bubble w prywatnej usłudze hostingowej lub na serwerze lokalnym.
Przyznaje się, że przetwarzanie w chmurze staje się normą, a AWS jest uznawane za wiodącego dostawcę usług w chmurze (>50% udziału w rynku) pod względem wydajności i bezpieczeństwa.
❌ Wykonywanie innych języków niż Javascript
Prawdą jest, że programiści Bubble mogą rozszerzać funkcje aplikacji za pomocą niestandardowego kodu. Ale obsługiwany jest tylko język Javascript.
Rdzeń silnika Bubble jest napisany w języku Javascript. Do tej pory programiści będą mogli używać Javascript tylko do budowania niestandardowych integracji na szczycie Bubble.
❌ Rozwijanie złożonych algorytmów
Język wizualny Bubble nie jest najbardziej odpowiednim narzędziem do rozwijania złożonych algorytmów, zwłaszcza operacji rekurencyjnych lub pętli na danych. Lepszym rozwiązaniem jest używanie lub pisanie własnych algorytmów poza Bubble (na przykład na Amazon Lambda) i używanie ich poprzez przekazywanie danych przez API (na przykład algorytm uczenia maszynowego).
❌ Tworzenie (zaawansowanych) gier wideo
Nie oczekuj tworzenia i uruchamiania złożonych gier 3D lub platformowych z silnikiem Bubble… chociaż niektórym bystrym użytkownikom Bubble udało się stworzyć małe gry, które są warte spróbowania, takie jak The Legend of Zeldinia autorstwa J805 lub Pizza Mania autorstwa Landowskiego.
❌ Kod eksportowy
Aplikacje Bubble mogą być uruchamiane tylko na platformie Bubble. Ten zastrzeżony model jest uzasadniony modelem biznesowym Bubble. Dlatego nie można eksportować aplikacji jako kodu. Jeśli zdecydujesz się odejść od platformy Bubble, będziesz musiał przebudować (niekodowaną) logikę aplikacji. Będziesz mógł wyeksportować tylko dane aplikacji i niestandardowy kod, który dodałeś na górze Bubble.
Pytanie do przemyślenia brzmi: dlaczego miałbyś potrzebować odejść od Bubble?
.