Projektowanie Interfejsów
3 godz. 23 min · Figma · UI, UX i Webdesign
Grzegorz RógIdea ArchitectW trakcie Kursu poznasz wszystkie narzędzia i techniki pracy w aplikacji Figma. Choć sam interfejs jest niezwykle intuicyjny, warto korzystać ze sprawdzonych schematów oraz technik pracy, które zagwarantują Ci maksymalną wydajność pracy.
W trakcie Kursu skoncentrujemy się na stworzeniu z pomocą Figma kilku praktycznych przykładów interfejsów, odkrywając potencjał narzędzi wektorowych, artboardów i wiele więcej! Przygotujemy także uzupełnienie dla aplikacji inteligentnego domu, z którą pracowaliśmy w Kursie Sketch - osobną wersję aplikacji na Apple Watch!
Figma jest często porównywana do aplikacji Sketch, rozszerzonej o genialne opcje współpracy dla UI/UX Designerów. Dzięki opcji współpracy w czasie rzeczywistym możesz zaprosić do pracy nad projektem klienta lub inne osoby z Twojego zespołu. Wprowadzane zmiany są widoczne na żywo w przeglądarce! Jest to najlepszy sposób na dyskusję nad projektem i zdalny, konstruktywny feedback. Dodatkowo w pracy zespołowej możesz też wykorzystać Biblioteki, w których przygotujesz elementy, z których będzie mógł korzystać przy projektowaniu cały zespół! Zmiana elementu biblioteki, np. Style Guide'u skutkuje aktualizacją wszystkich projektów.
W Figma z dowolnego elementu możesz utworzyć Komponent, którego instancje mogą znaleźć się w innych miejscach w projekcie, a nawet w Bibliotekach. Zmiana oryginalnego komponentu skutkuje podmianą wszystkich jego instancji! To niezwykle skuteczny i wydajny sposób projektowania.
Z pomocą Figma łatwo wyeksportujesz grafiki dla aplikacji webowej czy urządzeń mobilnych. W Kursie dowiesz się jak zoptymalizować wektory i bitmapy, a następnie wyeksportować je w optymalnym formacie na potrzeby wykorzystania na stronie WWW czy w mobilnej aplikacji.
Kurs Figma jest przeznaczony dla wszystkich, którzy chcą efektywnie edytować grafikę czy tworzyć interfejsy w przyjaznym i darmowym środowisku przeglądarkowym. Figma nie wymaga subskrypcji ani mocnego komputera - wszystko działa po stronie przeglądarki, oferując komfort pracy zarówno osobom początkującym, jak również doświadczonym projektantom.
Witaj w kolejnej lekcji.
Teraz porozmawiamy o pojęciu tzw. "Constraints", i jest to znów dość złożony temat, z którego Figma w swoim stylu
tworzy niezwykle proste i intuicyjne narzędzie.
Temat sprowadza się do tworzenia interfejsów, które dobrze skalują się na różne rozdzielczości ekranów,
i w obecnych czasach jest to niezwykle istotne, ponieważ mamy mnóstwo różnych rozdzielczości i gęstości
pikseli,
mamy telefony, tablety, mamy też strony internetowe czy nawet zegarki, na które projektujemy. W związku
z tym ważne jest to, aby nasz layout był w miarę uniwersalny, i dało się go bezboleśnie, czy w miarę bezboleśnie przenieść
na różne urządzenia.
Figma oferuje nam funkcjonalność "Constraints", która jest zbliżona do funkcji, które znamy z narzędzi do
tworzenia samych aplikacji natywnych na telefony, np. z Xcode'a, czy z Android Studio,
i jest to naprawdę genialne podejście do, czy to Responsive Web Design, czy tworzenia właśnie skalowanych layoutów.
Pozwól, że pokażę Ci to na nowym pliku, w którym stworzyłem Frame'a dla iPhone'a 7. I mamy taki Iphone'owy rozmiar.
Mam też zaimportowane dosłownie kilka ikonek z Icon Jara. Chciałbym ten projekt uzupełnić o kilka rzeczy.
Po pierwsze zrobimy jakieś statyczne tło, może być ono w jakimś ciemnym kolorze.
Następny prostokąt, który stworzymy, czyli następne R, to będzie kolejny kolor, wybierzmy np. kolor zielony.
Na dole zrobimy sobie jeszcze jeden taki prostokąt, więc możemy po prostu ten, z Alt'em i z Shift'em, aby zachować
linię, powielić, i wstawimy go tutaj.
Może być pomarańczowy, a może wybierzmy jakiś taki, o, żółty kolor. I chciałbym też stworzyć tutaj jakąś... Jakiś
prosty content, np. z pomocą O
Stworzymy sobie owal, który będzie, w którym znajdzie się nasz avatar. Umieszczę go na środku, 130x130px,
Wypełnienie - wybierzmy obraz, i ten obraz sobie wybiorę z mojego katalogu. Mam tutaj avatara, więc wystawimy
avatar. Teraz jeszcze będę chciał z pomocą prostokąta zrobić sobie jakąś, jakieś informacje, umieszczę to
na środku, zaokrąglimy krawędzie np. do 10px, i wstawimy tutaj ramkę tekstową, może wypełnimy to białym
kolorem, ramkę tekstową za pomocą narzędzia T, która pozwoli nam wkleić jakiś przykładowy tekst
do tego okienka. Zaznaczę go,
następnie powiększę to np. do 18,
wybierzmy Roboto, może w wersji Black to za mocne, ale wybierzmy Medium. I następnie jeszcze zmniejszymy
ilość tekstu, która tutaj się znajduje, a zwiększymy interlinię.
Czyli przejdźmy do tego pola i powiększmy nieco interlinię.
OK. Teraz chciałbym jeszcze wyrównać to w poziomie, w pionie, w ramce tekstowej. I mamy przygotowany opis
naszego avatara.
Chciałbym jeszcze umieścić tutaj jakiś tytuł aplikacji, na przykład wpiszmy "Actors Network". I zrobimy to może
jakimś szarym kolorem,
w ten sposób, powiększymy ten font do 24, a następnie umieścimy go tutaj i wyrównamy to
do środka,
w ten sposób. Możemy sobie wyrównać tę ramkę tak, aby wszystko było pionowo i poziomo wyrównane.
Na dół przeniesiemy w końcu ikonki, czyli mam trzy ikonki jakieś, które będę chciał umieścić w tej części.
przenoszę je na nasz Artboard.
W zasadzie zrobię to najpierw przenosząc właśnie na Frame'a, a później zaznaczymy sobie te wszystkie trzy ikony naraz.
Czyli mamy "Globe", mamy "Shopping trolley" i "Brush and Pencil", a następnie z pomocą narzędzia K, czyli Skalowanie,
W momencie gdy mamy Stroke, czyli linie, obramowanie, zawsze skalujemy z pomocą K, i wtedy dostajemy idealne
proporcje również dla linii.
Świetnie. To teraz możemy ustawić to w jednym miejscu, to w drugim, to mniej więcej tutaj, zaznaczmy jeszcze raz
z Shift'em
te elementy, wyrównajmy odstępy między nimi,
wyrównajmy je może do górnej, zobaczymy jak będzie wyglądało to do środka,
No i myślę, że jest w porządku. I teraz mamy taki prosty projekt, który chciałbym zmienić w taki sposób, aby
dobrze skalował się na różne ekrany.
Jeśli kliknę na naszego Frame'a, to mogę zmienić tutaj rozmiar np. na iPhone'a 7 Plus. I zobacz, co się
stanie.
Nie mamy żadnego skalowania.
Te wszystkie elementy po prostu zostają zamrożone w jednym miejscu.
Figma oferuje nam właśnie możliwość "Constraints", która pozwala zarządzać tym, jak będą skalować się
elementy. I jeżeli z Cmd kliknę na tło, czyli zaznaczę sobie naszą warstwę, którą nazwę "Background", i teraz
przejdę do prawej części, okazuje się, że jest tutaj taka sekcja "Constraints". I ta sekcja "Constraints"
pozwala zobaczyć, w jaki sposób rozmieszczone są elementy w ramach, w jaki sposób są przypięte do tego konkretnego
Frame'a, bo odnośnie "Frame'a jest właśnie to, tutaj, odniesienie. Jeśli kliknę na dowolny element, zauważ, że mamy
też takie przerywane linie. I to znaczy, że właśnie jest ten element przypięty do górnej i do lewej krawędzi.
Dlatego on się nie skaluje i nie przenosi.
Jak widzisz, są takie niebieskie wskaźniki, które symbolizują, że właśnie do lewej i do górnej krawędzi jest przypięty. Wracam
do "BG". "BG" jest też domyślnie, tak jak wszystkie elementy w Figmie, przypięty do lewej, górnej krawędzi.
W związku z tym, to, co chcemy z nim zrobić. My chcemy, żeby ten element się rozciągał w miarę powiększania
czy zmniejszenia layoutu.
W związku z tym przejdźmy do tego oznaczenia "Constraints", i wybierzmy tutaj "Left" i "Right".
Czyli mamy zarówno do lewej i do prawej rozciągnięty ten element, jak również "Top" i "Bottom", czyli wszystkie
te niebieskie wskaźniki są oznaczone. Ja teraz mogę kliknąć sobie na Frame'a, przechodzę teraz do zmiany rozmiaru,
i wybieram np. iPhone'a 7 Plus.
Jak widzisz, tło już jest przyciągnięte do każdej z krawędzi,
i bardzo ładnie się skaluje na różne rozdzielczości.
Teraz zajmijmy się pozostałymi elementami i przejdźmy od góry.
Najpierw kliknę sobie na ten prostokąt, który jest w tel tytułu naszej aplikacji, a następnie muszę znów rozciągnąć go
do lewej i prawej krawędzi, i przyciągnąć do górnej. Teraz mogę klikać też na te "Constraints", które znajdują
się w takim wizualnym, nie muszę wybierać tutaj z listy w tym wizualnym trybie, aczkolwiek nie mogę naraz zaznaczyć
dwóch.
Mogę to zrobić dopiero, jeżeli wcisnę i przytrzymam Shift.
To jest bardzo ważny skrót, który polecam zapamiętać - z Shift'em
można kliknąć "Left" i "Right", wtedy się zaznaczy i mamy przyciągnięte też to do góry,
w związku z tym przy skalowaniu ładnie ten element będzie nam się zachowywał. Jeśli chodzi o "Actors Network", zobaczmy.
Znów jest przyciągnięte do lewej i górnej krawędzi.
My chcielibyśmy wycentrować ten element w poziomie i przyciągnąć do górnej krawędzi, tak, aby zawsze
pozostał tutaj w tym miejscu, w tej odległości od góry. W związku z tym, zamiast ustawiać te "Constraints", klikamy
sobie w środek, i w środku mamy możliwość ustawienia wertykalnie wycentrowania, albo horyzontalnie wycentrowania.
Możemy też wycentrować horyzontalnie i wertykalnie, i teraz tak zmieniły się linie, ale nam zależy na tym, żeby przyciągnąć
do górnej krawędzi i wycentrować w poziomie, żeby ten element zawsze był wycentrowany.
Następny element, to jest Avatar, i tutaj zauważ, że mamy elipsę, która jest po prostu wypełniona obrazkiem.
W związku z tym, co chcemy zrobić z tą elipsą. Na pewno nie chcemy, żeby była wyrównana do lewej i górnej
krawędzi. Chcemy ją w zasadzie chyba wycentrować w poziomie i w pionie.
Zobaczymy, jak to będzie wyglądało, i, tak naprawdę, te dwa elementy powinny w sumie ze sobą, razem jakoś
współdziałać.
W związku z tym, zamiast wybierać to dla każdego z elementów z osobna, mogę po prostu zrobić tak. Po pierwsze
zaznaczę tekst oraz ramkę dla tego tekstu z Shift'em.
Następnie zrobię z nich grupę. Teraz doznaczę jeszcze ten element, tę elipsę, i wrzucę może tę elipsę
też do tej jednej grupy.
W ten sposób wszystko mam w jednej grupie.
Jeśli na nią kliknę, to teraz będę mógł ustalić dla niej "Constraints". I spróbujmy to wyśrodkować na... Pozycja
Center i wertykalnie i horyzontalnie. I dla całej tej grupy mamy te ustawienia. Zobaczmy teraz, jak wygląda
np. tekst, czy ten Rectangle, który tu jest.
Zauważ, że te elementy odziedziczyły te właściwości wycentrowania. W związku z tym powinny się zachowywać
dobrze. Już wcześniej na elipsę też ją wycentrowaliśmy, w związku z tym,
I pamiętaj, że zawsze jest to relatywne do Frame'a, nie tyle do jakiejś grupy, czy do krawędzi tej grupy,
którą możesz teraz zaobserwować, że to będzie wyśrodkowane w ramach krawędzi tej grupy, tylko w ramach całego
Frame'a.
I teraz zróbmy jeszcze ostatni element, czyli mamy ten nasz, powiedzmy, nazwijmy to "Tab Bar". albo po prostu
"Bar", i zmieńmy właściwości tego elementu.
Ale najpierw znów wrzućmy do niego te ikony, które się tutaj znajdują. Czyli zaznaczam dodatkowo z Shift'em
tej ikony, i robię ze wszystkiego jedną grupę z pomocą Cmd+G.
Ta grupa jak widzisz, automatycznie jest znów przypięta do lewej i do górnej krawędzi. W związku z tym
musimy przypiąć ją do dolnej krawędzi, i chcemy, żeby ta grupa powiększała się na lewo i prawo, czyli
żeby była skalowana w lewo i w prawo, bo będzie wtedy skalowane tło.
W zasadzie chcemy, żeby elementy grupy, czyli te ikonki, pozostały w tych miejscach, nie były skalowane
i w związku z tym możemy przejść do wnętrza tej grupy, i zobaczyć sobie, jak wyglądają właściwości dla ikonek.
Widzisz, one też będą skalowane.
Na razie zobaczmy, jak to będzie wyglądało. Kliknijmy sobie na nazwę naszego Frame'a, i teraz, uwaga, ważna rzecz,
ponieważ, jeśli teraz zaczniemy skalować, to zobacz, co się dzieje.
Działa to może nawet całkiem nieźle, ale troszeczkę inaczej, niż sobie zaplanowaliśmy. Bo wszystko się
powiększa, czy zmniejsza. Dlaczego tak się dzieje? Dlatego, że mamy włączoną opcję "Scale Tool", zamiast "Move Tool".
Jeśli przełączymy się na narzędzie "Move Tool", to będziemy symulować to, jakbyśmy właśnie powiększali te rozdzielczości.
I teraz zobacz, że jeśli zwrócisz uwagę na całą tę górną część, i wszystkie elementy, które zrobiliśmy wcześniej,
jest wszystko OK,
Natomiast problem jest z tym skalowaniem ikonek. I pokażę Ci teraz dwa alternatywne sposoby.
Najpierw wrócę do tego domyślnego widoku iPhone'a 7, i pierwszy sposób jest taki, że zaznaczamy sobie te poszczególne
ikonki, i zmieniamy dla nich "Constraints", czyli, na przykład, gdybym ja wycentrował te ikony,
zaznaczmy cały wózek, możemy zaznaczyć je w zasadzie nawet naraz i zmienić dla nich równocześnie te wszystkie ustawienia,
i teraz przeszedł do skalowania,
to, jak widzisz, zostają one w tym samym miejscu, są wycentrowane.
W zasadzie moglibyśmy jeszcze raz do nich przejść i przypiąć je tutaj do dolnej krawędzi, a wycentrować jedynie
w poziomie, i wtedy działałoby to w ten sposób.
Czyli jest to jeden sposób, całkiem niezły, do tego, żeby stworzyć naprawdę fajny layout, który... Jak widzisz,
tutaj kolejność warstw ma też znaczenie. Gdybyśmy chcieli ukrywać tego avatara, i tę całą grupę pod naszą
"Actors Network",
wystarczy przesunąć to pod spód i w tym momencie już rzeczywiście może się to dopasowywać nawet do jakiegoś
małego, większego, dużego ekranu.
Natomiast, gdybyś chciał jednak zrobić skalowanie, i wróćmy tutaj do rozmiaru iPhone'a 7, zajmijmy
się może tym dla środkowego elementu.
I chciałbym, żeby Avatar pozostał niezmieniony, natomiast tekst oraz jego tło żeby nam się skalowało.
I możemy to zrobić w następujący sposób. Możemy to przypiąć do każdej z krawędzi, i zobacz jak będzie to
wyglądało podczas skalowania.
Wygląda to w miarę OK,
natomiast problem polega na tym, że trochę jest w tym momencie to niezależne od naszego avatara.
Natomiast, gdybym zmienił to, i zaznaczył ten tekst, a następnie wybrał jedną z innych opcji, czyli zamiast
przyciągać do każdej krawędzi osobno, wybrał opcję "Scale", którą mamy tutaj na dole,
to zobacz, jak będzie teraz zachowywał się ten element. On w fajny sposób się skaluje, a dodatkowo avatar
pozostaje zawsze w tym samym miejscu, relatywnie do grupy.
W związku z tym, w takich sytuacjach lepiej będzie wybrać właśnie "Scale" z tej rozwijalnej listy, niż przypinać,
co wyglądałoby na podobne działanie, niż przypinać do każdej z krawędzi.
I druga rzecz, o której chciałem pomówić, to jest możliwość przypięcia tych poszczególnych elementów, tych ikon, które
się tutaj znajdują, nie zawsze tak, jak to mamy w tym momencie, że znajdują się na środku grupy, ale wpięcie
ich np. w relacji do tej, wyłącznie tej częśc, czyli do tego footer'a. Zbliżmy się do niego, wybierając 2.
I teraz zobaczmy, jak wygląda jego struktura. Mamy tutaj ikonki, i każda z nich ma jest przypięta do dołu
i wyśrodkowana. Dzięki temu działa to całkiem nieźle, ale pamiętaj, że wszystkie te ikony, jak również to
tło, są zawsze w relacji do Frame'a, czyli zawsze do tej dolnej krawędzi Frame'a i wycentrowane w całym Frame'ie,
czyli na całym naszym iPhonie.
Chcielibyśmy zrobić tak, aby były one w relacji do tego elementu, który znajduje się pod spodem, czyli
do tego "Bar'a".
Możemy to zrobić, po prostu zaznaczając całą grupę. Pamiętaj, że elementy robimy relatywnie do Frame'a.
W związku z tym, jeśli przejdziemy do górnej części właściwości, zobaczymy że jest tu grupa, i zmienimy teraz
tę właściwość na Frame, to okaże się, że elementy, które zawierają się w tej grupie, mamy taką nową, charakterystyczną
ikonkę, i nie ma absolutnie żadnego problemu z nestowaniem Frame'ów, czyli zagnieżdżaniem jednych Frame'ów w drugich,
i wtedy mamy jako kontekst pozycjonujący dla tych elementów właśnie całego Frame'a. Więc dla paska ten "Bar" na dole,
możemy teraz ustawić spokojnie skalowanie, natomiast dla ikon zaznaczę je wszystkie z Shift'em, a w zasadzie
zrobimy to dla każdej z osobna, bo dla globusa ustawimy tę opcję w taki sposób, że będzie
on przyciągnięty do prawej, dolnej krawędzi.
Jeśli chodzi o wózek na środku, zrobimy wycentrowany i przesunięty do dolnej krawędzi, a tę ikonkę
z lewej przystawimy do lewej krawędzi i "Bottom". W ten sposób powinniśmy otrzymać następujący efekt. Wyzeruję
ten widok,
następnie kliknę sobie na cały artboard. Aha, jeszcze musimy przejść do całej grupy, i też ją jakoś przyporządkować,
bo, jak widzisz, zresetowały się jej wartości. Więc grupę przypniemy do lewej, prawej krawędzi i do krawędzi
dolnej.
I teraz zobaczmy, jak będzie się to skalować.
Jak widzisz mamy pożądany efekt, czyli Frame jest w tym momencie kontekstem pozycjonującym dla ikon, które
znajdują się w środku i one bardzo ładnie
pozycjonują się do dolnej, prawej krawędzi samego Frame'a. Więc wydaje mi się, że przerobiliśmy prawie wszystkie
rzeczy, które tutaj możesz w Figmie zrobić, i na tej podstawie możesz poeksperymentować, sprawdzić, a później zaznaczyć
sobie właśnie naszego Frame'a, i, przykładowo, zmienić go na iPhone'a 7, zobaczyć, jak to będzie wyglądało na
iPhonie SE,
możesz uruchomić to na iPadzie Air czy np. na jakimś 7-calowym tablecie.
I, jak widzisz, te zmiany, które wprowadziliśmy powodują, że wygląda to wszędzie całkiem nieźle,
być może jakieś małe poprawki będą konieczne, ale udało nam się z pomocą "Constraints" zrobić taki layout,
który dobrze będzie skalował się i dobrze będzie wyglądał na różnych ekranach. Także to wszystko, co chciałem
pokazać Ci w tej lekcji.
Bardzo dziękuję za uwagę i do usłyszenia już za chwilę!