Wdrożenie projektu
15 godz. 6 min · UI, UX i Webdesign
Krzysiek PiekarzAutomation Specialist / No-code DeveloperMateriał szkoleniowy został zaprojektowany tak, aby mogło z niego skorzystać jak najszersze grono odbiorców. Nieważne czy jesteś totalnym laikiem, czy też posiadasz już wiedzę z zakresu programowania lub designu, na pewno znajdziesz tu coś dla siebie. A więc kto jeszcze może skorzystać z wiedzy zawartej w tym kursie?
Zanim przejdziemy do budowy kolejnej
sekcji, musimy poprawić kilka niedociągnięć z lekcji poprzedniej.
Przede wszystkim zauważyłem, że nie zgadza mi się tutaj kolor nagłówka.
Po drugie, odstęp pomiędzy tym tekstem a tą linią jest zbyt mały.
Tak samo zresztą odstęp tutaj na dole.
No i przede wszystkim jeszcze zdefiniowaliśmy tutaj odpowiednie
właściwości dla naszego przycisku, ale nie zapisaliśmy tego jako style.
Wróćmy więc do edytora i przystąpimy do działania.
Przede wszystkim zaznaczam sobie ten nagłówek, czyli H1.
Przechodzę do jego edycji i zmieniam tekst.
Kolor tekstu na Neutral 800.
Wracamy do zakładki Dizajn.
Zaznaczmy teraz tą grupę na warsztat
Wrapper Group i nadajemy jej większy odstęp od góry.
Czyli margines top na 32 piksele.
Kolejno zaznaczamy na rynku Hero
Hero Container Group i nadajemy mu padding bottom równy 96 pikseli.
Jeszcze. Teraz tylko zaznaczmy ten przycisk.
Mamy tutaj zdefiniowane te wszystkie właściwości conditions dla tego przycisku.
A więc gdybyśmy to zostawili w takiej formie i teraz przyszłoby nam np.
zmienić kolor tego przycisku.
A właśnie w takiej formie zostawiłby byś go wszędzie na swojej stronie.
No to mam nadzieję, że już wyobrażasz
sobie mękę, jaką musiałbyś przejść poprawiając to wszędzie ręcznie.
Natomiast jeżeli tylko teraz zdefiniujemy styl, to jak widzisz wystarczy tylko
zmiana w tym stylu czy edycja takiego stylu i ta zmiana ma zastosowanie?
Wszędzie tam jest takiego stylu właśnie korzystasz.
Tak więc jeżeli masz coś zapamiętać ze stylów, to to, że jest to Twój najlepszy
przyjaciel i powinieneś z niego korzystać zawsze podczas budowy aplikacji.
Dodajmy więc tutaj nowy styl.
Nazwijmy to baton.
Primary Big.
Klikamy Create.
I już te wszystkie poprawki są wprowadzone.
Przejdźmy do podglądu.
Odświeżamy.
I teraz wszystko nam się zgadza.
Nie przejmuj się też proszę, że te pola
input potraktowaliśmy poprzedniej lekcji tak bardzo powierzchownie.
W tej chwili zależało nam na tym, aby to
tutaj za modelować tą opcję możliwości wprowadzania jakichś danych.
A więc mogę sobie tutaj kliknąć do pola input i zacząć coś wpisywać.
Do tych pól jeszcze wrócimy.
Jeszcze porozmawiamy o tym, jakie pola
input są dostępne w Babel, jak z nich korzystać, jak zmienić ich rodzaj, a także
jak pobierać te dane, które przekazuje użytkownik, jak je przekazywać dalej.
A więc skoro część z poprawkami mamy już z głowy, to przejdźmy do naszego layoutu
wzorcowego strony i zerknijmy na kolejną sekcję.
Mamy tutaj sekcję Features składającą się z czterech kolumn, a więc bardzo prosty
układ, który myślę, że bardzo szybko wdrożymy.
Wracamy więc do edytora.
Jak widzisz, tutaj nie ma żadnej
dodatkowej sekcji nadającej kolor, a więc powinniśmy zadbać o to, aby cały
nasz page, czyli cała nasza strona miała kolor biały.
Wróćmy więc do edytora.
Przejdźmy do Page Index
i nadajemy jej background title na flat color i wybierzmy kolor biały.
Teraz możemy tutaj dodać nową grupę The Reaper Group.
Dajmy ją w tym miejscu.
Chociaż wydaje mi się, że wskoczyła ona wyżej.
Zaraz zobaczmy to w drzewku elementów.
Skoczyła nam ona tutaj do Hero Group. Możemy.
To natomiast bardzo prosty sposób rozwiązać.
Wystarczy, że kliknę na tę nazwę lewym przyciskiem myszy i przytrzymam go,
a następnie przeciągnie tą grupę tutaj wyżej.
Teraz mogę to samo zrobić dla Hero Group.
Już mamy właściwy układ, czyli najpierw chorał, a potem sekcja features.
W tym przypadku wystarczy nam container tylko nowość produkowania tych treści.
A więc features.
Container Group.
Myślę, że mamy tutaj już
standardowe ustawienia do wdrożenia, które pewnie znasz.
Tutaj będzie to ROW, ponieważ mamy te elementy w rzędzie te 4 kolumny.
Odznaczamy minimalną szerokość
nadajemy maksymalną na 1200 padding z lewej i z prawej równe 32 piksele.
I oczywiście musimy prezentować tą grupę
względem jej rodzica, czyli całego wrapper group.
Kolejno dodajemy następną grupę.
Nazwijmy ją grupą feature.
W tym przypadku będzie to kolumn.
Odznaczamy minimalną szerokość.
Ja chcę tutaj nadać maksymalną szerokość dla takiej grupy na 240 pikseli.
Minimalną wysokość chwilowo sobie
zostawmy, ale usuńmy ją dla rodzica, czyli Features Container Group.
I teraz zacznijmy dodawać tutaj odpowiednie elementy.
Czyli ma być to tutaj ten obrazek, nagłówek oraz tekst.
Wracamy.
Wybierzmy tutaj obrazek.
Nazwijmy to feature image.
Nie i nie tylko i MG.
Wybieram. Tutaj jest odpowiedni obrazek.
Tutaj znajdziesz go w Off Features.
Natomiast, ponieważ te obrazki pochodzą
bezpośrednio z płatnego i wiki, to ja nie mogę Ci ich udostępnić.
Dlatego owszem, znajdziesz je tutaj w
katalogu, ale będą one zabezpieczone taką nazwą UID.
Jeżeli chcesz się jej pozbyć, to po prostu
kup taki UID i wtedy eksportuj sobie te obrazki.
Ja tutaj dodaję ten właściwy.
Jeszcze tylko sprawdzę jakie on ma tutaj wymiary.
W naszym projekcie wzorcowym.
Będzie to 64 na 64 piksele.
A więc 64 tutaj.
Aspect ratio jeden do jednego.
Kolejne elementy tutaj. Co my tu mamy?
Mamy te feature group.
Elementy w środku chcę odsunąć od siebie o 24 piksele.
Czyli nadaję tutaj row gap równe 24 piksele.
I teraz mogę skopiować sobie.
Ten tekst nagłówkiem, wkleić go tutaj.
I tylko zmienić dla niego style, ponieważ
nie będzie to nagłówek trzeciego typu, a więc style.
Zmieniam to na nagłówek czwartego typu.
Kolor zostaje, grubość pozostaje, a rozmiar fontu.
Zaraz zerkniemy.
W tym przypadku będzie to 24 piksele.
Align Space Ink ustawiamy na 1.
Kropkę 4.
I oczywiście zapisujemy sobie taki styl.
H4 24 piksele.
Co jeszcze potrzebujemy. Potrzebujemy tutaj jeszcze tego podpisu.
Czyli klikam sobie ten tekst, kopiuję, wklejam do feature group.
Przychodzę znów tutaj, podpinam ten styl
i zaraz nadamy tutaj odpowiednie właściwości zgodne z projektem wzorcowym.
W tym przypadku będzie to.
Tutaj. 400.
Grubość.
Rozmiar konta to 16 pikseli lines passing pozostaje 1.
5. Kolor Neutral 600.
A my tutaj napiszmy ten styl.
Będzie to body MD 16 400.
Czyli body.
MD 16 pikseli i grubość 400.
Teraz pozostaje nam tylko wstawić tutaj odpowiednie wartości dla tekstu.
Pierwsza to będzie property insurance.
Zaznaczam.
Wklejam.
Kolejna.
Kopiuję ten tekst.
I podmieniam go tutaj.
Natomiast odstęp pomiędzy tym nagłówkiem a
tym tekstem jest zbyt duży, więc myślę, że wiesz co zrobić.
Musimy to zgrupować.
Kolumn Container.
Niech to będzie.
Feature.
Tekst.
I tutaj dajemy odstęp rzędu czterech pikseli.
A w zasadzie może ośmiu, jak będzie osiem.
OK, teraz przejdźmy do tej całej grupy Feature Group.
Usuńmy minimalną wysokość.
I odpowiednio oraz jej miejsce ma teraz jeszcze te elementy.
Ten nagłówek jest tutaj odpowiednio wyśrodkować.
Chcę jeszcze wyceny dać ten tekst.
A więc przechodzę tutaj i klikam sobie w centrowanie tekstu.
Jeszcze muszę rozmieścić tą ikonkę na środku.
A więc wybieram Horizon Element.
Jedną grupę mam już gotową.
To co mogę jeszcze zrobić to przejść do Features Container Group i dodać padding.
Od góry i od dołu.
To będzie w tym przypadku 96 i 96.
To co by nam teraz zostało to jeszcze
skopiowanie takiej grupy, wklejenie tutaj 4 razy i poprawa tych wszystkich tekstów.
Natomiast zanim to zrobimy chciałbym poruszyć jeszcze jeden bardzo ważny temat.
Wiesz już jak korzystać ze zmiennych kolorystycznych?
Wiesz jak korzystać ze stylów dla tekstu?
Aby właśnie
takie same właściwości przekazywać w prosty sposób do różnych elementów na
stronie i mieć to wszystko zsynchronizowane w jednym miejscu.
Natomiast co zrobić, jeżeli chcemy np.
synchronizować z jednego miejsca z naszego
zaplecza, czyli z back endu naszej aplikacji?
Cały ten element, czyli obrazek tutaj, ten
tekst i ten opis w ten sposób, tak żebyśmy mogli sobie np.
właśnie taką grupę Filters wstawić na, powiedzmy 50 stronach.
Jeżeli przyjdzie nam do zmiany np.
tutaj tych nagłówków, to nie będziemy musieli przechodzić
ręcznie we wszystkie miejsca, tylko przejdziemy do zaplecza.
Poprawimy ten tekst na back end, a ta zmiana zostanie przekazana właśnie
wszędzie tam, gdzie taki element wykorzystywaliśmy.
Jak więc podejść do takiego zagadnienia w Babel?
Otóż znów jest to niesamowicie proste,
ponieważ możemy wykorzystać coś, co się nazywa opcją set set w Babel.
To najprościej rzecz mówiąc, taka uproszczona baza danych.
Dlaczego uproszczona?
Ponieważ Option sety możemy zdefiniować tylko i wyłącznie ręcznie.
To po pierwsze.
Po drugie, użytkownik przez jakiekolwiek
działania w aplikacji nie będzie mógł go dodać, edytować lub go usunąć,
a jedyne co będziemy mogli zrobić sobie w aplikacji to pobrać takie wartości z setu,
czyli zaklętą naszej aplikacji i je wyświetlić na stronie.
Sety definiuje się niesamowicie prosto.
Przechodzimy do zakładki Data.
Kolejna Option set.
Możesz sobie tutaj obejrzeć ten tutorial
Babel o tym czym są sety, jak się je tworzy jak klikne tutaj skip tutorial.
I dodajmy pierwszy set.
Nazwijmy go Chaos Features.
Klikamy Create.
Już pierwszy obszar został dodany, a my możemy dodawać nowe opcje.
Czyli po prostu tak, jakbyśmy dodawali nowe rzędy w tabeli.
Najłatwiej jest to pokazać na przykładzie Table.
Przejdźmy tutaj do tabeli wzorcowej.
Tutaj właśnie wstawiłem Ci tabelkę Officer, czyli odpowiednik naszego 800.
To jest ta tabelka, To jest po prostu cały
set, a poszczególne rekordy właśnie będziemy teraz dodawać.
Jak widzisz mamy tutaj trzy kolumny, o których tu mamy tekst.
Tu mamy tekst, a tu mamy obrazek, więc musimy sobie to odwzorować teraz w Babel.
Przechodzę więc do edytora.
Pierwszą kolumnę z pierwszym tekstem mamy
automatycznie wbudowaną i nosi ona nazwę Display.
Czyli to co wpisze tutaj, to właśnie wskoczy mi do tej kolumny display.
W naszym przypadku będzie to.
Property Insurance.
Klikam Create i klikam Create.
Dodajmy następne.
Best Price.
Następny to Love z Commission.
I ostatni to Overall Control.
Natomiast to co teraz dodaliśmy
to jeżeli przejdziemy do ery table to jest właśnie tylko ta pierwsza kolumna.
Jak więc dodać te kolejne kolumny w Babel?
Znów wracamy do edytora i tym razem musimy klikać tutaj Create a new atrybut.
To co potrzebujemy to jeszcze description.
Tutaj nadajemy nazwę robotowi, czyli po prostu kolumnie.
A tutaj wybieramy jaki typ danych chcemy tam przechowywać.
Babel daje nam tutaj cały szereg różnych typów danych.
Natomiast nas na chwilę obecną interesuje
tylko tekst, ponieważ wpisujemy tam właśnie opis, czyli te nasze description.
Klikam Create.
I dodałem już tutaj widzisz kolejną kolumnę?
Muszę kliknąć jeszcze raz.
Tym razem kolumna ta nazywa się Icon.
Jako typ wybierzemy obrazek, czyli po prostu image.
Teraz, aby właśnie edytować taki rekord muszę kliknąć Modify atrybut.
Otworzył mi się ten pierwszy record, czyli property Insurance.
Tutaj wgrywamy sobie obrazek, czyli nasz feature 1.
A kolejne przechodzimy tutaj i kopiujemy sobie tę treść.
Pierwszy rekord mamy już gotowy.
To samo robimy dla pozostałych, czyli Modify.
Apple ładujemy obrazek.
Kopiujemy tekst.
I to samo dla kolejnego.
Trzeci opis musimy sobie skopiować i wkleić.
I został nam ostatni.
I jeszcze opis.
Już nasz Option set jest zdefiniowany.
Natomiast w jaki sposób?
Teraz te wartości z backendu, czyli z
zaplecza naszej aplikacji przekazać na frontend, czyli tutaj do zakładki Design.
Jest to niesamowicie proste.
Wystarczy, że namierza główną grupę zawierającą wszystkie te elementy,
czyli w naszym przypadku Feature group i wskaże jej jaki typ contentu, czyli jaki
typ danych z naszego zaplecza chcemy wyświetlać.
Robimy to w tym miejscu.
W naszym przypadku jest to OS.
Features i teraz musza wybrać Data Source czyli jaki element tutaj chcę przekazać.
Jak widzisz pojawiają się tutaj te
wszystkie nasze zdefiniowane rekordy na off features.
Wybierzmy więc Property Insurance.
I.
I nic się nie zmieniło. Dlaczego?
Dlatego, że teraz musimy wskazać,
że te elementy obrazek, tekst i ten tekst mają być zaciągane z elementu rodzica.
A więc przechodzę tutaj
i zamiast tego statycznego obrazka, który tutaj mieliśmy, mogę to zaznaczyć, usunąć.
Kliknąć tutaj jeszcze raz i wybrać ten
niebieski tutaj Boxing Insert Dynamic Content.
I teraz chcę się odwołać do elementu rodzica, czyli Parent group of features.
I co tu chcemy wyświetlić?
Oczywiście nasz obrazek, czyli Icon.
To samo robimy teraz tutaj.
Tylko zanim to robimy, zobacz co się stanie.
Przejdę.
Usunęło to wartość.
Biorę Insert Dynamic i mam Parent Group Swing zamiast Parent Group Features.
Dlaczego?
Myślę, że się domyślasz, a jeżeli nie, to zaraz Ci pokażę o co chodzi.
Otóż ten tekst.
Cofnijmy sobie tą zmianę klikając tutaj.
Ten tekst i ten tekst jest umieszczony w dodatkowej grupie.
A więc jeżeli przekazujemy tutaj jakieś dynamiczne dane, to musimy przekazać to
właśnie w takim łańcuszku, nazwijmy to tutaj.
A więc tak ustaliliśmy off feature tutaj dla tej grupy Feature Group.
I teraz musimy to przekazywać dalej do
każdej grupy w środku, która jest zagnieżdżone.
A teraz Feature Text group.
Znów.
Typ danych to a s features, ale tym razem będzie to.
Parent. Group of Features.
I ty byś miał tu jeszcze zagnieżdżone
kolejną grupę, to ten schemat byłby taki sam.
Typ danych będzie zawsze taki jaki jest ustalony dla tego nadrzędnego elementu,
a potem przekazujemy właśnie Parent group feature.
Teraz dopiero mogę wybrać ten tekst.
Zaznaczyć, wybrać Insert Dynamic i wybrać Parent Group of Feature.
Tym razem będzie to Display.
A tu jak się domyślasz wstawimy description.
I przejdźmy teraz do podglądu naszej strony.
Odświeżamy.
Jak widzisz wszystko zostało odpowiednio zaciągnięte z naszej bazy.
Mamy odpowiednią ikonkę, nagłówek oraz tekst, a więc skopiuję je sobie teraz.
Tą grupę 4 razy, ponieważ mieliśmy tam 4 kolumny jak pamiętasz.
Tutaj w tym elemencie wzorcowym.
A więc Command da command D command D
To co chcę zrobić jeszcze to oczywiście pozmieniać te nazwy.
Niech to będzie teraz powiedzmy feature.
Jeden grób.
Tutaj feature 2 grup i analogicznie dla pozostałych grup.
Zaznaczmy jeszcze raz całe feature container i nadajemy tutaj odstęp
dla tych grup równe 64 piksele, czyli kolumny ustawione na 64.
Przejdźmy do podglądu.
Odświeżamy.
No i układ nam się zgadza, ale treści nam się nie zgadzają.
Dlaczego?
Otóż dlatego, że teraz do każdej tej grupy
przekazujemy dokładnie ten sam rekord z naszego setu.
Jak to zmienić?
Wracamy do edytora.
Zaznaczamy drugą grupę, czyli Feature Group i mówimy, że data Source to jest nie
property insurance, tylko ten kolejny record bez price.
I to samo robimy tutaj.
Zmieniamy to na Loves Commission.
I tutaj Overall control.
Przechodzimy do podglądu, odświeżamy.
Jak widzisz wszystko nam się teraz odpowiednio dopasowała.
Teraz taki element mogę zastosować na dowolnym miejscu w naszym serwisie.
Mogę sobie dodać 100 takich grup feature na 100 różnych stronach.
I gdybym teraz stwierdził, że chcę zmienić ten nagłówek Overall Control
na powiedzmy Super Ctrl, to przechodzę tylko do Option setu.
Tutaj zmieniam to na Super Control.
Jak zobaczysz nic nie musimy więcej robić, tylko odświeżyć stronę.
I Babel przekaże automatycznie
taką zmianę wszędzie tam, gdzie korzystamy z takiego elementu.
Co jeszcze musisz zapamiętać, jeżeli chodzi o tą jedną bardzo ważną rzecz
Korzystamy z nich tak jak widzisz tutaj do przekazywania takich statycznych danych,
czyli takich, które nie będą tworzone przez użytkownika w naszym serwisie.
Dodatkowo musisz pamiętać, że każdy ten obszar jest ładowany na każdej stronie w
bólu, nieważne czy na niej z niego korzystasz, czy też nie.
On i tak będzie załadowany.
Dzięki temu te dane ładują się bardzo
szybko, ponieważ są pobierane już w momencie ładowania się całej strony.
Więc nie wysyłamy takiego dodatkowego zapytania do bazy danych.
Natomiast właśnie ta ich zaleta, że są
ładowane do każdej strony jest też ich największą wadą.
Ponieważ jeżeli zbudujesz bardzo rozbudowany set, który będzie zawierał
bardzo dużą ilość treści, bardzo dużo obrazków, to spowolni sobie ładowanie
każdej strony, ponieważ wystarczy, że wykorzystasz go tylko na jednej, a Babel i
tak załaduje go na wszystkich stronach Twojego serwisu, przez co szybkość
ładowania się stron Twojego serwisu może ulec pogorszeniu.
A więc chciałbym, żebyś zapamiętał te podstawowe reguły.
Wiesz już jak tworzyć takie sety, Jak przekazywać właśnie te dane tutaj do grup,
potem do zagnieżdżonych grup jakie wyświetlać na stronie.
Ja dziękuję Ci za uwagę i widzimy się już za moment.