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.
Rozpoczynamy naszą pracę od miejsca, w którym zakończyliśmy ją w poprzedniej
lekcji i porozmawiamy krótko o tym, co chcemy tutaj osiągnąć.
Zależy mi na tym, aby w rozdzielczości poniżej 960 pixeli usunąć to białe tło z
cieniowaniem, która jest teraz nadane dla całej grupy pricing-cards.
Dodatkowo takie białe tło i cień
będę chciał dodać dla takich poszczególnych tutaj kart.
To na czym mi jeszcze zależy to usunięcie tutaj tego marginesu.
Jak widzisz, tutaj dla grupy pricing-card-pro
podaliśmy margines górny -55 pixeli i gdy teraz przeskoczyła ona poniżej,
zaczyna nam nachodzić na tą kartę powyżej niej.
Kolejnym elementem jest tutaj margines pomiędzy grupą top a grupą pricing-cards.
Tutaj rozdzielczości jest już zdecydowanie za duży.
Tym się też zajmiemy.
A skoro wiemy już co mamy robić, to przystąpmy do działania.
Przechodzę więc z powrotem do builder'a.
Zaznaczam grupę pricing-cards,
i przechodzę do zakładki conditional, no z conditional już korzystaliśmy.
Robiliśmy to jak wiesz tutaj dla przycisków, kiedy wskazywaliśmy
jako warunek, że odnosimy się do tego elementu, czyli tego tekstu i mówimy, że
kiedy użytkownik na niego najedzie, to chcemy zmienić tutaj jakieś właściwości.
Natomiast w przypadku Bubble nie musimy się odnosić tylko i wyłącznie do tego
elementu, ale również innych elementów bądź innych czynników.
Zobacz jak to wygląda w praktyce.
Dodajmy tutaj jakiś prosty button.
Nazwijmy go tylko button-test.
I teraz wróćmy do grupy pricing-card-pro.
Przejdźmy do zakładki conditional.
Dodajmy nowy warunek i tym razem nie chcę się odnosić do tej grupy.
Czyli do całej grupy pricing-card-pro, ale chcę się odnosić do button'a.
Powiedzieć, że kiedy użytkownik
najedzie kursorem myszki na ten button, ja chcę zmienić kolor całej tej grupy.
Wybieram więc tutaj background color
i ustalmy ją może właśnie na taki ciemny kolor.
Przejdźmy teraz do podglądu, odświeżmy.
Tu jak widzisz, wykonywałem tę operację wcześniej, ale nic się nie przejmuj.
Zjeżdżamy na sam dół.
Jak widzisz, jeżeli teraz najadę
kursorem myszki na ten button, to zmienia mi się wygląd całej tej grupy pricing-card-pro.
Wracamy do edytora,
usuwamy ten button.
Jest nam on nam tutaj nie potrzebny,
z całej karty pricing-card-pro możemy też usunąć teraz ten warunek
i zastanówmy się, co w zasadzie teraz chcemy tutaj zdefiniować.
Nam zależy na tym, aby odnosić się do aktualnej szerokości ekranu.
Jak to zrobić? Bardzo prosto.
Wystarczy, że wracam tutaj do grupy pricing- cards, definiuję sobie nowy warunek i tym razem
mówię, że chcę się odnieść do parent page width.
I jeżeli będzie ona mniejsza niż 960, to jest oczywiście wartość w pixelach.
To co chcę zrobić?
Przede wszystkim background color.
Kolor mogę zostawić na biały, natomiast jego przezroczystość ustawię na zero.
Więc zostanie ona tutaj usunięta.
Dodatkowo jest tu jeszcze cieniowanie,
więc wystarczy, że wybiorę sobie boxshadow color.
Jak się domyślasz, wartość
przezroczystości ustawię na 0, a więc poniżej rozdzielczości 960 pixeli.
Usuniemy tutaj kolor tego tła i cieniowanie.
Sprawdźmy, czy to rzeczywiście działa.
Czyli przechodzimy do zakładki responsive.
Jesteśmy w szerokości 1200.
Przejdźmy na 992 tu jeszcze wszystko jest ok, ale zjedźmy niżej.
Poniżej wartości 960 pixeli.
Jak widzisz.
Już jest dokładnie tak, jak chcieliśmy, a
więc białe tło nam zniknęła z całej grupy pircing-cards,
nie ma tu również cieniowania, czyli zrobiliśmy pierwszy krok.
Wracamy więc do buildera i zajmujemy się tutaj pozostałymi elementami.
To co chcę zrobić to przejść do grupy
pricing-card-pro i tutaj zdefiniować bardzo podobny warunek.
Czyli jeszcze raz, wybieram tutaj tą opcję
i zaczynam wpisywać current z listy wybieram current page width,
wybieram, że ma być mniejsza niż 960 pixeli i w takim przypadku
teraz muszę się odnieść do marginesu górnego i go wyzerować, czyli wstawić tutaj wartość 0.
Teraz ta karta będzie już wtedy wyrównana
z tymi kartami będzie to wyglądało tak, jak wyglądać powinno.
Natomiast teraz musimy jeszcze zadbać o wygląd tych poszczególnych kart.
Można to zrobić na dwa sposoby.
Mianowicie tutaj możemy zdefiniować
wszystkie style jakie chcemy aby miały zastosowanie.
Natomiast ja to robię troszkę inaczej.
Pokażę Ci mój sposób.
A więc tak przechodzę tutaj do grupy
pricing-card-wrapper, nie, nie tej grupy, mi zależy na grupie pricing-card.
Ponieważ samą to kartę chcemy ostylować.
Usuńmy te style, dodajmy te,
które będziemy chcieli mieć jako style końcowe, a więc kolor biały.
Zaokrąglenia równe 16 pixeli.
Odpowiedni cień.
0816.
Nasz kolor middle, przezroczystość 15%.
Jak widzisz te style zostały tutaj od razu
zastosowane, a więc możemy tutaj wyzerować.
Czyli jeżeli teraz ustawię przezroczystość na 0 tu i tu.
To otrzymamy efekt początkowy, czyli taką kartę przezroczystą.
Natomiast jeżeli wrócę do zakładki conditional.
Dla grupy
pricing-card tutaj zdefiniuje current page width.
Mniejsze od 960 pixeli.
Jak się domyślasz, zastosujemy operację
odwrotną niż zastosowaliśmy dla całej mojej grupy
pricing-cards, czyli znowu muszę się odnieść do background color.
Tym razem przywrócić ten kolor do pełnej wartości przezroczystości, czyli
100%, a więc ten kolor będzie już teraz widoczny.
To samo robię na boxshadow color.
Ustalam go teraz tutaj na 15%.
I zerknijmy jak to wygląda w trybie responsywny.
Jak widzisz jesteśmy w odpowiedniej rozdzielczości.
I teraz ta karta ma zaokrąglone rogi.
Dodany odpowiedni background, dodany odpowiedni shadow pod spodem.
A więc to samo możemy teraz zastosować dla tej karty.
Dodatkowo tutaj mamy teraz odpowiednie
odsunięcie 50 pixeli, pomiędzy tymi kartami.
Tak więc wracamy do designera.
I tą samą operację tutaj powtarzamy
dla tej karty, żebyś
wyrobił sobie pamięć mięśniową, znów
zrobimy to wszystko od początku.
A więc usuwamy style.
Nadajemy jednolity biały kolor.
Przezroczystość ustawiamy na 0.
Dajemy zaokrąglenie rogów równe 16 pixeli, dodajemy cień 0816.
Kolor middle też na 0.
Teraz możemy sobie skopiować ten warunek,
ponieważ będzie miał dokładnie takie samo zastosowanie i tam.
A więc wracamy tutaj, wklejamy.
I teraz obie te karty będą zachowywały się dokładnie tak, jak zachowywać się powinny,
czyli właśnie będą miały tutaj odpowiedni kolor tła, odpowiednie cieniowanie itd.
Musimy jeszcze tutaj zadbać, jak mówiłem wcześniej o grupę top.
Mogę sobie wstawić tutaj cały warunek.
Jak widzisz, ten warunek został tutaj odpowiednio wstawiony.
Natomiast muszę tutaj zdefiniować odpowiednią właściwość.
Tym razem będzie to buttom margin, ustawiony w moim przypadku na 60 pixeli.
Przejdźmy więc do podglądu.
Zobaczmy, czy to wygląda teraz tak, jak powinno.
Jak widzisz, mamy tutaj odpowiedni margines, odpowiednio wyglądające karty.
Dodatkowo, ponieważ ustaliliśmy im
stałą szerokość, jak pamiętasz karcię tutaj nadaliśmy, czyli temu elementowi
pricing-card-wrapper
layout ustawiony na stałą szerokość.
To nie rozciąga nam się tutaj na całą dostępną przestrzeń
i dzięki czemu te karty zachowują jednolity wygląd na każdej rozdzielczości.
Natomiast chciałbym, żeby one były tutaj wyśrodkowane.
Nic prostszego.
Zaznaczam całą grupę pricing-cards i mogę tutaj teraz wybrać
wyśrodkowanie.
Wszystko wygląda dokładnie tak, jak wyglądać powinno.
Wróćmy sobie więc do builder'a.
Nasza praca w tej lekcji jest skończona,
a my możemy przejść do budowy kolejnej sekcji.
A to oczywiście zrobimy przy lekcji następnej.