Projektowanie stron i UI/UX
11 godz. 24 min · UI, UX i Webdesign
Grzegorz RógIdea ArchitectPoznasz podstawowe zagadnienia związane z funkcjonowaniem stron WWW w sieci - porozmawiamy o przeglądarce, domenach oraz DNS, wyborze odpowiedniego dostawcy usług hostingowych i najważniejszych parametrach na które należy zwrócić uwagę aby nasza strona WWW mogła skalować się wraz ze wzrostem ruchu. Powiem też o tym jak wygląda podział ról w procesie projektowania a także poznamy podstawowe pojęcia jak serwer i client-side oraz ich najważniejsze technologie html css js, pomówimy o blibliotekach i frameworkach, bazach danych i technologiach serwerowych jak asp net i php. Ta część głównie kierowana jest do osób które stawiają swoje pierwsze kroki w webdesignie i stanowi dopełnienie całego materiału.
Czy wiesz, że aż 25% ludzi na świecie korzysta wyłącznie z urządzeń mobilnych do przeglądania sieci? W tej części kursu będziesz miał okazję zainspirować się nowym podejściem do projektowania w związku ze zmieniającym się ekosystemem urządzeń i technologii mobilnych. Dowiesz się czym jest podejście mobile first oraz jakie są zalety rozpoczęcia procesu projektowego od małych ekranów. Poznasz też aktualne kierunki i trendy związane z wykorzystaniem IOT oraz VR i sensorów. Sprawdzimy statystyki i przygotujemy się do praktycznych aspektów projektowania na wiele ekranów, czyli…
Współczesny proces tworzenia serwisów, czy raczej aplikacji internetowych w ciągu ostatnich lat ewoluował w kierunku sprawnego dostarczania rezultatów i realizacji celów biznesowych w rekordowym czasie. W kursie omówimy dokładnie nowe podejście, wspominając także o metodologii Agile i podejściu Scrum, które z odpowiednimi modyfikacjami zastosujesz do każdego serwisu - niezależnie, czy tworzy go duży zespół osób, czy tylko grafik i programista. Jeśli słyszałeś o Agile UX i Lean UX to prawdopodobnie zainteresuje Cię to w jaki sposób zorganizować pracę tak aby przebiegała ona z nakierowaniem na rezultat. Powiem Ci też jak niemal całkowicie zrezygnować z przestarzałej dokumentacji na rzecz aktywnego angażowania zespołu i właściciela projektu.
Kurs, który masz przed sobą prowadzi Cię w sposób spójny i zrozumiały po kolejnych etapach procesu projektowania stron WWW. Ma on stanowić kompletne źródło wiedzy, do którego będziesz wracał w różnych fazach swoich projektów. Dlatego kolejnym działem jest wyjaśnienie zagadnienia pracy koncepcyjnej i jego pierwszego etapu jakim jest definicja celów oraz stworzenie modelu biznesowego dla powstającej witryny. Pokażę Ci jak zdefiniować cele, akcje oraz funkcje serwisu i jak powinien przebiegać podział tych elementów w fazie koncepcyjnej.
Kolejnym etapem pracy będzie zweryfikowanie tego, czy cele biznesowe serwisu odpowiadają zapotrzebowaniu oraz specyficznym wymaganiom użytkowników. Powiem Ci jak małym nakładem czasu przeprowadzić testy na użytkownikach i wyjaśnię, dlaczego są potrzebne w fazie koncepcyjnej. Zdefiniujemy także użytkowników, do których chcemy kierować swój serwis a także stworzymy persony, które będą towarzyszyć nam podczas kreowania strategii treści dla serwisu.
Ta obszerna część kursu obejmuje niezwykle ważny etap pracy koncepcyjnej, w ramach którego najpierw opracujemy schemat i architekturę treści dla naszego serwisu a następnie zbudujemy relację podstron witryny tworząc tym samym tzw. Sitemapę. Przy okazji pokażę Ci mnóstwo ciekawych narzędzi wspierających ten proces. Zajmiemy się kolejno hierarchią treści i podstron budując tym samym nawigację na naszej stronie. Pokażę Ci także szereg praktycznych, nowoczesnych rozwiązań związanych z nawigacją w serwisie.Kolejno zajmiemy się tworzeniem wizualnego schematu witryny a naszą pracę rozpoczniemy od prostych Wireframe'ów oraz projektowania w oparciu o tekst, by przejść do coraz bardziej zaawansowanych technik pracując nad mockupami oraz prototypami serwisu. Pokażę Ci szereg rozwiązań i narzędzi które będą pomocne również do tworzenia interaktywnych prototypów takich jak UX Pin, Invision czy Adobe Muse.Zbudujemy też tzw. Content Inventory, czyli repozytorium treści, które znajdą się w serwisie. Poznasz sposoby na jego łatwą aktualizację oraz narzędzia chmurowe, które pozwolą na zdalną współpracę nad treścią z innymi autorami.
Zamiast tworzenia klasycznych stron WWW opartych o podstrony, zaproponuję Ci zupełnie nowe podejście bazujące na tworzeniu systemów opartych o komponenty. Poznasz atomy oraz molekuły tworzące gotowy organizm i strony Twojego serwisu i odkryjesz mnóstwo zalet takiego podejścia, które znacznie odciąży Twój serwis i sprawi, że będziesz mógł go łatwo skalować. Pomówimy o graficznych bibliotekach komponentów oraz ich organizacji a także rozwiązaniach opartych o przeglądarkę i HTML oraz CSS. Dowiesz się czym jest Style Guide i jak stworzyć uniwersalne wytyczne do komponentów w Twoim serwisie. Pokażę Ci też najlepiej przygotowane przykłady Style Guide.
Kolejną część kursu poświęcimy na omówienie praktycznych zagadnień związanych z poszukiwaniem inspiracji stylistycznych do projektu. Pokażę Ci narzędzia, które pozwolą w łatwy sposób gromadzić inspiracje w postaci zasobów i tablic a następnie na ich podstawie stworzymy wytyczne do zaprojektowania graficznego UI serwisu. Dowiesz się czym są Style Tiles i dlaczego warto tą część procesu zaplanować w odpowiednim czasie.
To nie wszystko! Jako bonus do tego kursu otrzymasz ponad godzinną lekcję z przeglądem setek serwisów WWW, które zainspirują Cię do dalszej pracy. Przyjrzymy się aktualnym trendom w projektowaniu takim jak Flat UI czy Material Design. Będziesz miał okazję obejrzeć najlepiej zaprojektowane serwisy na Świecie i dowiedzieć się, co sprawia że ich UI i UX są wyjątkowe. To nie wszystko! W ramach kursu otrzymasz darmowe aktualizacje tego materiału w każdym roku tak, abyś mógł dopasować się do zmieniających się trendów!
W kolejnej części kursu porozmawiamy o nowych trendach w zakresie przygotowywania i optymalizacji na strony WWW. Dowiesz się jakie są popularne formaty grafiki, jak możemy zastąpić ją z pomocą typografii czy elementów CSS3 a także jak przygotować pliki na Twoją stronę WWW. Dowiesz się też jak pracować z formatem SVG i popularnymi bibliotekami wspomagającymi pracę z grafiką.Porozmawiamy także o projektowaniu w oparciu o zasoby - przekażę Ci mnóstwo linków do darmowych zasobów jak grafiki - zdjęcia, ikony, czy gotowe zestawy UI przygotowane dla Photoshop, Sketch czy Illustrator, tak abyś mógł pracować wydajniej mając do dyspozycji świetnej jakości źródła.
Kolejna część dotyczy kolorystyki na stronach WWW oraz siatki - poznasz właściwe zastosowania kolorów oraz dowiesz się jak działa psychologia kolorów. Pokażę Ci także szereg narzędzi, które ułatwią i pomogą w wyborze kolorystyki na stronę WWW. Poza tym będziemy także pracować w oparciu o siatkę jako jeden z kanonów projektowania, który łatwo zrozumiesz dzięki aplikacjom optymalizującym pracę na gridzie.
Z kursu dowiesz się także jak skutecznie pracować w zespole. Nieważne, czy jest to zespół składający się z kilkunastu osób pracujących zdalnie, czy z dwóch które ściśle ze sobą współpracują - pokażę Ci jak zautomatyzować procesy oraz jak zarządzać skuteczną komunikacją w zespole z wykorzystaniem nowych, ciekawych narzędzi. Automatyzatory zadań, repozytoria plików, praca w oparciu o chmurę czy biblioteki CC, Slack, OneDrive i wiele innych narzędzi pomoże Ci zrealizować sprawnie zadania projektowe w ramach nowego procesu Parallel Design.
Ostatnia część kursu stanowi wprowadzenie do nowoczesnego SEO, czyli optymalizacji strony pod kątem indeksowania w wyszukiwarkach. Poznasz elementarne składowe procesu zarządzania indeksowaniem oraz sposoby na monitorowanie i analitykę Twojej strony pod tym kątem. Poza tym, będziemy także mówić o promocji strony w sieci, gdzie poznasz podstawowe kanały, którymi warto obecnie docierać do Twoich odbiorców.Jako bonus do kursu znajdziesz również wzory prawidłowo skonstruowanych dokumentów!
Kurs jest przeznaczony dla wszystkich osób, które pracują ze stronami WWW - grafików, programistów, koderów, a także osób które kierują projektami webowymi lub odpowiadają za ich ousourcing w firmach. Jeśli chcesz dowiedzieć się, jak funkcjonują nowoczesne strony WWW - ten kurs jest właśnie dla Ciebie!
Witaj w kolejnej lekcji tego kursu, w lekcji o technologiach gdzie chciałbym nieco dokładniej wytłumaczyć
Ci jak funkcjonują technologie Client-Side jako jeden z najważniejszych komponentów tego jak tworzymy
nowoczesne strony internetowe. Technologie Client-Side, te najważniejsze to HTML, CSS oraz JavaScript.
Działają one w przeglądarce po stronie klienta, pokazywałem Ci już fragment kodu JavaScript, który generował
nam zegarek. To był zegarek który zczytywał czas z czasu komputera użytkownika,
a teraz chciałbym dokładniej pokazać Ci jak wygląda HTML oraz CSS. HTML to
inaczej Hyper Text Markup Language, czyli język, który jest wykorzystywany do tworzenia właśnie tzw. mark'upu
stron internetowych, czyli inaczej - zawiera jakby treść naszej strony oznaczoną poszczególnymi tagami,
czyli oznaczeniem czy jest to treść akapitu,
czy jest to np. treść nagłówka, czy jest to obrazek i dzięki temu przeglądarka może odpowiednio interpretować
kod HTML, a my możemy odnosić się do tych elementów HTML'a z pomocą CSS, czyli właśnie Cascading Stylesheets
po to aby elementy HTML'a w pewien sposób oscylować czyli np. zmienić ich kolor czy zmienić ich wielkość.
Zobacz jak to działa w praktyce.
Mam bardzo prosty plik HTML'owy w Brackets,
gdzie mamy kilka znaczników HTML'a, z czego w ciele naszego dokumentu, czyli w tym głównym węźle znajduje
się przykładowy akapit tekstu w znaczniku p.
Po prostu semantyka HTML'a wskazuje, że w ramach znaczników p powinniśmy robić akapity. W ramach znaczników H1
najwyższego typu nagłówki itd. itd. Jest to bardzo proste
i teraz jeżeli chciałbym podejrzeć tą stronę internetową w przeglądarce mam wyświetlony ten przykładowy
akapit tekstu.
Gdybyśmy w tym momencie chcieli w jakiś sposób ten akapit oscylować, skorzystamy właśnie ze stylów CSS.
Style CSS możemy dołączyć w tym samym dokumencie w sekcji head, wpisując po prostu tutaj style i korzystając
z takiego znacznika stylów, w którym możemy powiedzieć, że każdy akapit, czyli każdy znacznik p ma mieć
np. kolor czerwony, czyli wybierzmy sobie color: red.
Zapisuje tę zmiany i znów podglądam to pod przeglądarką.
Jak widać akapit tekstu zmienił swój kolor czerwony.
Jeżeli chciałbym np. jeszcze dodatkowo zmienić font-size, czyli rozmiar tego tekstu na 200%, mogę
to zrobić bardzo łatwo. I znów odświeżmy te zmiany,
jak widzisz tekst jest dwa razy większy. Więc HTML działają razem z CSS'em, już mam nadzieję że wiesz od
czego są poszczególne komponenty.
Rzecz jasna ten kod CSS możemy eksportować do osobnego pliku z rozszerzeniem .css, takiego jak mamy np.
tutaj,
no i wszystkie style CSS mieć w jednym miejscu, a następnie możemy podlinkować je do jednego lub też wielu
dokumentów HTML.
Czyli wiele podstron HTML naszej strony
może korzystać,
i tak właśnie się robi, z jednego pliku CSS gdzie są określane wszystkie style przycisków, naszego menu,
tekstów, treści, akapitów, nagłówków itd.
Ok, myślę, że to był taki szybki start i już teraz doskonale wiesz czym są te komponenty. W kontekście HTML5
chciałbym jeszcze powiedzieć tyle, że to jest najnowsza specyfikacja HTML'a
ale często słysząc sformułowanie HTML5 nie nastawiaj się tylko na to, że będzie to ta specyfikacja znaczników,
czyli p to akapit itd.
Często HTML5 określa się szereg nowych specyfikacji działających w przeglądarkach i funkcjonalności
takich jak np. Geolokalizacja, dostęp do kamery, mikrofonu, dostęp do takiej lokalnej bazy danych, co też
jest możliwe ale nie chcę tutaj wchodzić w szczegóły i można powiedzieć, że HTML5 określa się szereg
tych wszystkich nowych technologii, z czego nie jest to tylko HTML, ale bardzo często jest to HTML w połączeniu już
z CSS'em i z JavaScript.
Teraz w kontekście tych nowych technologii chciałbym od razu pokazać Ci jedno bardzo fajne narzędzie,
czyli narzędzie, które nazywa się caniuse.com. Na stronie 'Can I Use' możesz sprawdzić jakie jest wsparcie
dla poszczególnych elementów HTML5 w przeglądarkach. Rzecz jasna
nowoczesne przeglądarki takie jak Chrome, Firefox czy Internet Explorer w różnym stopniu mają wsparcie
czy są programowane w taki sposób, aby wspierały te nowe technologie w różnym stopniu odpowiadają tym
nowym potrzebom specyfikacji i przed wdrożeniem jakiegoś elementu na stronę.
Warto sprawdzić czy rzeczywiście wszystkie przeglądarki go wspierają.
Na stronie 'Can I Use' wystarczy, że wpiszesz nazwę takiego elementu np. geo, jak geolokacja i otrzymujemy informację
o geolokacji.
Wszystkie przeglądarki Internet Explorer, Edge, Firefox itd. są na zielono, to znaczy że wspierają funkcjonalność
geolokacji.
Oprócz Internet Explorera 8, ale jeżeli do niego najedziemy, widzimy że jest to tylko jeden procent użytkowników,
więc nie ma się zupełnie co tym przejmować.
Nie wspiera jeszcze tego Opera Mini i to może by było większe zmartwienie ponieważ to jest aż prawie
5% użytkowników mobilnych.
No i np. sprawdźmy sobie jeszcze coś innego, np. pliki SVG, o których będę jeszcze mówił, też pełne wsparcie
oprócz Internet Explorera 8, a więc sprawdzamy na stronie 'Can I Use' takie elementy no i teraz jeżeli jakaś przeglądarka
nie wspiera różnych funkcjonalności,
możemy też skorzystać z pewnych skryptów, pewnych metod, które pozwolą nam wykryć to, że rzeczywiście ona
nie ma wsparcia np. dla Geolokalizacji, a następnie zastosować jakąś metodę tzw. fallback, czyli taki backup,
który np. w razie czego wyświetli w ostateczności jakąś informację, że Twoja przeglądarka tego nie wspiera,
ale lepszą metodą jest po prostu stworzenie jakiejś bardziej ograniczonej funkcjonalności, ale która
rzeczywiście będzie dostępna dla użytkownika pod tą konkretną przeglądarką która nie wspiera tej funkcji
i do tego służy np. bardzo dobra biblioteka Modernizr, z pomocą której możemy wybrać te elementy,
które chcemy wykrywać. Na przykład jeżeli korzystamy z geolokalizacji, to wpiszmy sobie, a tutaj geolokalizacji, powinna
być, ale jak to się nazywa, Geolocation API.
Jeżeli chcemy sprawdzić czy ona jest dostępna w przeglądarce to po prostu dodajemy sobie Geolocation API do
naszego skryptu Modernizr'a i później po prostu budujemy sobie taki skrypt, a następnie dołączamy go
do naszej strony i Modernizr sprawdzi czy przeglądarka obsługuje Geolokalizację.
Jeżeli nie to będziemy mieli jakiś fragment, blok kodu, w którym będziemy mogli podać jakiś fallback, czyli
np. zastąpić to inną funkcjonalnością naszej strony.
Na razie z grubsza chciałbym żebyś wiedział jak to funkcjonuje, jak funkcjonują nowe elementy, no i takie
nowoczesne sposoby na sprawdzenie rozmaitych rzeczy, czy one działają na starszych przeglądarkach mam
wymienione tutaj. Są to strony, które również oczywiście znajdziesz w plikach źródłowych i takie skrypty,
które warto zastosować w celu detekcji tych funkcji, np. HTML Shiv, Modernizr, o którym właśnie wspomniałem,
Selectivizr, Video.js która zapewnia wsparcie dla wideo w starszych przeglądarkach.
IE7.js jest również dla Internet Explorera w wersji 7, ale w zasadzie to już jest pieśń przeszłości, no i Fallback.js, również
podobna biblioteka zawierająca wsparcie dla różnych zewnętrznych skryptów.
Jeśli chodzi o kolejne pojęcia z technologii, to w tej lekcji chciałbym jeszcze powiedzieć Ci czym są
Frameworki i biblioteki JavaScript,
ponieważ bardzo często się z nich korzysta. Jeżeli np. spotkasz się ze sformułowaniem jQuery, Ember, Knockout, Handlebars
czy Angular.js to musisz wiedzieć, że są to pewne Frameworki
czy biblioteki oparte na JavaScript'cie i cieszą się one dużą popularnością, ponieważ są to pewne
gotowe rozwiązania, o których chciałbym żebyś myślał jak o pewnych gotowych komponentach do użycia w swoim
projekcie.
Na przykład ten zegar, który pisaliśmy w JavaScript'cie, my napisaliśmy tam ileś linii kodu, ale biblioteka czy
Framework mógłby nam zapewnić wyświetlenie takiego zegara po prostu z pomocą jednej linii kodu. I Frameworki
można powiedzieć, że są to takie gotowe zestawy takich snippetów, kawałków kodu, które odpowiadają za różne funkcje i z
pomocą często jednej linii pozwalają uruchomić je na naszej stronie.
Może na razie w uproszczeniu, jeżeli jesteś początkującą osobą w ten sposób możesz to rozumieć, a popularne
rozwiązania rozwiązania jeśli chodzi o frameworki, no to po kolei.
Najpierw mamy framework jQuery, który jest taką obudową JavaScipt'u, która pozwala łatwo np. dostać się
do jakiś elementów na naszej stronie, stworzyć animacje itd.
jQuery zdecydowanie polecam i warto je doinstalować na swojej stronie.
Kolejne Frameworki, bardziej rozbudowane np. AngularJS.
To jest Framework, który wykorzystywany jest też w dużych projektach i oferuje ciekawe podejście również
mocno oparte na takiej technologii którą jest Ajax, który umożliwia ładowanie elementów z serwera bez konieczności
przeładowania naszej strony.
Dużo takich Frameworków funkcjonuje i AngularJS czy Ember,
czy np. BackboneJS
są jednymi z bardziej popularnych. Następnie mamy bibliotekę Polymer, to jest nowoczesny Framework, który
jest rozwijany przez Google i będę o Polimerze mówił sporo
w części poświęconej Material Design, także polecam Ci przejrzeć jeszcze tą część dotyczącą nowych trendów
w projektowaniu, a następnie Frameworki takie jak Bootstrap, czyli gotowe rozwiązania, gotowe fragmenty kodu
HTML i CSS oraz JavaScript, które pozwalają np. z pomocą jednej linii wyświetlić jakieś potwierdzenie dla
użytkownika,
prosty formularz, jakiś alert i pokażę Ci to również w odpowiedniej części kursu.
Także to wszystko są Frameworki i rozwiązania z których możesz korzystać aby nieco przyspieszyć i zautomatyzować
swoją pracę, a w kolejnej lekcji będę chciał zająć się już następnym tematem związanym bardziej z tym
co widzi użytkownik
i z tą użytecznością naszej strony pod kątem projektowania. Do usłyszenia już za chwilę.