od Podstaw
6 godz. 34 min · Bubble · Full-stack i Programowanie
Krzysiek PiekarzAutomation Specialist / No-code DeveloperZapomnij o ręcznym pisaniu kodu i żmudnym tworzeniu stron www lub aplikacji! Wykorzystując przejrzysty edytor Bubble będziemy w stanie rozpocząć naszą pracę od czystej kartki i wyklikać cały układ bezpośrednio w interfejsie. Dodatkowo pokażę Ci w jaki sposób można wdrożyć do projektu w pełni funkcjonalną logikę obsługi użytkowników nawet wtedy, gdy nie posiadasz żadnej wiedzy programistycznej. A to wszystko w niemal ekspresowym tempie i bez zbędnych konfiguracji, które bywają zmorą programistów.
Edytor zapewnia spójny i intuicyjny interfejs, dzięki któremu stworzenie nawet skomplikowanej aplikacji staje się wyjątkowo proste. Dodatkowo wbudowana baza danych sprawia, że nie musimy korzystać z żadnych zewnętrznych rozwiązań a zarządzanie nią jest na tyle intuicyjne, że poradzi sobie z tym nawet niedoświadczony użytkownik. Kolejną zaletą jest dostęp do ogromnej biblioteki pluginów, dzięki którym będziemy mogli wzbogacić naszą aplikację o obsługę płatności, analitykę, SEO i wiele więcej.
Niemal wszystko, z wykorzystaniem Bubble bezproblemowo stworzymy klony takich serwisów jak: Twitter, Asana, Todoist, AirBnB, Trip Advisor lub Yelp. Edytor pozwala stworzyć w pełni funkcjonalną aplikację w ciągu nawet kilku dni! Dzięki temu nie będziemy musieli przepalać naszego budżetu na zewnętrzne software house, którym wdrożenie podobnych rozwiązań może zająć tygodnie pracy.
W tym kursie skupimy się na podstawach pracy z edytorem, tak aby korzystanie z niego stało się dla Ciebie naturalne. Wykorzystamy w praktyce zakładkę Design, która jest odpowiedzialna za front-end naszej strony oraz zapoznamy się z działaniem workflows, które "tchną życie" w nasz projekt. Efektem naszej pracy będzie nowoczesny landing page oraz w pełni funkcjonalna strona logowania/rejestracji. Dodatkowo zadbamy również o to, by całość była w pełni responsywna i dobrze prezentowała się zarówno na ekranach desktopowych, jak i urządzeniach mobilnych.
Jedną z zalet edytora Bubble jest to, że nie stanowi on hermetycznego środowiska, w którym jesteśmy skazani na korzystanie jedynie z rozwiązań zaprojektowanych przez jego twórców. To niesamowicie funkcjonalna platforma, którą w prosty sposób możemy połączyć również z zewnętrznymi usługami wykorzystując gotowe pluginy. Pokażę Ci w jaki sposób możemy zaimplementować do naszego projektu opcję logowania i rejestracji z wykorzystaniem Google, tak, aby użytkownik mógł utworzyć konto w naszym serwisie za pomocą jednego kliknięcia. A kolejnym bonusem będzie przesyłanie adresów e-mail z formularza zapisu na newsletter bezpośrednio do bazy w Airtable!
Ten kurs powstał z myślą o osobach, które chcą poznać edytor Bubble i nowy kierunek rozwoju aplikacji no-code. Będzie również doskonałym punktem startowym dla tych wszystkich, którzy nie posiadają żadnej wiedzy programistycznej ale nadal chcą tworzyć w pełni funkcjonalne serwisy i strony internetowe. Poziom kursu został dopasowany zarówno do osób, które do tej pory nie korzystały z Bubble, jak i tych, którzy posiadają już przynajmniej podstawowe doświadczenie w tym zakresie. Dzięki zdobytej w nim wiedzy będziesz mógł postawić pierwszy krok na drodze, która pozwoli Ci przekuć Twój pomysł w działający startup.
Jesteśmy znów w edytorze, w którym usunąłem wszystkie zbędne elementy.
Rozpoczynamy więc naszą pracę od czystej kartki.
Zanim jednak do tego przystąpimy, wróćmy
na chwilę do strony wzorcowej i zobaczmy, jak jest tutaj to wszystko rozmieszczone.
No więc przede wszystkim mamy stronę, która
rozciąga się na całą szerokość okna przeglądarki.
Kolejno mamy tutaj kontener, który jest wycentrowany w ramach tego okna.
Dodatkowo ma jakąś maksymalną szerokość,
jak również nie rozciąga się poza jakąś tutaj określoną wartość.
A w samym tym kontenerze
umieszczone są wszystkie elementy składowe, czyli tutaj header, sekcja top.
Tu mamy jakąś dodatkową sekcję z benefitami, następną sekcja itd.
Spróbujmy więc teraz odwzorować sobie ten układ w samym edytorze.
Wróćmy więc przede wszystkim do ustawień naszej strony.
Tu mam ustawione container layout na column.
Natomiast ponieważ w środku będzie się znajdował tylko i wyłącznie jeden element,
czyli ten nasz tutaj główny wrapper, to tak naprawdę nie ma tutaj znaczenia czy
wybierzesz column czy wybierzesz row, abyś tylko nie wybierał żadnych z
tych dwóch tutaj fixed ani align to parent.
Ja zostawię tutaj column.
Dodatkowo chcę aby cała moja strona miała kolor biały.
A więc wpiszę tutaj sześć razy wartość F.
Ustawienia dla strony mamy już gotowe.
Teraz dodajmy właśnie ten wrapper, który będzie nam trzymał cały nasz content.
W tym celu podaję tutaj grupę.
Nazwijmy ją grupa wrapper.
I przejdźmy tutaj do jej ustawień.
Ta grupa z kolei przede wszystkim będzie
wycentrowana, czyli dokładnie tutaj umieszczona w samym centrum naszej strony.
A dodatkowo jak już pamiętasz, mówiliśmy,
że wszystkie elementy w środku będą umieszczone jeden pod drugim,
a więc dla nich będziemy musieli ustawić wartość tutaj na column.
Teraz musimy tutaj zdefiniować,
te wartości. Na chwilę obecną
szerokość takiego elementu tej grupy wrapper ustawiona jest na stałe na 400 pixeli.
Ponieważ zaznaczona jest tutaj opcja
make this element fixed-width oznacza to, że jeżeli będziemy zwężać bądź
rozszerzać okno przeglądarki, to szerokość tej grupy nigdy się nie zmieni.
Nam natomiast na tym nie zależy.
Chcemy aby nasza strona była w pełni
responsywna, a więc odznaczamy tutaj tą opcję
I teraz musimy ustawić wartość minimalną oraz wartość maksymalną.
Wartość minimalna na jaką chce, żeby taka grupa się skurczyła to 320 pixeli.
A wartość maksymalna jaką może się rozszerzyć to 1280 pixeli.
Czyli jest to dokładnie taka wartość, z jaką pracujemy tutaj dla strony w naszym
builderze.
Dlaczego tutaj ustawiłem 320 pixeli, ponieważ jest to minimalna wartość, na
jaką chcemy obsługiwać dla ekranów telefonów komórkowych.
Jeżeli chciałbyś zobaczyć tutaj podgląd takiej skrótowej strony na różnych
rozdzielczościach, to możemy to zrobić bezpośrednio z samego Bubble poprzez
zakładkę responsive. Wystarczy, że tutaj kliknę.
Teraz mogę sobie podejrzeć jak moja strona
będzie się prezentowała na różnych rozdzielczościach.
Jak widzisz minimalna jaką tutaj mamy to 320 pixeli.
Dlatego ja właśnie tutaj zawsze ustawiam
tę wartość na 320 pixeli jako minimalną, a maksymalna jest dowolna, ponieważ tutaj
mogę kliknąć 1200, ale równie dobrze mogę sobie rozszerzać tutaj całą moją stronę.
Jak widzisz
nasz wrapper maksymalnie rozciągnął się na 1280 pixeli, a dodatkowo jest wycentrowany
i dalej się nie rozszerza, a więc osiągnęliśmy dokładnie ten sam efekt jaki
mamy tutaj ten wrapper właśnie jest
wycentrowany i ma wartość ustawioną na maksymalnie 1280 pixeli.
Wróćmy tutaj do edytora.
Jak widzisz możemy też podejrzeć
naszą stronę tutaj na widoku tabletowym.
Tutaj na 992 pixele.
Te wartości są żywcem skopiowane tutaj z tych wartości responsywnych z tzw.
breakpointów właśnie z bootstrap'a.
Ja kiedyś się do nich stosowałem i tak
projektowałem swoje strony internetowe i aplikacje.
Natomiast jeżeli też to robiłeś i działałeś w taki sposób, to doskonale wiesz, że
czasami zapanowanie nad tym, jak te Twoje elementy będą wyglądać na różnych
rozdzielczościach może przyprawić o ból głowy.
Dlatego też ja właśnie od jakiegoś czasu stosuję to podejście 320 do 1280 pixeli.
Dlaczego akurat takie? Już Ci pokazuję.
Wróćmy sobie do samego edytora, czyli tutaj UI builder.
I teraz do tej grupy wrapper.
Wrzućmy do środka
4 grupy.
Jeżeli tutaj ustawię 1 grupę,
muszę tu wybrać dowolną inną wartość niż fixed.
Ja ustawię np. row
w ten sposób
mam tutaj teraz dostęp do minimalnej i maksymalnej szerokości.
Jako minimalną wartość.
Tutaj również ustawiam 320 pixeli.
Natomiast wartość maksymalną pozostawię pustą.
Wtedy pojawia mi się tutaj inf, czyli infinity.
Oznacza to, że taka grupa będzie się
rozciągała na całą dostępną szerokość okna rodzica.
Teraz wystarczy, że sobie skopiuje taką grupę 4 razy muszę na nią najechać.
Mam tu informacje, że mam zaznaczoną grupę b.
Klikam
command C i command V.
Natomiast żeby nam to oczywiście zadziałało to
dla grupy wrapper musimy na chwilę obecną ustawić tutaj row.
OK.
Group wrapper, mamy row.
Tu nam jakieś dziwne wartości powskakiwały dla tych grup.
Wystarczy, że to tutaj teraz zmienię, ok.
Mamy grupę wrapper.
Jeszcze raz grupa wrapper.
Minimalna szerokość 320.
Maksymalna 1280.
W środku grupa B i grupa C.
Skopiujmy to jeszcze raz i raz, tak żebyśmy otrzymali tutaj 4 grupy.
Czy tutaj nam się tutaj odpowiednio skopiowało?
Niestety nie.
Dałem jedną grupę wewnątrz drugiej.
Teraz osiągnąłem dokładnie taki efekt, jaki mi chodziło.
Mamy grupę wrapper, a w środku tutaj 4 grupy.
Każda z nich może się skurczyć minimalnie do wartości 320 pixeli, a maksymalnie
rozszerzyć na całą dostępną dla niej przestrzeń.
Ponieważ nasz kontener ma 1280 pixeli,
to te 4 grupy mieszczą nam się tutaj jedna obok siebie.
Ponieważ 4 razy 320, czyli ta minimalna
wartość daje nam właśnie 1280 pixeli, dodajmy teraz tym grupom
tutaj kolory.
I zaraz zademonstruje Ci, jak to wszystko
się będzie zachowywało wraz ze zmianą rozdzielczości.
Dajemy tu wszędzie odpowiednie kolory, tu może taki i jeszcze dla tej grupy.
Kolor czerwony.
Jeżeli teraz podejrzałbym sobie naszą stronę
tutaj w trypie responsywnym, to muszę przejechać do wartości 1280 pixeli.
Jak widzisz tutaj mi się
wyświetla aktualna szerokość mojej strony to jedziemy do 1280 pixeli.
Jak widzisz, przy tej wartości wszystkie te
4 grupy mieszczą się obok siebie, ponieważ mogą się skurczyć,
oczywiście minimalnie do 320 pixeli.
Jeśli jednak skurczy się sam element rodzica.
Widzisz jest to teraz wartość poniżej 1280 pixeli.
To już te 4 grupy nie zmieszczą nam się
obok siebie, ponieważ 4 razy 320 daje 1280, a my mamy
dostępne tylko 1275, a więc te 3 grupy zajęły
tutaj całe dostępne dla nich miejsce, a ta przeskoczyła poniżej.
Jak się domyślasz, przy takich właśnie ustawieniach te 320 na 1280 pixeli
mamy zawsze pewność jak się będą zachowywały nasze grupy.
A więc przed 1280 pixelach zmieszczą się 4.
Jeśli zjedziemy do wartości 960 pixeli.
To będą nam się mieściły tutaj 3, bo 3 razy 320 daje nam 960 pixeli.
Jeśli jednak zjada teraz chociaż pixel mniej.
To jak widzisz teraz te dwie grupy zajęły całą dostępną przestrzeń,
a dwie kolejne tutaj sobie podzieliły tą przestrzeń między sobą.
Jak się domyślasz, te dwie grupy
będą ustawione obok siebie do szerokości 640 pixeli.
A jeżeli zjdziemy poniżej niej.
To wszystko teraz tu przeskoczy i każda ta grupa zajmuje całą dostępną przestrzeń.
W ten sposób mam pewność, jak moje
elementy zachowują się na różnych rozdzielczościach.
Nie muszę pamiętać, czy odpowiednio
ustawiłem to na 768 czy może na 990 czy tam innych wartości.
Ja wiem, że u mnie takimi wartościami
granicznymi jest właśnie 320, 640, 960 i 1280,
mając takie ustawienia właśnie jestem w stanie odpowiednio sobie tutaj wszystko
zdefiniować, dzięki czemu będę w stanie stworzyć właśnie w pełni responsywne
strony bądź aplikacje i dodatkowo łatwo tym zarządzać.
Skoro tą kwestię mamy już wyjaśnioną, to usuńmy sobie te grupy.
Grupę wraperra zostawiamy oczywiście.
Tym razem musimy tu zmienić layout
na column, ponieważ chcemy właśnie osiągnąć ten efekt, czyli header,
poniżej sekcja top, poniżej kolejna sekcja itd.
A więc to by było na tyle w tej lekcji.
W następnej przystąpimy już do konkretnych
działań, czyli zaczniemy budować nasz header.
Dziękuje Ci za uwagę i widzimy się już za chwilę.