Nocode Safari: Bravo - czyli natywna aplikacja w godzinę

Czy to możliwe by stworzyć natywną aplikację mobilną w godzinę... no, parę godzin?

Bravo Studio to wyjątkowa platforma pozwalająca na import projektu Figmy lub Adobe XD na podstawie których generowany jest kod natywnej aplikacji mobilnej. Brzmi kapitalnie. No i w zasadzie tak działa, ale są haczyki...

Tekst ten jest częścią cyklu Nocode Safari w którym przedstawiam narzędzia no-code które dają supermoce. Zobacz pozostałe rozwiązania warte Twojej uwagi!

Interfejs

Jest to świeże podejście do tematu tworzenia aplikacji. Platformy często muszą dokonywać kompromisów. Z jednej strony jest podejście "komponentów" - platforma ma przygotowany szereg "klocków" z których można budować aplikacje. Takimi przykładami jest Softr.io czy Adalo które skupiły się na dostarczeniu sposobu na zbudowanie najpopularniejszych widoków jakie aplikacja może mieć.

Z drugiej strony są narzędzia które skupiają się na odwzorowaniu metod tworzenia interfejsów - budują wizualny edytor który pomaga tworzyć rozwiązanie w ramach koncepcji znanych z klasycznego programowania. Tu przykładem jest Flutterflow czy Bubble. I naturalnie te rozwiązania też mogą budować biblioteki komponentów, nie w tym rzecz. Efektem tego bardziej kompletnego, pełnego podejścia jest spowolnienie developmentu - bo im więcej mamy możliwości tym więcej czasu one będą pochłaniały.

Ja czasami lubię Adalo za prostotę bo pozwala mi się skupić na dojściu w najprostszy sposób do celu. Więc jest to pochodna wyboru, czy dana platforma chcę użytkownika jak najszybciej doprowadzić do jego biznesowego celu czy jak najłatwiej pomóc zbudować dowolne rozwiązanie.

Don't Compete - Change the Game

Bravo Studio wywraca stolik w tej grze. Startup nie poświęcił czasu na budowanie UI i logiki do tworzenia interfejsu aplikacji a skupił się na importowaniu plików z najpopularniejszych platform do projektowania. Upiekł tym samym dwie pieczenie na jednym ogniu: Uniknął deliberacji znudzonych recenzentów o tym, że Flutterflow ma więcej a Adalo lepiej z jednej strony a z drugiej - co znacznie ważniejsze -  rozwiązał kolosalny problem migracji projektu do aplikacji.

Bravorize!

Wszystko opiera się na specjalnym tagowaniu projektu w Figmie/AdobeXD - Bravo dostarcza Masterlistę Tagów które potem rozpoznaje i na ich podstawie transformuje w odpowiednio zachowujący się w aplikacji widget.

Na przykład tag [container] z jednej strony jest podstawowym elementem interfejsu aplikacji, z drugiej pozwala na programowanie list jak poniżej - sam kontener jest po prostu powielany na podstawie danych z API.

Bravo wspiera wiele różnych komponentów - warto rzucić okiem na pełną listę - choć bez kontekstu może ona nieco odstraszać. Jest to przyjemniejsze niż się wydaje. Poniżej przykład komponentu video.

Nawigacja jest budowana na podstawie linków tworzonych w aplikacji do prototypowania.

Brzmi fantastycznie prawda? Ale gdzie te ten haczyk który pojawił się w zajawce?

Backendless

Bravo nie posiada backendu czyli warstwy trzymania danych i budowania logiki biznesowej aplikacji. To w sumie zabawne, bo jakby się zastanowić to nie posiada też warstwy budowania interfejsu - ta jest oddelegowana do domenowych specjalistów - Figmy i Adobe XD. Podobnie jest z backendem - Bravo optymalizuje się na integracje po API (oho - API - musiałeś Jerzy wszystko zepsuć...). To nawiasem mówiąc bardzo słuszny trend zbieżny ze współczesnym sposobem rozwoju oprogramowania.

Pod aplikację Bravo można podpiąć dowolne API, ale jest też przygotowane pare konektorów z popularnymi rozwiązaniami nocode takimi jak Airtable czy Xano. Dokumentacja krok po kroku przechodzi jak połączyć się ze swoją bazą na Airtable.

Ale na połączeniu z bazą danych proces tworzenia aplikacji się nie kończy - Bravo posiada całą rozbudowaną warstwę "Data binding" czyli łączenia interfejsu z endpointami (funkcjami) API. No i to jest ta najtrudniejsza rzecz w całym przedsięwzięciu.

Dla kogo?

Bravo budzi we mnie skrajne uczucia. Z jednej strony mam wrażenie, że jest to idealne rozwiązanie dla projektantów którzy mogą realizować się w Figmie a następnie w prosty sposób zbudować aplikację którą można wrzucić do sklepu. Wow. Z drugiej strony - API. Backend. Integracje. No nie są to rzeczy absolutnie trywialne. Bardzo ciekaw jestem Waszego zdania na ten temat - czy Bravo to interesujący wybór dla projektantów?

Wrap up

Myślę, że Bravo posiada bardzo ciekawe i przyszłościowe podejście do tworzenia aplikacji (nawiasem mówiąc moim zdaniem zostanie kupione przez Adobe i włączone do Figmy jako konwerter projektów do natywnych aplikacji).

Budując aplikację na Bravo przeszedłem przez parę poradników (jeśli to narzędzie Cię zainteresowało to tutaj znajdziesz tutorial do zbudowania pierwszej aplikacji Bravo). Bravo dynamicznie się rozwija i widać to w warstwie komunikowania jak korzystać z narzędzia. Dużo filmów zawiera widoki które już inaczej działają w obecnej wersji. Pewne rzeczy które trzeba zrobić by osiągnąć oczekiwany efekt nie są jasno komunikowane w interfejsie.

Bravo szczególnie mocno uwypukla widoczny we wszystkich narzędziach no-code problem "czy da się to zrobić" opiera się bowiem na tagach które opisują działania widgetów i elementów interfejsu. Jeśli Bravo nie stworzyło danego tagu to zazwyczaj nie ma szans na obejście tego.

Najczęściej są to przypadki brzegowe ale życie mi pokazało, że składa się z wieeeelu przypadków brzegowych :) Więc jeśli mamy robić hobbistyczny projekt to spoko, jeśli coś poważniejszego - zróbmy szybkie proof of concept, że dany widget działa zgodnie z naszymi oczekiwaniami.

Nawiasem mówiąc sprawdzanie tego co platforma no-code umie często zaczynam od strony z Roadmapą - to mi pokazuje czego nie umie. Często z tego można antycypować na jakim etapie ścieżki produktowej jest. Link do roadmapy Bravo Studio.