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.
Witam Cię w kolejnej lekcji, w której tym razem skupimy się na budowie sekcji
contact, a więc tej sekcji z opcją zapisu na nasz newsletter.
Jest ona wyjątkowo prosta. Myślę, że jej
budowanie nie zajmie nam zbyt wiele czasu.
Zanim jednak przystąpimy do pracy, chciałbym wyjaśnić jedną bardzo ważną
kwestię osobom, które korzystają z takich narzędzi jak Webflow bądź edytor X.
Jeżeli przejdziemy do edytora, to mowa oczywiście o zakładce responsive.
Jak doskonale wiesz, w tych narzędziach, które wcześniej
wymieniłem jesteśmy w stanie przełączyć się w konkretny widok np.
widok desktopowy bądź widok mobilny
i tylko dla niego zdefiniować odpowiednie style.
Wówczas będą one miały zastosowanie tylko i wyłącznie dla tego widoku.
Niestety w Bubble na chwilę obecną taka funkcjonalność nie istnieje,
a ta zakładka i te opcje tutaj przełączania się pomiędzy poszczególnymi widokami.
Służą wyłącznie do tego, aby podejrzeć jak
nasza strona bądź aplikacja będzie się zachowywała na różnych rozdzielczościach.
Skoro tą kwestię mamy wyjaśnioną, to wróćmy jeszcze do edytora.
Jak widzisz w międzyczasie poprawiłem tutaj teksty na przyciskach.
Dodatkowo tutaj dla karty pricing-pro
dodałem taki obrazek w tle,
ponieważ nadaliśmy jej layout typu align to parent.
Jesteśmy w stanie umieścić tutaj kilka elementów, które nachodzą na siebie.
Wystarczy podejrzeć sobie to tutaj w drzewku elementów.
Jak widzisz mam kartę pricing-pro,
a wewnątrz niej obrazek oraz grupę tutaj z tymi treściami.
Oczywiście ten obrazek ma charakter czysto
stylistyczny, nie wpływa w żaden sposób na funkcjonalność naszej strony.
Możesz więc pozostać w tej wersji po prostu z
jednolitym tłem i przystąpić razem ze mną do dalszej pracy.
W pierwszej kolejności oczywiście dodajemy
grupę, ale zanim to zrobimy, jeszcze dla grupy pricing chcę
ustalić margines dolny na 40 pixeli.
Teraz dopiero dodajemy nową grupę.
Nazwijmy ją grupą contact.
Oczywiście w tym przypadku layout to column.
Chcemy ją wycentrować, usunąć minimalną i maksymalną szerokość.
Nie będą nam one tutaj potrzebne.
Następnie dodajemy kolejną grupę.
Nazwijmy ją może contact-inner.
W tym przypadku również będziemy mieć column.
Chcemy ją wycentorwać.
Odznaczyć ten checkbox, usunąć minimalną szerokość.
A maksymalną ustawić na 960 pixeli.
Dodatkowo chcę ją jeszcze tutaj odsunąć od góry o 80 pixeli.
Albo jednak o 60 będzie trochę lepiej wyglądało i 80 pixeli na dole.
Teraz dla kontenera rodzica, czyli dla grupy
contact usuwamy oczywiście minimalną wysokość.
Wracamy do grupy contact-inner i nadajemy jej teraz jeszcze odpowiedni styl.
Ja mogę wybrać ten.
Co prawda mam tutaj bardzo mocno zaokrąglone rogi,
natomiast nie ma najmniejszego problemu abym zmienił tą wartość tylko na 16.
Jak widzisz tutaj wszystko odpowiednio nam
już wskoczyło, a co musimy zrobić teraz to oczywiście dodać teksty.
W tym celu mogę skopiować grupę top.
I wstawić ją do grupy contact-inner.
W tym przypadku margines u góry to
60 pixeli, a margines na dole to 30 pixeli.
Oczywiście musimy zmienić kolory tekstów.
Zerknijmy, czy mamy nagłówek w wersji białej.
Nie mamy.
Usuwamy więc styl i tylko oczywiście zmieniamy kolor na biały.
To samo robimy tutaj.
Oczywiście też zmieniamy kolor na biały.
Pozostaje nam jeszcze teraz tylko dodać pole input.
Wybieramy je tutaj z listy
I wstawiamy wewnątrz grupy.
Nazwijmy je input contact.
Usuwam standardowe style i nadaję własne.
Będzie to oczywiście nunito sans
w wersji regular.
Kolor fonta to oczywiście nasz kolor dark.
Rozmiar może pozostać 16. Placeholder
musimy pozostawić w kolorze szarym.
Niestety nie możemy go tutaj zdefiniować we własnym kolorze.
Jak widzisz mamy tutaj tylko takie standardowe kolory do wyboru.
Zostawiamy więc grey.
Kolor tutaj ustawiamy na standardowy kolor biały.
Zaokrąglenie rogów ustawiam na 8 pixeli,
a kolor obramowania definiujemy na DB.
Nie, przepraszam D8DBE6,
czyli taki jasnoszary kolor.
Dodatkowo tutaj, aby zmniejszyć lub
zwiększyć przezroczystość stosujemy ten suwak.
Ja ustawiam go tutaj na maksa.
Horizontal padding możemy zostawić na 10 pixeli.
Nie chcę dodawać cienia.
Przechodzę więc tutaj do zakładki layout.
Odznaczamy ten checkbox, nie chcę minimalnej szerokości i zaraz
ustawimy ją w nieco inny sposób, natomiast wysokość chcę ustawić na 60 pixeli.
OK.
Jeśli wrócimy do naszego layout'u
wzorcowego, to jak widzisz tutaj dodatkowo mamy jeszcze ikonkę.
Aby więc ją dodać,
to co musimy zrobić w pierwszej kolejności to oczywiście ubrać taki input w
dodatkową grupe.
Jak się domyślasz, ponieważ tutaj ta ikonka nachodzi na pole input, to
oczywiście zastosujemy znane Ci już align to parent.
Klikając prawym przyciskiem myszy
wybieram opcję group elements in an align to parent container.
Nazwijmy ją
input-contact-wrapper, tutaj
tym razem odznaczamy minimalną szerokość, maksymalną chcę ustawić na 440 pixeli.
Nie chcę, żeby ta grupa oraz pole input w środku mi się poza nią rozciągało.
Oznaczam fit to content.
Minimalna wysokość może pozostać tutaj nawet nie musimy tego zmieniać.
Oczywiście chcemy to pole sobie
wycentrować i nadać pod spodem margines równy 60 pixeli.
Jak widzisz, tutaj nasza sekcja newsletter'a
już coraz bardziej wygląda tak, jak wyglądać powinna.
Pozostaje nam oczywiście jeszcze dodać tylko ikonkę.
Natomiast zanim to zrobimy, to w pierwszej
kolejności będę chciał dodać grupę, która posłuży tutaj za background dla naszej ikonki.
Mogę to więc zrobić w ten sposób.
Jak widzisz teraz nachodzi nam ta grupa tutaj na pole input.
Mamy ją tutaj odpowiednio ustawioną.
Wymiary takiej grupy to 48 na 48 pixeli.
Chcę ją tutaj odsunąć
o 6 pixeli od tej strony, aby zachować tutaj odpowiednie odstępy nazwijmy ją
Contact-icon-bg, ponieważ posłuży nam po prostu jako tło dla naszej ikonki.
Usuwamy więc style, wybieramy jednolity kolor, nasz kolor
primary.
Tutaj ustawiam zaokrąglenie na 8 pixeli.
Nie chce żadnego shadow.
Wszystko jest tak jak trzeba. Layout ustawiamy tutaj znów na align to parent
tylko po to, aby w środku idealnie umieścić ikonkę.
Oczywiście jak się domyślasz wykorzystamy iconify.
Rysujemy więc ikonę.
Centrujemy.
Nadajemy jej rozmiary 36 na 36 pixeli.
Wracamy.
Styl wybieramy na icon white, czyli biały kolor ikony.
Jeszcze tylko musimy namierzyć odpowiednią ikonkę.
W moim przypadku jest to
ta ikona.
Stawiam wartość.
I to co jeszcze muszę zrobić, to dla całej grupy tutaj.
Muszą sobie ją odpowiednio namierzyć
contact-wrapper, ustawić marginesy z lewej i prawej strony na 20 pixeli, aby na
tych mobilnych rozdzielczościach było to odpowiednio odsunięte tutaj od krawędzi.
Dodatkowo tutaj dla samej tej grupy również nadaje marginesy 20 na 20 pixeli
i teraz wszystko już powinno wyglądać tak jak trzeba.
Podejrzyjmy sobie to jeszcze w trybie responsywnym.
Tutaj jest ok.
Jak widzisz wszystko jest w porządku.
Jeżeli zjadę do najniższej rozdzielczości to wszystko jest tak jak być powinno.
Obejrzyjmy jeszcze naszą stronę.
Jak widzisz wszystko jest ok.
Tu po najechaniu wyskakują nam jakieś dziwne style, ale to tylko dlatego, że nie
usunąłem tych domyślnych warunków na pola input.
Muszę przejść tutaj i pousuwać te warunki.
W moim przypadku nie będą one potrzebne.
A więc to wszystko, co musieliśmy zrobić w tej lekcji.
Dziękuję Ci za uwagę i widzimy się już za moment.