{"id":28467,"date":"2024-08-02T05:00:00","date_gmt":"2024-08-02T03:00:00","guid":{"rendered":"https:\/\/sii.pl\/blog\/?p=28467"},"modified":"2024-07-29T15:31:16","modified_gmt":"2024-07-29T13:31:16","slug":"harmonizacja-procesu-projektowania-z-developmentem-design-tokeny-we-wspolpracy-ux-ui-dev","status":"publish","type":"post","link":"https:\/\/sii.pl\/blog\/harmonizacja-procesu-projektowania-z-developmentem-design-tokeny-we-wspolpracy-ux-ui-dev\/","title":{"rendered":"Harmonizacja procesu projektowania z developmentem \u2013 design tokeny we wsp\u00f3\u0142pracy UX\/UI-Dev"},"content":{"rendered":"\n<p>Poniewa\u017c design systemy (systemy projektowe) staj\u0105 si\u0119 gor\u0105cym tematem w bran\u017cy, warto przyjrze\u0107 si\u0119 bli\u017cej design tokenom (tokenom projektowym) \u2013 narz\u0119dziu, kt\u00f3re wiele system\u00f3w projektowych, w tym najpopularniejszy na \u015bwiecie Material Design lub MUI, wprowadzi\u0142o w celu optymalizacji implementacji i zarz\u0105dzania komponentami UI. Ponadto, jest to tak\u017ce modne has\u0142o okre\u015blaj\u0105ce to, czego jako projektanci i deweloperzy mo\u017cecie ju\u017c u\u017cywa\u0107 w takiej czy innej formie.<\/p>\n\n\n\n<p>Niezale\u017cnie od Twojej roli \u2013 projektanta, programisty lub mened\u017cera poszukuj\u0105cego wiedzy, ten <strong>artyku\u0142 pomo\u017ce Ci zorientowa\u0107 si\u0119, czym s\u0105 tokeny projektowe<\/strong>.<\/p>\n\n\n\n<p>Pokr\u00f3tce przedstawi\u0119 ich histori\u0119, wyja\u015bni\u0119 koncepcj\u0119 oraz jej zastosowanie w projektowaniu i kodzie, rol\u0119, jak\u0105 odgrywaj\u0105 w usprawnianiu wsp\u00f3\u0142pracy projektowo-programistycznej, a tak\u017ce w jaki spos\u00f3b przek\u0142ada si\u0119 to na organizacje zarz\u0105dzaj\u0105ce swoim brandingiem (identyfikacj\u0105 wizualn\u0105) na du\u017c\u0105 skal\u0119.<\/p>\n\n\n\n<p>Je\u015bli nadal nie masz poj\u0119cia, o czym m\u00f3wi\u0119, nie martw si\u0119, ten artyku\u0142 da Ci podstawy, aby zacz\u0105\u0107. Gotowy\/a? Zaczynajmy.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Ale po co w og\u00f3le tokeny projektowe?<\/strong><\/h2>\n\n\n\n<p>Jako projektanci staramy si\u0119 odpowiada\u0107 na potrzeby u\u017cytkownik\u00f3w, a tak\u017ce realizowa\u0107 okre\u015blone cele biznesowe. Dlatego, zanim przejdziemy do wyja\u015bnienia tematu artyku\u0142u, chcia\u0142abym najpierw skupi\u0107 si\u0119 na <strong>problemie biznesowym<\/strong>, <strong>kt\u00f3ry<\/strong> <strong>adresuj\u0105 tokeny projektowe.<\/strong><\/p>\n\n\n\n<p>Patrz\u0105c na \u015bwiatowe organizacje, mo\u017cemy okre\u015bli\u0107 jedn\u0105 wsp\u00f3ln\u0105 cech\u0119 \u2013 branding. Rozwini\u0119ty na wy\u017cszym lub ni\u017cszym poziomie, jest to j\u0119zyk wizualny, kt\u00f3ry odr\u00f3\u017cnia jedn\u0105 firm\u0119 od drugiej, umo\u017cliwiaj\u0105cy komunikowanie si\u0119 z docelowymi odbiorcami w okre\u015blony spos\u00f3b.<\/p>\n\n\n\n<p>W dzisiejszych czasach, gdy bran\u017ce opieraj\u0105 si\u0119 na znacznie bardziej zr\u00f3\u017cnicowanych kana\u0142ach ni\u017c w przesz\u0142o\u015bci, bior\u0105c pod uwag\u0119 nie tylko media drukowane, ale tak\u017ce niezliczone urz\u0105dzenia wy\u015bwietlaj\u0105ce tre\u015bci na ekranach, <strong>systemy projektowe<\/strong>, czyli skodyfikowane j\u0119zyki marek, <strong>wspieraj\u0105 <\/strong><strong>wszystkich zaanga\u017cowanych w proces tworzenia komunikacji<\/strong>, pomagaj\u0105c utrzyma\u0107 sp\u00f3jno\u015b\u0107 korzystania z identyfikacji wizualnej.<\/p>\n\n\n\n<p>Mo\u017cna \u015bmia\u0142o powiedzie\u0107, \u017ce j\u0119zyk wizualny organizacji jest filarem jej komunikacji i kluczowym czynnikiem w budowaniu zaufania odbiorc\u00f3w.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Przyjrzyjmy si\u0119 tokenom na przyk\u0142adzie<\/strong><\/h3>\n\n\n\n<p>Jak zareagowa\u0142by kto\u015b na mailing lub stron\u0119 internetow\u0105 instytucji, kt\u00f3rej powierza swoje \u015brodki, gdyby zobaczy\u0142 przestarza\u0142e logo lub kolory interfejsu niepasuj\u0105ce do wizualnego j\u0119zyka marki. Czy nie wydawa\u0142oby si\u0119 to dziwne i raczej podejrzane?<\/p>\n\n\n\n<p>Aby zilustrowa\u0107 znaczenie mo\u017cliwo\u015bci zastosowania decyzji projektowych na du\u017c\u0105 skal\u0119, pos\u0142u\u017c\u0119 si\u0119 histori\u0105, kt\u00f3rej u\u017cy\u0142<a href=\"https:\/\/specifyapp.com\/blog\/introduction-to-design-tokens#:~:text=Let%20me%20tell,developers%20can%20use.\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" > Louis Chenais<\/a>.<\/p>\n\n\n\n<p>Wyobra\u017amy sobie, \u017ce jeste\u015b projektantem\/-k\u0105 w du\u017cej korporacji. Jako szef\/-owa dzia\u0142u projektowego, <strong>masz proste zadanie od\u015bwie\u017cenia wizerunku marki<\/strong> \u2013 zaktualizowa\u0107 jej g\u0142\u00f3wny kolor, zmieniaj\u0105c go na nowy.<\/p>\n\n\n\n<p>Rebranding zosta\u0142 sfinalizowany, a Ty musisz go \u201etylko\u201d zaimplementowa\u0107 w interfejsach wszystkich produkt\u00f3w korporacji, kt\u00f3re obejmuj\u0105:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>stron\u0119 internetow\u0105 firmy,<\/li>\n\n\n\n<li>aplikacj\u0119 internetow\u0105<\/li>\n\n\n\n<li>aplikacj\u0119 na Androida,<\/li>\n\n\n\n<li>aplikacj\u0119 na iOS.<\/li>\n<\/ul>\n\n\n\n<p>\u201eNic wielkiego\u201d, my\u015blisz, podekscytowany\/-a osi\u0105gni\u0119ciem celu i prosisz kierownik\u00f3w odpowiednich zespo\u0142\u00f3w in\u017cynieryjnych, odpowiedzialnych za ka\u017cdy produkt, aby zaktualizowali kolor z X (stary) na Y (nowy), dostarczaj\u0105c im warto\u015bci RGB (przestrze\u0144 kolor\u00f3w).<\/p>\n\n\n\n<p><strong>W tym momencie zaczynaj\u0105 si\u0119 schody<\/strong>. Nap\u0142ywaj\u0105 pytania o inne formaty kolor\u00f3w, dzia\u0142aj\u0105ce na r\u00f3\u017cnych platformach, ludzie pr\u00f3buj\u0105 ustali\u0107, czy aktualizacja powinna mie\u0107 wp\u0142yw na wszystkie komponenty interfejsu u\u017cytkownika. Niekt\u00f3rzy mened\u017cerowie s\u0105 nieresponsywni, co sprawia, \u017ce wdro\u017cenie aktualizacji w ich obszarach jest w\u0105tpliwe.<\/p>\n\n\n\n<p>Zapewnienie prawid\u0142owego zastosowania tej jednej zmiany okazuje si\u0119 trudnym wyzwaniem bez wsp\u00f3lnego \u201ej\u0119zyka projektowania\u201d, kt\u00f3rego mogliby u\u017cywa\u0107 zar\u00f3wno projektanci, jak i programi\u015bci.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Jaki problem biznesowy rozwi\u0105zuj\u0105 zatem tokeny?<\/strong><\/h3>\n\n\n\n<p><strong>Kiedy\u015b du\u017ce organizacje marnowa\u0142y miesi\u0105ce na wdra\u017canie zmian w identyfikacji wizualnej<\/strong> swoich produkt\u00f3w cyfrowych, co teraz, pod warunkiem, \u017ce produkty s\u0105 oparte na tokenach projektowych, zajmuje <strong>kilka minut.<\/strong><\/p>\n\n\n\n<p>Jaki jest zatem problem biznesowy, kt\u00f3ry rozwi\u0105zuj\u0105 tokeny projektowe? Kr\u00f3tko m\u00f3wi\u0105c: <strong>wdro\u017cenie token\u00f3w projektowych oszcz\u0119dza pieni\u0105dze Twojej organizacji<\/strong>, poniewa\u017c nie potrzebujesz ju\u017c miesi\u0119cy i cz\u0119sto setek ludzi, aby wdra\u017ca\u0107 proste decyzje projektowe do kodu na r\u00f3\u017cnych platformach. Nie ryzykujesz niesp\u00f3jno\u015bci negatywnie wp\u0142ywaj\u0105ce na wizerunek Twojej marki.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Okej, tokeny projektowe\u2026 czyli?<\/strong><\/h2>\n\n\n\n<p>Cofnijmy si\u0119 o krok do narodzin koncepcji token\u00f3w projektowych w Salesforce oko\u0142o 2015 roku. Jina Anne w zespole ds. system\u00f3w projektowych, w towarzystwie Jona Levine&#8217;a po stronie in\u017cynieryjnej, koordynowa\u0142a koncepcyjne, agnostyczne rozwi\u0105zanie \u2013 definicj\u0119 projektow\u0105 zlokalizowan\u0105 w jednym miejscu (\u201eJedno \u017ar\u00f3d\u0142o prawdy\u201d) propagowan\u0105 na wszystkie platformy \u2013 tworz\u0105c termin \u201etokeny projektowe\u201d.<\/p>\n\n\n\n<p><strong>Tokeny projektowe<\/strong> s\u0105 nazwami u\u017cywanymi w charakterze no\u015bnik\u00f3w decyzji projektowych, takich jak:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>kolor,<\/li>\n\n\n\n<li>ikonografia,<\/li>\n\n\n\n<li>kr\u00f3j lub rozmiar pisma,<\/li>\n<\/ul>\n\n\n\n<p>w j\u0119zyku projektowym organizacji. Aby by\u0142y u\u017cywane i rozumiane przez wszystkich, nazwy te powinny by\u0107 wynikiem <strong>wsp\u00f3lnych decyzji podejmowanych przez projektant\u00f3w i programist\u00f3w<\/strong> z uwzgl\u0119dnieniem przebiegu pracy zespo\u0142\u00f3w.<\/p>\n\n\n\n<p>Tokeny projektowe mo\u017cemy opisa\u0107 jako:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><em>(&#8230;) wizualne atomy systemu projektowego \u2013 w szczeg\u00f3lno\u015bci s\u0105 to nazwane jednostki, kt\u00f3re przechowuj\u0105 atrybuty projektu wizualnego<\/em><\/p>\n<cite>Salesforce Lightning Design System<\/cite><\/blockquote>\n\n\n\n<p>Je\u015bli nie jeste\u015b zaznajomiony\/-a z Metodologi\u0105 Atomic Design, poni\u017csza ilustracja przedstawia koncepcj\u0119 na przyk\u0142adzie fragmentu interfejsu Instagrama, rozbitego z ca\u0142ej strony na rzeczywiste atomy, umieszczaj\u0105c tokeny projektowe jako cz\u0105stki subatomowe, czyli warto\u015bci, z kt\u00f3rych sk\u0142adaj\u0105 si\u0119 atomy.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image1-3.png\"><img decoding=\"async\" width=\"819\" height=\"340\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image1-3.png\" alt=\"Metodologia Atomic Design\" class=\"wp-image-28469\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image1-3.png 819w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image1-3-300x125.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image1-3-768x319.png 768w\" sizes=\"(max-width: 819px) 100vw, 819px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 1 <a href=\"https:\/\/atomicdesign.bradfrost.com\/chapter-2\/#:~:text=Atomic%20design%20is%20atoms%2C%20molecules,parts%20at%20the%20same%20time.\" target=\"_blank\" aria-label=\"Metodologia Atomic Design (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Metodologia Atomic Design<\/a><\/figcaption><\/figure>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><em>Tokeny projektowe s\u0105 j\u0119zykiem s\u0142u\u017c\u0105cym do przekazywania intencji mi\u0119dzy r\u00f3\u017cnymi cz\u0119\u015bciami systemu<\/em>.<\/p>\n<cite>Ethan Marcotte, &#8222;<a href=\"https:\/\/specifyapp.com\/blog\/introduction-to-design-tokens\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Design-ish systems<\/a>&#8222;<\/cite><\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>A ja\u015bniej?<\/strong><\/h3>\n\n\n\n<p>Aby lepiej zilustrowa\u0107 t\u0119 koncepcj\u0119, pos\u0142u\u017c\u0119 si\u0119 metafor\u0105. Wyobra\u017a sobie, \u017ce masz psa. Tw\u00f3j pies ma na imi\u0119 \u201eCharlie\u201d, ale w zale\u017cno\u015bci od okoliczno\u015bci nazywasz go r\u00f3wnie\u017c \u201eMa\u0142ym \u0141obuzem\u201d (ang. Little Rascal) i \u201eMuffink\u0105\u201d (ang. Muffin).<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image2-2.png\"><img decoding=\"async\" width=\"804\" height=\"524\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image2-2.png\" alt=\"Metafora koncepcji tokena projektowego\" class=\"wp-image-28471\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image2-2.png 804w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image2-2-300x196.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image2-2-768x501.png 768w\" sizes=\"(max-width: 804px) 100vw, 804px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 2 Metafora koncepcji tokena projektowego<\/figcaption><\/figure>\n\n\n\n<p>Niezale\u017cnie od tego, jak nazwiesz swojego psa, to wci\u0105\u017c ten sam zwierzak (wbrew temu, co mo\u017cesz my\u015ble\u0107, gdy w\u0142a\u015bnie zniszczy\u0142 tw\u00f3j ulubiony mebel). Tokeny projektowe dzia\u0142aj\u0105 tak samo. Zamiast u\u017cywa\u0107 na sta\u0142e zakodowanych warto\u015bci \u2013 takich jak hex dla koloru, piksele dla odst\u0119pu itp. \u2013 <strong>warto\u015bci te mo\u017cesz nazwa\u0107<\/strong>. To jak nadawanie pseudonim\u00f3w decyzjom projektowym. Sp\u00f3jrzmy na poni\u017csz\u0105 analogi\u0119 na przyk\u0142adzie kolor\u00f3w.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image3-1.png\"><img decoding=\"async\" width=\"806\" height=\"229\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image3-1.png\" alt=\"Analogia koncepcji tokena projektowego na przyk\u0142adzie koloru\" class=\"wp-image-28473\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image3-1.png 806w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image3-1-300x85.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image3-1-768x218.png 768w\" sizes=\"(max-width: 806px) 100vw, 806px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 3 <a href=\"https:\/\/thedesignsystem.guide\/design-tokens\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Analogia koncepcji tokena projektowego na przyk\u0142adzie koloru<\/a><\/figcaption><\/figure>\n\n\n\n<p>Tokeny projektowe s\u0105 przeznaczone do wykorzystania w systemie projektowym oraz w przekroju Twoich produkt\u00f3w. Aby to umo\u017cliwi\u0107, musisz przekszta\u0142ci\u0107 je do u\u017cytku na r\u00f3\u017cnych platformach (Web, iOS lub Android) przez r\u00f3\u017cne zespo\u0142y.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image4-1.png\"><img decoding=\"async\" width=\"799\" height=\"380\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image4-1.png\" alt=\"Spos\u00f3b, w jaki decyzje projektowe s\u0105 przekszta\u0142cane w tokeny projektowe do wykorzystania na okre\u015blonych platformach\" class=\"wp-image-28476\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image4-1.png 799w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image4-1-300x143.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image4-1-768x365.png 768w\" sizes=\"(max-width: 799px) 100vw, 799px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 4 <a href=\"https:\/\/uxdesign.cc\/design-tokens-for-dummies-8acebf010d71\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Spos\u00f3b, w jaki decyzje projektowe s\u0105 przekszta\u0142cane w tokeny projektowe do wykorzystania na okre\u015blonych platformach<\/a><\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>W3C Design Tokens Standard<\/strong><\/h3>\n\n\n\n<p>Je\u015bli chcemy zapewni\u0107 pomy\u015bln\u0105 adaptacj\u0119 token\u00f3w projektowych w wielu aplikacjach, potrzebujemy standardu zapewniaj\u0105cego sp\u00f3jno\u015b\u0107. Konsorcjum World Wide Web (W3C), kierowane przez Tima Bernersa-Lee i Jeffreya Jaffe, we wsp\u00f3\u0142pracy z wieloma organizacjami i pojedynczymi osobami, pracuje nad zapewnieniem standardu \u201eW3C Design Tokens Standard\u201d.<\/p>\n\n\n\n<p>Pozwoli\u0142oby to r\u00f3\u017cnym narz\u0119dziom komunikowa\u0107 si\u0119 w tym samym \u201ej\u0119zyku\u201d, na przyk\u0142ad umo\u017cliwiaj\u0105c pobieranie token\u00f3w z Figmy i u\u017cywanie ich w Adobe Illustrator. Wyobra\u017a sobie, jak przyspieszy\u0142oby to przep\u0142yw pracy mi\u0119dzy dzia\u0142ami marketingu i projektowania produktu!<\/p>\n\n\n\n<p>Aby dowiedzie\u0107 si\u0119 wi\u0119cej na temat standardu, zapoznaj si\u0119 z <a href=\"https:\/\/www.designtokens.org\/\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >oficjaln\u0105 grup\u0105 Spo\u0142eczno\u015bci Design Tokens Community Group<\/a> oraz <a href=\"https:\/\/www.w3.org\/community\/design-tokens\/\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >W3C Design Tokens Community Group<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Jak budujemy za pomoc\u0105 token\u00f3w projektowych?<\/strong><\/h2>\n\n\n\n<p>Teraz, gdy om\u00f3wi\u0142am absolutne podstawy koncepcji token\u00f3w projektowych, p\u00f3jd\u017amy dalej i zag\u0142\u0119bmy si\u0119 nieco bardziej w r\u00f3\u017cne rodzaje token\u00f3w i spos\u00f3b, w jaki s\u0142u\u017c\u0105 nam one do tworzenia projekt\u00f3w.<\/p>\n\n\n\n<p>Ka\u017cdy produkt cyfrowy jest struktur\u0105 funkcji, kt\u00f3re sk\u0142adaj\u0105 si\u0119 z interfejs\u00f3w. Ka\u017cdy interfejs jest zbudowany z komponent\u00f3w, skomponowanych z token\u00f3w projektowych.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image5.png\"><img decoding=\"async\" width=\"812\" height=\"375\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image5.png\" alt=\"Schemat struktury produktu\" class=\"wp-image-28478\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image5.png 812w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image5-300x139.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image5-768x355.png 768w\" sizes=\"(max-width: 812px) 100vw, 812px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 5 Schemat struktury produktu<\/figcaption><\/figure>\n\n\n\n<p>Roz\u0142\u00f3\u017cmy na cz\u0119\u015bci komponent przycisku. Mo\u017cesz zobaczy\u0107 wszystkie elementy, kt\u00f3re przet\u0142umaczyliby\u015bmy na tokeny projektowe.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image6.png\"><img decoding=\"async\" width=\"886\" height=\"418\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image6.png\" alt=\"Anatomia komponentu przycisku pokazuj\u0105ca definiuj\u0105ce go tokeny projektowe\" class=\"wp-image-28480\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image6.png 886w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image6-300x142.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image6-768x362.png 768w\" sizes=\"(max-width: 886px) 100vw, 886px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 6 Anatomia komponentu przycisku pokazuj\u0105ca definiuj\u0105ce go tokeny projektowe<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Przyk\u0142ady token\u00f3w<\/strong><\/h2>\n\n\n\n<p>Oto kilka przyk\u0142ad\u00f3w typowych token\u00f3w projektowych u\u017cywanych w standardowych systemach projektowych, z kt\u00f3rymi mo\u017cna si\u0119 spotka\u0107:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>&nbsp;Tokeny kolor\u00f3w<\/strong><ul><li>Kolor wiod\u0105cy \u2013 u\u017cywany do g\u0142\u00f3wnych element\u00f3w marki i wezwa\u0144 do dzia\u0142ania.<\/li><\/ul><ul><li>Kolor dodatkowy \u2013 kolor uzupe\u0142niaj\u0105cy dla akcent\u00f3w i element\u00f3w drugorz\u0119dnych.<\/li><\/ul><ul><li>Kolory neutralne \u2013 odcienie szaro\u015bci u\u017cywane do t\u0142a, obramowania element\u00f3w i tekstu.<\/li><\/ul>\n<ul class=\"wp-block-list\">\n<li>Kolory b\u0142\u0119d\u00f3w\/ostrze\u017ce\u0144 \u2013 wyra\u017ane kolory wskazuj\u0105ce b\u0142\u0119dy lub ostrze\u017cenia w interfejsie u\u017cytkownika.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>&nbsp;Tokeny typografii<\/strong>\n<ul class=\"wp-block-list\">\n<li>Kr\u00f3j pisma \u2013 podstawowe i drugorz\u0119dne kroje pisma u\u017cywane w nag\u0142\u00f3wkach i tek\u015bcie g\u0142\u00f3wnym.<\/li>\n\n\n\n<li>Rozmiar tekstu \u2013 r\u00f3\u017cne rozmiary dla nag\u0142\u00f3wk\u00f3w, podtytu\u0142\u00f3w, tekstu g\u0142\u00f3wnego itp.<\/li>\n\n\n\n<li>Grubo\u015b\u0107 tekstu \u2013 r\u00f3\u017cne grubo\u015bci tekstu dla wyr\u00f3\u017cnienia i zbudowania hierarchii.<\/li>\n\n\n\n<li>Wysoko\u015b\u0107 linii \u2013 sp\u00f3jne odst\u0119py mi\u0119dzy wierszami tekstu dla czytelno\u015bci.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>&nbsp;Tokeny odst\u0119p\u00f3w<\/strong>\n<ul class=\"wp-block-list\">\n<li>Padding \u2013 standardowe warto\u015bci odst\u0119pu mi\u0119dzy zawarto\u015bci\u0105 elementu a jego obramowaniem dla element\u00f3w takich jak przyciski, karty i kontenery.<\/li>\n\n\n\n<li>Margines \u2013 standardowe warto\u015bci margines\u00f3w dla odst\u0119p\u00f3w mi\u0119dzy elementami.<\/li>\n\n\n\n<li>Grid Spacing \u2013 odst\u0119py mi\u0119dzy kolumnami i wierszami w uk\u0142adzie siatki.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Tokeny obramowania<\/strong>\n<ul class=\"wp-block-list\">\n<li>Promie\u0144 obramowania \u2013 standardowe warto\u015bci promienia obramowania dla zaokr\u0105glonych naro\u017cnik\u00f3w element\u00f3w.<\/li>\n\n\n\n<li>Szeroko\u015b\u0107 obramowania \u2013 grubo\u015b\u0107 obramowania wok\u00f3\u0142 element\u00f3w.<\/li>\n\n\n\n<li>Kolor obramowania \u2013 standardowe kolory obramowa\u0144 wok\u00f3\u0142 element\u00f3w.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Tokeny cienia<\/strong>\n<ul class=\"wp-block-list\">\n<li>Cie\u0144 ramki \u2013 standardowe warto\u015bci cienia dodaj\u0105ce g\u0142\u0119bi i przestrzenno\u015bci elementom.<\/li>\n\n\n\n<li>Cie\u0144 tekstu \u2013 warto\u015bci cienia zwi\u0119kszaj\u0105ce czytelno\u015b\u0107 i kontrast tekstu.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Tokeny ikon<\/strong>\n<ul class=\"wp-block-list\">\n<li>Rozmiar ikony \u2013 standardowe rozmiary ikon u\u017cywanych w interfejsie u\u017cytkownika.<\/li>\n\n\n\n<li>Kolor ikony \u2013 domy\u015blny kolor ikony lub odmiany dla r\u00f3\u017cnych stan\u00f3w (aktywny, nieaktywny itp.).<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>&nbsp;<strong>Tokeny animacji<\/strong>\n<ul class=\"wp-block-list\">\n<li>Czas trwania przej\u015bcia \u2013 czas trwania przej\u015b\u0107 mi\u0119dzy r\u00f3\u017cnymi stanami lub interakcjami.<\/li>\n\n\n\n<li>Funkcja czasu animacji \u2013 funkcje rozp\u0119dzenia i zwolnienia dla p\u0142ynnych efekt\u00f3w animacji.<\/li>\n\n\n\n<li>Klatki kluczowe animacji \u2013 klatki kluczowe dla bardziej z\u0142o\u017conych sekwencji animacji.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>&nbsp;<strong>Tokeny dost\u0119pno\u015bci<\/strong>\n<ul class=\"wp-block-list\">\n<li>Wsp\u00f3\u0142czynnik kontrastu \u2013 minimalny wsp\u00f3\u0142czynnik kontrastu mi\u0119dzy tekstem a kolorami t\u0142a zapewniaj\u0105cy czytelno\u015b\u0107.<\/li>\n\n\n\n<li>Wska\u017anik fokusu \u2013 style wskazuj\u0105ce fokus na interaktywnych elementach do nawigacji za pomoc\u0105 klawiatury.<\/li>\n\n\n\n<li>Tekst dla czytnik\u00f3w ekranu \u2013 ukryty tekst dla czytnik\u00f3w ekranu w celu przekazania informacji u\u017cytkownikom z zaburzeniami narz\u0105du wzroku.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Kategorie token\u00f3w<\/strong><\/h2>\n\n\n\n<p>Tokeny dzielimy na trzy kategorie (typy). Ka\u017cdy typ tokena oznacza poziom przypisanego kontekstu.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image7.png\"><img decoding=\"async\" width=\"813\" height=\"370\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image7.png\" alt=\"Typy token\u00f3w na przyk\u0142adach\" class=\"wp-image-28483\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image7.png 813w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image7-300x137.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image7-768x350.png 768w\" sizes=\"(max-width: 813px) 100vw, 813px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 7 Typy token\u00f3w na przyk\u0142adach<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Tokeny globalne<\/strong><\/h3>\n\n\n\n<p><strong>Tokeny poziomu 1 (globalne) <\/strong><strong>\u2013 <\/strong><strong>warto\u015bci prymitywne <\/strong>\u2013 s\u0105 podstawowymi, bezkontekstowymi jednostkami systemu token\u00f3w projektowych.<\/p>\n\n\n\n<p>Niezale\u017cnie od tego, czy zajmujesz si\u0119 projektowaniem, programowaniem, czy kierujesz projektem, prawdopodobnie pracujesz z kolorami marki swojej organizacji. Istnieje du\u017ce prawdopodobie\u0144stwo, \u017ce w komunikacji pos\u0142ugujesz si\u0119 warto\u015bciami hex (szesnastkowymi) lub innymi, odpowiadaj\u0105cymi tym kolorom.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image8.png\"><img decoding=\"async\" width=\"805\" height=\"149\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image8.png\" alt=\"Warto\u015b\u0107 hex zastosowana bezpo\u015brednio w elementach interfejsu u\u017cytkownika\" class=\"wp-image-28485\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image8.png 805w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image8-300x56.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image8-768x142.png 768w\" sizes=\"(max-width: 805px) 100vw, 805px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 8 Warto\u015b\u0107 hex zastosowana bezpo\u015brednio w elementach interfejsu u\u017cytkownika<\/figcaption><\/figure>\n\n\n\n<p><strong>Dlaczego nie jest to najwygodniejsze rozwi\u0105zanie<\/strong>? Zobaczmy:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Dop\u00f3ki nie znasz hex\u00f3w na pami\u0119\u0107 (i b\u0105d\u017amy szczerzy \u2013 mo\u017cesz by\u0107 jedyn\u0105 osob\u0105 w organizacji z tak\u0105 wiedz\u0105), <strong>kod hex nie odzwierciedla dla Ciebie rzeczywistego koloru, czyni\u0105c go trudno rozpoznawalnym.<\/strong><\/li>\n\n\n\n<li><strong>Nie daje \u017cadnych informacji o decyzji projektowej stoj\u0105cej za tym kolorem<\/strong> (gdzie ma by\u0107 u\u017cyty itp.)<\/li>\n\n\n\n<li><strong>\u0141atwo jest b\u0142\u0119dnie wpisa\u0107 kod hex<\/strong>, co prowadzi do niesp\u00f3jno\u015bci wizualnych w produkcie.<\/li>\n<\/ul>\n\n\n\n<p><strong>Globalne tokeny <\/strong>to nazwy nadawane na przyk\u0142ad warto\u015bciom hex, aby zapewni\u0107 bazowy, sp\u00f3jny i pozbawiony kontekstu opis tych warto\u015bci, kt\u00f3ry by\u0142by zrozumia\u0142y dla ka\u017cdego, kto z nimi pracuje. Pozwala to na unikni\u0119cie sytuacji \u201epi\u0119\u0107dziesi\u0119ciu odcieni szaro\u015bci\u201d \u2013 przypadkowego u\u017cywania kilku odcieni danego koloru Twojej marki, wyst\u0119puj\u0105cego w produkcie.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image9.png\"><img decoding=\"async\" width=\"797\" height=\"239\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image9.png\" alt=\"Przyk\u0142ad tokena globalnego\" class=\"wp-image-28487\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image9.png 797w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image9-300x90.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image9-768x230.png 768w\" sizes=\"(max-width: 797px) 100vw, 797px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 9 Przyk\u0142ad tokena globalnego<\/figcaption><\/figure>\n\n\n\n<p>Zgodnie z powy\u017cszym schematem, nazwanie warto\u015bci hex &#8222;color.blue.600&#8221; zamiast u\u017cycia warto\u015bci hex, przynosi korzy\u015bci na kilka sposob\u00f3w:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Kolor jest teraz \u0142atwo rozpoznawalny.<\/li>\n\n\n\n<li>Warto\u015b\u0107 przet\u0142umaczona na token jest teraz zdefiniowana w kodzie jako zmienna, wi\u0119c ka\u017cda pomy\u0142ka w pisowni b\u0119dzie sygnalizowana jako b\u0142\u0105d kodu.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image10.png\"><img decoding=\"async\" width=\"812\" height=\"598\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image10.png\" alt=\"Przyk\u0142ad token\u00f3w globalnych (Lightning Design System)\" class=\"wp-image-28489\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image10.png 812w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image10-300x221.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image10-768x566.png 768w\" sizes=\"(max-width: 812px) 100vw, 812px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 10 Przyk\u0142ad token\u00f3w globalnych (<a aria-label=\" (opens in a new tab)\" href=\"https:\/\/www.lightningdesignsystem.com\/design-tokens\/#category-color\" target=\"_blank\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Lightning Design System<\/a>)<\/figcaption><\/figure>\n\n\n\n<p><strong>Pomimo oczywistych zalet<\/strong> korzystania z token\u00f3w globalnych, nadal <strong>nie jest to idealne rozwi\u0105zanie<\/strong> i poleganie tylko na tego typu tokenach nie przekazuje informacji o zamierzonych wariantach u\u017cycia koloru, ani nie pozwala na zautomatyzowane, wybi\u00f3rcze zmiany kolor\u00f3w, wp\u0142ywaj\u0105ce tylko na okre\u015blone grupy komponent\u00f3w. Celem tego zesp\u00f3\u0142 programist\u00f3w musia\u0142by szuka\u0107 odpowiednich przypadk\u00f3w u\u017cycia i r\u0119cznie zmienia\u0107 kolor. Co za strata czasu, prawda?<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Tokeny aliasowe<\/strong><\/h3>\n\n\n\n<p>Oto zatem kolejny typ tokena projektowego. <strong>Tokeny typu drugiego (aliasowe lub systemowe) <\/strong>\u2013 nazwy specyficzne dla kontekstu, odnosz\u0105ce si\u0119 do decyzji projektowych stoj\u0105cych za warto\u015bciami (co one \u201erobi\u0105\u201d).<\/p>\n\n\n\n<p>#0E6EE0, teraz okre\u015blany jako &#8222;color.blue.600&#8221;, b\u0119dzie r\u00f3wnie\u017c istnia\u0142 w systemie pod r\u00f3\u017cnymi aliasami, przedstawiaj\u0105cymi przypadki u\u017cycia. Na przyk\u0142ad jako \u201ecolor.interactive.primary.background\u201d, co oznacza\u0142oby, \u017ce ten kolor ma by\u0107 u\u017cywany jako t\u0142o pierwszorz\u0119dnych, interaktywnych element\u00f3w interfejsu u\u017cytkownika.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image11.png\"><img decoding=\"async\" width=\"805\" height=\"284\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image11.png\" alt=\"Przyk\u0142ad tokena systemowego (aliasu)\" class=\"wp-image-28492\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image11.png 805w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image11-300x106.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image11-768x271.png 768w\" sizes=\"(max-width: 805px) 100vw, 805px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 11 Przyk\u0142ad tokena systemowego (aliasu)<\/figcaption><\/figure>\n\n\n\n<p>Jak wida\u0107 na powy\u017cszym przyk\u0142adzie, w przypadku jakiejkolwiek zmiany koloru, operacja ta pozwoli\u0142aby wp\u0142yn\u0105\u0107 tylko na t\u0142a g\u0142\u00f3wnych interaktywnych element\u00f3w interfejsu, wykluczaj\u0105c te bez niebieskiego t\u0142a.<\/p>\n\n\n\n<p><strong>Wprowadzenie token\u00f3w systemowych do kodu wp\u0142ywa pozytywnie na<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Eliminacj\u0119 ewentualnych b\u0142\u0119d\u00f3w podczas kopiowania warto\u015bci do kodu (podobnie jak tokeny globalne, tokeny aliasowe r\u00f3wnie\u017c s\u0105 zmiennymi w kodzie).<\/li>\n\n\n\n<li>Uczynienie przeznaczenia tokena jasnym zar\u00f3wno dla zespo\u0142\u00f3w projektowych, jak i programistycznych.<\/li>\n\n\n\n<li>Znaczne przyspieszenie procesu aktualizacji, umo\u017cliwiaj\u0105c programistom \u0142atw\u0105 korekt\u0119 w\u0142a\u015bciwo\u015bci komponent\u00f3w na du\u017c\u0105 skal\u0119.<\/li>\n\n\n\n<li>Wzmocnienie pozycji programist\u00f3w i projektant\u00f3w, umo\u017cliwiaj\u0105c wykrywanie potencjalnego nieprawid\u0142owego u\u017cycia w\u0142a\u015bciwo\u015bci (takich jak kolor tekstu zastosowany do ikon) oraz korygowanie takich b\u0142\u0119d\u00f3w przez programist\u00f3w samodzielnie lub w porozumieniu z projektantami.<\/li>\n\n\n\n<li>Sk\u0142onienie projektant\u00f3w do ponownego przemy\u015blenia faktycznej potrzeby stosowania dodatkowych warto\u015bci, na przyk\u0142ad kolor\u00f3w, w systemie projektowym, ograniczaj\u0105c tym samym potencjalny ba\u0142agan i niepotrzebne skomplikowanie systemu.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image12.png\"><img decoding=\"async\" width=\"813\" height=\"608\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image12.png\" alt=\"Przyk\u0142ad token\u00f3w alias\u00f3w (Lightning Design System)\" class=\"wp-image-28494\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image12.png 813w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image12-300x224.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image12-768x574.png 768w\" sizes=\"(max-width: 813px) 100vw, 813px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 12 Przyk\u0142ad token\u00f3w alias\u00f3w (<a href=\"https:\/\/www.lightningdesignsystem.com\/design-tokens\/#category-color\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Lightning Design System<\/a>)<\/figcaption><\/figure>\n\n\n\n<p><strong>Kiedy zatem si\u0119gn\u0105\u0107 po tokeny systemowe?<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Je\u015bli na tokeny zosta\u0142 przet\u0142umaczony ka\u017cdy kolor w systemie projektowym, co zaowocowa\u0142o gigantycznym zestawem globalnych token\u00f3w do utrzymania.<\/li>\n\n\n\n<li>Je\u015bli globalne tokeny maj\u0105 zastosowanie do tekstu, ikony, t\u0142a lub obramowania na wielu stronach.<\/li>\n\n\n\n<li>Je\u015bli system projektowy obs\u0142uguje wiele r\u00f3\u017cnych marek i produkt\u00f3w, temat\u00f3w i tryb\u00f3w.<\/li>\n<\/ul>\n\n\n\n<p>Przyk\u0142ad:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image13.png\"><img decoding=\"async\" width=\"807\" height=\"181\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image13.png\" alt=\"Przyk\u0142ad token\u00f3w aliasowych (systemowych) w ramach wielotematycznego designu systemu\/systemu projektowego\" class=\"wp-image-28496\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image13.png 807w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image13-300x67.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image13-768x172.png 768w\" sizes=\"(max-width: 807px) 100vw, 807px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 13 Przyk\u0142ad token\u00f3w aliasowych (systemowych) w ramach wielotematycznego designu systemu\/systemu projektowego<\/figcaption><\/figure>\n\n\n\n<p>Oczywi\u015bcie, korzystanie z token\u00f3w systemowych wi\u0105\u017ce si\u0119 z odpowiedzialno\u015bci\u0105 za <strong>utrzymanie wi\u0119kszego zestawu kolor\u00f3w<\/strong> i wymaga dok\u0142adnego, przemy\u015blanego planowania systemu, jednak w d\u0142u\u017cszej perspektywie korzy\u015bci okazuj\u0105 si\u0119 warte dodatkowego wysi\u0142ku.<\/p>\n\n\n\n<p>Zdarzaj\u0105 si\u0119 <strong>przypadki<\/strong>, w kt\u00f3rych <strong>nie zaleca si\u0119 polegania na tokenach systemowych<\/strong> \u2013 na przyk\u0142ad, je\u015bli istnieje kolor, kt\u00f3rego potrzebujesz u\u017cy\u0107 w swoim produkcie, ale nie jest on cz\u0119\u015bci\u0105 j\u0119zyka wizualnego marki lub zostanie u\u017cyty tylko raz lub dla jednego konkretnego elementu interfejsu u\u017cytkownika, na kt\u00f3ry nie powinny mie\u0107 wp\u0142ywu globalne zmiany decyzji projektowych.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Tokeny specyficzne dla komponent\u00f3w<\/strong><\/h3>\n\n\n\n<p>Do unikalnych element\u00f3w interfejsu u\u017cytkownika nale\u017ca\u0142oby u\u017cy\u0107 <strong>token\u00f3w trzeciego typu (specyficznych dla komponent\u00f3w) <\/strong>\u2013 dedykowanych odr\u0119bnym komponentom i ich w\u0142a\u015bciwo\u015bciom.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image14.png\"><img decoding=\"async\" width=\"805\" height=\"361\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image14.png\" alt=\"Przyk\u0142ad token\u00f3w komponent\u00f3w\" class=\"wp-image-28498\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image14.png 805w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image14-300x135.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image14-768x344.png 768w\" sizes=\"(max-width: 805px) 100vw, 805px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc.14 Przyk\u0142ad token\u00f3w komponent\u00f3w<\/figcaption><\/figure>\n\n\n\n<p>Wszystkie powy\u017csze nazwy (tokeny projektowe) oznaczaj\u0105 t\u0119 sam\u0105 warto\u015b\u0107 szesnastkow\u0105, ale w innym kontek\u015bcie lub w odniesieniu do innego komponentu systemu projektowego \u2013 gdy zastosujesz tokeny specyficzne dla komponentu, wszelkie mo\u017cliwe zmiany decyzji projektowych (np.: aktualizacje kolor\u00f3w) b\u0119d\u0105 mia\u0142y <strong>wp\u0142yw tylko na ten komponent<\/strong> i w\u0142a\u015bciwo\u015b\u0107, do kt\u00f3rej odnosi si\u0119 token. W naszym przypadku b\u0119dzie to tylko kolor t\u0142a przycisku g\u0142\u00f3wnego w stanie domy\u015blnym.<\/p>\n\n\n\n<p>Poni\u017cszy diagram, gdzie zamieniam kolor niebieski na r\u00f3\u017cowy, pokazuje, w jaki spos\u00f3b tokeny pozwalaj\u0105 na sprecyzowanie zakresu modyfikacji decyzji projektowych. Mo\u017cesz zastosowa\u0107 konkretn\u0105 zmian\u0119 (np.: koloru) do wybranych token\u00f3w, wp\u0142ywaj\u0105c tylko na okre\u015blone elementy interfejsu u\u017cytkownika.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image15.png\"><img decoding=\"async\" width=\"807\" height=\"254\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image15.png\" alt=\"Przyk\u0142adowa struktura tokena projektowego \u2013 od tokena podstawowego do komponent\u00f3w\" class=\"wp-image-28500\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image15.png 807w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image15-300x94.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image15-768x242.png 768w\" sizes=\"(max-width: 807px) 100vw, 807px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 15 Przyk\u0142adowa struktura tokena projektowego \u2013 od tokena podstawowego do komponent\u00f3w<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image16.png\"><img decoding=\"async\" width=\"805\" height=\"259\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image16.png\" alt=\"Przyk\u0142adowa struktura token\u00f3w projektowych \u2013 zmiana koloru\" class=\"wp-image-28502\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image16.png 805w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image16-300x97.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image16-768x247.png 768w\" sizes=\"(max-width: 805px) 100vw, 805px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 16 Przyk\u0142adowa struktura token\u00f3w projektowych \u2013 zmiana koloru<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>No dobrze, ale jak wymy\u015blamy nazwy token\u00f3w?<\/strong><\/h2>\n\n\n\n<p>Nie powiem Ci dok\u0142adnie, jaka jest zalecana konwencja nazewnictwa podczas tworzenia systemu token\u00f3w dla Twojego produktu, poniewa\u017c powinna by\u0107 ona dostosowana do specyfiki produktu i preferencji zespo\u0142u. Ustalanie nazewnictwa wymaga czasu, poniewa\u017c <strong>zespo\u0142y musz\u0105 zaanga\u017cowa\u0107 si\u0119 w znalezienie idealnej logiki<\/strong>, kt\u00f3ra im odpowiada. Chocia\u017c dobrze jest szuka\u0107 inspiracji w otwartych systemach projektowych, nale\u017cy pami\u0119ta\u0107, \u017ce to, co dzia\u0142a dla jednego produktu, niekoniecznie musi by\u0107 idealnym rozwi\u0105zaniem dla drugiego.<\/p>\n\n\n\n<p>Nie zamierzam zbytnio rozwodzi\u0107 si\u0119 nad nazewnictwem token\u00f3w, poniewa\u017c jest to obszerny temat, warty dog\u0142\u0119bnej eksploracji po rozpocz\u0119ciu przygody z budowaniem systemu token\u00f3w projektowych. Pozwol\u0119 sobie jednak podzieli\u0107 si\u0119 kilkoma og\u00f3lnymi dobrymi praktykami do rozwa\u017cenia podczas opracowywania systemu nazewnictwa token\u00f3w projektowych, kt\u00f3ry s\u0142u\u017cy\u0142by organizacji.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Nazywanie token\u00f3w \u2013 dobre praktyki<\/strong><\/h3>\n\n\n\n<p>Nazwy token\u00f3w powinny przede wszystkim by\u0107:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>jak najkr\u00f3tsze \u2013 aby nie komplikowa\u0107 nadmiernie systemu,<\/li>\n\n\n\n<li>znacz\u0105ce \u2013 aby jasno komunikowa\u0107 decyzje projektowe,<\/li>\n\n\n\n<li>\u0142atwe do zrozumienia \u2013 dla \u0142atwej orientacji i potencjalnego wdro\u017cenia do systemu,<\/li>\n\n\n\n<li>modu\u0142owe \u2013 dla uproszczenia budowy systemu,<\/li>\n\n\n\n<li>sp\u00f3jne \u2013 w celu w\u0142a\u015bciwego odzwierciedlenia systemu projektowego i u\u0142atwienia zrozumienia konwencji nazewnictwa.<\/li>\n<\/ul>\n\n\n\n<p>Podczas ustalania konwencji nazewnictwa dla token\u00f3w systemowych dobrym pocz\u0105tkiem b\u0119dzie budowanie nazw w odniesieniu do:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>kategorii \u2013 atrybutu, do kt\u00f3rego odnosi si\u0119 token, np.: kolor, typografia, odst\u0119p, cie\u0144, promie\u0144 obramowania itp.,<\/li>\n\n\n\n<li>koncepcji \u2013 sytuacji, kt\u00f3r\u0105 opisuje token, np.: informacja, ostrze\u017cenie, sukces itp.,<\/li>\n\n\n\n<li>celu (w\u0142a\u015bciwo\u015bci) \u2013 gdzie w interfejsie u\u017cytkownika zostanie u\u017cyty token, np.: tekst, ikona, t\u0142o, obramowanie, nag\u0142\u00f3wek, tre\u015b\u0107 itp.,<\/li>\n\n\n\n<li>wariantu \u2013 potencjalnych wariant\u00f3w tokena, np.: stany (aktywny, nieaktywny, wy\u0142\u0105czony), rozmiary (XL, L, M, S) itp,<\/li>\n\n\n\n<li>komponentu (nale\u017cy unika\u0107, chyba \u017ce jest to nieodzowne) \u2013 komponent, na kt\u00f3ry b\u0119dzie mia\u0142 wp\u0142yw token, np. przycisk, pole wyboru, \u0142\u0105cze itp.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Nazywanie token\u00f3w \u2013 przyk\u0142ady<\/strong><\/h3>\n\n\n\n<p>Taka konwencja mog\u0142aby wygl\u0105da\u0107 nast\u0119puj\u0105co:<\/p>\n\n\n\n<p><strong>kategoria.cel.wariant<\/strong><\/p>\n\n\n\n<p>Na przyk\u0142ad:<\/p>\n\n\n\n<p><strong>kolor.t\u0142o.aktywny<\/strong><\/p>\n\n\n\n<p>(opisuj\u0105c decyzj\u0119 projektow\u0105 podj\u0119t\u0105 w celu przypisania okre\u015blonego koloru do t\u0142a aktywnych element\u00f3w interfejsu u\u017cytkownika)<\/p>\n\n\n\n<p>Nast\u0119pnie nale\u017cy skupi\u0107 si\u0119 na <strong>dostarczeniu jak najszerszego kontekstu<\/strong>. Mimo, \u017ce dobrze jest utrzymywa\u0107 jak najkr\u00f3tsze nazwy token\u00f3w, je\u015bli nazwa dobrze odzwierciedla decyzj\u0119 projektow\u0105, warto j\u0105 nieco wyd\u0142u\u017cy\u0107.<\/p>\n\n\n\n<p>W ko\u0144cu tokeny projektowe nie s\u0105 elementami interfejsu u\u017cytkownika, kt\u00f3re widzieliby u\u017cytkownicy ko\u0144cowi, ale informacjami tekstowymi przechowywanymi w kodzie, na kt\u00f3rych operuj\u0105 programi\u015bci. Dlatego <strong>im wi\u0119cej kontekstu przekazuj\u0105, tym lepiej.<\/strong><\/p>\n\n\n\n<p>Konwencje nazewnictwa token\u00f3w projektowych, szczeg\u00f3lnie w przypadku system\u00f3w projektowych obs\u0142uguj\u0105cych jednocze\u015bnie wiele marek, kt\u00f3re wymagaj\u0105 wielu motyw\u00f3w (wersji j\u0119zyka wizualnego, np.: okre\u015blonych kolor\u00f3w marki, typografii, ikonografii itp.), mog\u0105 zawiera\u0107 wiele poziom\u00f3w nazewnictwa.<\/p>\n\n\n\n<p>Na przyk\u0142ad, je\u015bli konieczne jest rozr\u00f3\u017cnienie token\u00f3w mi\u0119dzy markami w Twoim systemie projektowym, mo\u017ce by\u0107 konieczne wprowadzenie skr\u00f3t\u00f3w nazw ich produkt\u00f3w, kt\u00f3re mog\u0105 wygl\u0105da\u0107 nast\u0119puj\u0105co:<\/p>\n\n\n\n<p><strong>marka<\/strong><strong>.produkt.kolor.informacja.t\u0142o<\/strong><\/p>\n\n\n\n<p>Skr\u00f3ty nazw marek lub produkt\u00f3w umo\u017cliwiaj\u0105 programistom rozr\u00f3\u017cnianie token\u00f3w w kodzie i wygodniejsze operowanie na nich.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Mamy ju\u017c system \u2013 jak nim teraz zarz\u0105dza\u0107?<\/strong><\/h2>\n\n\n\n<p>Gdy znasz ju\u017c podstawy koncepcji token\u00f3w projektowych i konwencje nazewnictwa token\u00f3w, nadszed\u0142 czas, aby zaprezentowa\u0107, w jaki spos\u00f3b korzystanie z nich faktycznie usprawnia wsp\u00f3\u0142prac\u0119 projektowo-developersk\u0105.<\/p>\n\n\n\n<p>Dla por\u00f3wnania przedstawi\u0119 proces oddawania projekt\u00f3w do wdro\u017cenia w jego klasycznej formie, bez u\u017cycia token\u00f3w projektowych.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Klasyczne wdro\u017cenie projekt\u00f3w<\/strong><\/h3>\n\n\n\n<p>Zazwyczaj wykonujemy nast\u0119puj\u0105ce kroki:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Projektant dostarcza projekt interfejsu u\u017cytkownika w programie <a href=\"https:\/\/www.figma.com\/\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Figma<\/a> (najpopularniejszym narz\u0119dziu do kolaboratywnego projektowania interfejs\u00f3w).<\/li>\n\n\n\n<li>Projektant przygotowuje specyfikacj\u0119 interfejsu u\u017cytkownika (dokumentacj\u0119 projektow\u0105 z notatkami dla dewelopera).<\/li>\n\n\n\n<li>Projektant przekazuje plik projektu i przeprowadza rozmow\u0119 z deweloperem\/zespo\u0142em programistycznym, kt\u00f3ry b\u0119dzie wdra\u017ca\u0142 projekt, aby om\u00f3wi\u0107 szczeg\u00f3\u0142y.<\/li>\n\n\n\n<li>Programi\u015bci sprawdzaj\u0105 plik i rozpoczynaj\u0105 kodowanie.<\/li>\n<\/ol>\n\n\n\n<p>Na tym poziomie wydaje si\u0119 to do\u015b\u0107 proste, bior\u0105c pod uwag\u0119, \u017ce projekt nigdy si\u0119 nie zmieni. Projektowanie produktu polega jednak na jego ewolucji, a zmiany w projekcie s\u0105 nieuniknione. Dlatego powy\u017cszy proces nie ko\u0144czy si\u0119 na czwartym kroku.<\/p>\n\n\n\n<p>Z czasem, w miar\u0119 rozwoju marki, pojawia si\u0119 wi\u0119cej krok\u00f3w:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Powiedzmy, \u017ce wiod\u0105cy kolor marki uleg\u0142 zmianie i projektant musi zaktualizowa\u0107 projekt oraz poinformowa\u0107 o tym programist\u00f3w, aby mogli odpowiednio skorygowa\u0107 kod.<\/li>\n\n\n\n<li>Zdarzaj\u0105 si\u0119 r\u00f3wnie\u017c sytuacje, w kt\u00f3rych programi\u015bci musz\u0105 zmieni\u0107 co\u015b w kodzie, wi\u0119c musz\u0105 poinformowa\u0107 o tym projektanta, aby zmiany te zosta\u0142y r\u00f3wnie\u017c odzwierciedlone w projekcie.<\/li>\n<\/ul>\n\n\n\n<p>Im wi\u0119cej krok\u00f3w i iteracji, tym wi\u0119cej miejsca na b\u0142\u0119dy i \u2013 b\u0105d\u017amy szczerzy \u2013 og\u00f3lnie, taka ilo\u015b\u0107 komunikacji tam i z powrotem dla jednej aktualizacji koloru to du\u017co, bior\u0105c pod uwag\u0119 codzienne obci\u0105\u017cenie prac\u0105.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image17.png\"><img decoding=\"async\" width=\"801\" height=\"422\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image17.png\" alt=\"Klasyczny proces oddawania projektu (schemat uproszczony)\" class=\"wp-image-28505\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image17.png 801w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image17-300x158.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image17-768x405.png 768w\" sizes=\"(max-width: 801px) 100vw, 801px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 17 <a href=\"https:\/\/designstrategy.guide\/design-system\/design-tokens-101\/\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Klasyczny proces oddawania projektu (schemat uproszczony)<\/a><\/figcaption><\/figure>\n\n\n\n<p>Chcemy, aby ten proces by\u0142 tak prosty i zautomatyzowany, jak to tylko mo\u017cliwe (jak na poni\u017cszym diagramie), aby zaoszcz\u0119dzi\u0107 cenny czas zar\u00f3wno zespo\u0142\u00f3w projektowych, jak i programistycznych.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image18.png\"><img decoding=\"async\" width=\"810\" height=\"411\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image18.png\" alt=\"Ulepszony proces oddawania projektu przy u\u017cyciu token\u00f3w (schemat uproszczony)\" class=\"wp-image-28507\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image18.png 810w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image18-300x152.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image18-768x390.png 768w\" sizes=\"(max-width: 810px) 100vw, 810px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 18 <a href=\"https:\/\/designstrategy.guide\/design-system\/design-tokens-101\/\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Ulepszony proces oddawania projektu przy u\u017cyciu token\u00f3w (schemat uproszczony)<\/a><\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Wprowadzenie token\u00f3w projektowych<\/strong><\/h2>\n\n\n\n<p>W\u0142a\u015bnie dlatego wprowadzenie token\u00f3w projektowych do procesu projektowo-programistycznego <strong>jest prze\u0142omem<\/strong>. Pozw\u00f3l, \u017ce przeprowadz\u0119 Ci\u0119 przez zarz\u0105dzanie tokenami i to, jak mo\u017ce wygl\u0105da\u0107 proces przekazania projektu do in\u017cynier\u00f3w z ich wykorzystaniem.<\/p>\n\n\n\n<p>Za\u0142\u00f3\u017cmy, \u017ce przeprowadzili\u015bmy ju\u017c burz\u0119 m\u00f3zg\u00f3w z programistami i wymy\u015blili\u015bmy najlepsz\u0105 konwencj\u0119 nazewnictwa, kt\u00f3ra s\u0142u\u017cy nam wszystkim, a system projektowy zosta\u0142 stokenizowany (decyzje projektowe, takie jak u\u017cycie kolor\u00f3w do okre\u015blonych cel\u00f3w, zosta\u0142y przet\u0142umaczone na tokeny), utrzymujemy teraz tokeny projektowe i zarz\u0105dzamy nimi w jednym miejscu (naszym pojedynczym \u017ar\u00f3dle prawdy).<\/p>\n\n\n\n<p>Mo\u017cna to zrobi\u0107 za pomoc\u0105 r\u00f3\u017cnych narz\u0119dzi i technologii, jednak wa\u017cne jest, aby <strong>wybra\u0107 te najlepiej pasuj\u0105ce do cyklu<\/strong><strong> pracy <\/strong><strong>zespo\u0142u oraz wymaga\u0144 i ogranicze\u0144 platformy docelowej<\/strong>.<\/p>\n\n\n\n<p>Poniewa\u017c Figma jest naszym g\u0142\u00f3wnym narz\u0119dziem pracy, a projekty przekazujemy programistom r\u00f3wnie\u017c w postaci plik\u00f3w w Figmie, kluczowe dla optymalnego procesu pracy jest to, \u017ce dzia\u0142amy na tokenach projektowych w naszym rodzimym \u015brodowisku i \u017ce tokeny u\u017cywane w kodzie znajduj\u0105 r\u00f3wnie\u017c odzwierciedlenie w projektach, kt\u00f3re trafiaj\u0105 do programist\u00f3w.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Tokeny w Figmie<\/strong><\/h3>\n\n\n\n<p>W kwietniu 2024 &nbsp;w Figmie mo\u017cemy korzysta\u0107 z token\u00f3w na dwa sposoby.<\/p>\n\n\n\n<p><strong>Pierwszym z nich jest skorzystanie z wtyczki Tokens Studio for Figma<\/strong>, kt\u00f3ra zosta\u0142a stworzona jako narz\u0119dzie wype\u0142niaj\u0105ce luk\u0119 mi\u0119dzy Figm\u0105 a kodem, b\u0119d\u0105c centralnym miejscem dla projektant\u00f3w do utrzymywania biblioteki token\u00f3w dla wielu marek\/tryb\u00f3w\/temat\u00f3w, a tak\u017ce p\u0142ynn\u0105 synchronizacj\u0119 mi\u0119dzy projektem a kodem.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image19.png\"><img decoding=\"async\" width=\"803\" height=\"473\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image19.png\" alt=\"Tokens Studio dla Figma - podgl\u0105d interfejsu i struktury kodu\" class=\"wp-image-28509\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image19.png 803w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image19-300x177.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image19-768x452.png 768w\" sizes=\"(max-width: 803px) 100vw, 803px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 19 <a href=\"https:\/\/zeroheight.com\/events\/design-system-awards\/finalists\/tokens-studio-for-figma\/\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Tokens Studio dla Figma &#8211; podgl\u0105d interfejsu i struktury kodu<\/a><\/figcaption><\/figure>\n\n\n\n<p>Projektanci mog\u0105 tam \u0142atwo budowa\u0107, przechowywa\u0107 i zarz\u0105dza\u0107 swoimi systemami projektowymi. Wtyczka umo\u017cliwia aplikacje token\u00f3w do element\u00f3w projektu, zapewniaj\u0105c synchronizacj\u0119 mi\u0119dzy wtyczk\u0105 a bibliotekami styl\u00f3w w Figmie. Jeste\u015bmy r\u00f3wnie\u017c w stanie synchronizowa\u0107 si\u0119 ze zdalnym repozytorium, co usprawnia wsp\u00f3\u0142prac\u0119 z deweloperami, poniewa\u017c nie musimy nawet opuszcza\u0107 Figmy, aby przekaza\u0107 wszelkie zmiany systemowe do zespo\u0142u programist\u00f3w w celu aktualizacji kodu.<\/p>\n\n\n\n<p>Oczywi\u015bcie nie jest to idealne rozwi\u0105zanie z punktu widzenia projektowania, poniewa\u017c musimy polega\u0107 na wtyczce, zamiast m\u00f3c stosowa\u0107 tokeny projektowe bezpo\u015brednio za po\u015brednictwem interfejsu Figmy.<\/p>\n\n\n\n<p>B\u0119d\u0105c dynamicznie rozwijanym i aktualizowanym oprogramowaniem, w 2023 roku na swojej corocznej konferencji produktowej <strong>Figma po raz pierwszy zaprezentowa\u0142a zmienne<\/strong>, zapewniaj\u0105c projektantom mo\u017cliwo\u015b\u0107 tworzenia system\u00f3w projektowych bezpo\u015brednio w aplikacji.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image20.png\"><img decoding=\"async\" width=\"796\" height=\"519\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image20.png\" alt=\"Zmienne Figma obs\u0142uguj\u0105ce tokeny projektowe\" class=\"wp-image-28511\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image20.png 796w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image20-300x196.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image20-768x501.png 768w\" sizes=\"(max-width: 796px) 100vw, 796px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 20 <a href=\"https:\/\/help.figma.com\/hc\/en-us\/articles\/15145852043927-Create-and-manage-variables\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Zmienne Figma obs\u0142uguj\u0105ce tokeny projektowe<\/a><\/figcaption><\/figure>\n\n\n\n<p>Figma nie obs\u0142uguje jeszcze w pe\u0142ni token\u00f3w zwi\u0105zanych z typografi\u0105 i tekstem w zmiennych, jednak jeste\u015bmy w stanie przechowywa\u0107 te tokeny jako style i efekty bezpo\u015brednio w aplikacji (nadal u\u017cywaj\u0105c tego samego nazewnictwa, co programi\u015bci w kodzie). Spodziewamy si\u0119, \u017ce opcja pracy na zmiennych w tym obszarze r\u00f3wnie\u017c zostanie wkr\u00f3tce wprowadzona.<\/p>\n\n\n\n<p>W zale\u017cno\u015bci od rodzaju licencji oprogramowania jeste\u015bmy w stanie <strong>eksportowa\u0107 tokeny bezpo\u015brednio z Figmy<\/strong> za pomoc\u0105 dodatkowej dedykowanej wtyczki do eksportu pliku .json (kt\u00f3ry mo\u017ce by\u0107 importowany do innych plik\u00f3w Figma i u\u017cywany przez deweloper\u00f3w) lub synchronizowa\u0107 bezpo\u015brednio mi\u0119dzy plikami w Figmie (opcja dost\u0119pna w najbardziej zaawansowanych planach licencyjnych).<\/p>\n\n\n\n<p>Po ustaleniu przep\u0142ywu pracy z u\u017cyciem token\u00f3w projektowych na poziomie samej Figmy, aby propagowa\u0107 je na platformy organizacji, konieczne b\u0119dzie ich przekszta\u0142cenie, na przyk\u0142ad za pomoc\u0105 najpopularniejszego transformatora \u2013 <a href=\"https:\/\/amzn.github.io\/style-dictionary\/#\/\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Style Dictionary<\/a> (firmy Amazon), kt\u00f3ry umo\u017cliwia konwersj\u0119 token\u00f3w projektowych na zmienne CSS.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image21.png\"><img decoding=\"async\" width=\"795\" height=\"673\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image21.png\" alt=\"Kolorowe tokeny przep\u0142ywu kodu Figma\" class=\"wp-image-28513\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image21.png 795w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image21-300x254.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image21-768x650.png 768w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image21-400x340.png 400w\" sizes=\"(max-width: 795px) 100vw, 795px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 21 <a href=\"https:\/\/dev.to\/ainatenhi\/syncing-design-tokens-with-tailwind-css-theme-4d4d\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Kolorowe tokeny przep\u0142ywu kodu Figma<\/a><\/figcaption><\/figure>\n\n\n\n<p>Dla lepszego zrozumienia, przyjrzyjmy si\u0119 bli\u017cej procesowi adaptacji token\u00f3w projektowych do postaci mo\u017cliwej do wykorzystania przez kolejne aplikacje.<\/p>\n\n\n\n<p>Tokeny projektowe s\u0105 eksportowane przez Tokens Studio w strukturze pliku .json. Wspomnia\u0142am ju\u017c, \u017ce <strong>wtyczka Tokens Studio jest w stanie \u0142\u0105czy\u0107 si\u0119 bezpo\u015brednio ze zdalnym repozytorium (na przyk\u0142ad GitHub), co oznacza, \u017ce projektant mo\u017ce wprowadza\u0107 zmiany i pobiera\u0107 je z repozytorium g\u0142\u00f3wnego<\/strong>. Odgrywa to znacz\u0105c\u0105 rol\u0119 w zwi\u0119kszaniu p\u0142ynno\u015bci pracy, poniewa\u017c nie musimy r\u0119cznie eksportowa\u0107 pliku .json i przekazywa\u0107 go do zespo\u0142u programist\u00f3w w celu przes\u0142ania do repozytorium, co wymaga\u0142oby dodatkowej komunikacji i czasu.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image22.png\"><img decoding=\"async\" width=\"798\" height=\"190\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image22.png\" alt=\"Schemat transformacji token\u00f3w projektowych\" class=\"wp-image-28515\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image22.png 798w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image22-300x71.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image22-768x183.png 768w\" sizes=\"(max-width: 798px) 100vw, 798px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 22 <a href=\"https:\/\/bootcamp.uxdesign.cc\/piping-design-tokens-from-figma-8a086a6ac17c\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Schemat transformacji token\u00f3w projektowych<\/a><\/figcaption><\/figure>\n\n\n\n<p>Maj\u0105c dzia\u0142aj\u0105c\u0105 struktur\u0119 JSON, Style Dictionary jest w stanie w pe\u0142ni odpowiedzie\u0107 na Twoje wymagania. Kiedy ju\u017c przet\u0142umaczy surowe dane JSON na format specyficzny dla platformy, mo\u017ce generowa\u0107 r\u00f3\u017cne formaty wyj\u015bciowe.<\/p>\n\n\n\n<p>Dla przyk\u0142adu, mo\u017cesz u\u017cy\u0107 Style Dictionary do przet\u0142umaczenia warto\u015bci z RGB w .css dla stron internetowych na RGBA w .json dla iOS lub na 8-jednostkowy hex (aarrggbb) \u2013 dla platform Android. Aby uzyska\u0107 jeszcze wi\u0119ksz\u0105 sp\u00f3jno\u015b\u0107, zespo\u0142y cz\u0119sto decyduj\u0105 si\u0119 nie tylko na przechowywanie komponent\u00f3w w Figmie, ale tak\u017ce na korzystanie z narz\u0119dzia Storybook. <\/p>\n\n\n\n<p><a href=\"https:\/\/storybook.js.org\/\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Storybook<\/a> to otwarte narz\u0119dzie frontendowe (interfejsowe) do tworzenia komponent\u00f3w interfejsu u\u017cytkownika i stron w izolacji. Jest to biblioteka, kt\u00f3ra przechowuje system projektowy, w tym j\u0119zyk wizualny marki, komponenty i wzorce. Poniewa\u017c dzia\u0142a poza g\u0142\u00f3wn\u0105 aplikacj\u0105, mo\u017ce s\u0142u\u017cy\u0107 jako \u201eplac zabaw\u201d, umo\u017cliwiaj\u0105c budowanie komponent\u00f3w autonomicznie wzgl\u0119dem zale\u017cno\u015bci b\u0105d\u017a wymaga\u0144 aplikacji.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image23.png\"><img decoding=\"async\" width=\"616\" height=\"756\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image23.png\" alt=\"Przyk\u0142ad komponentu przechowywanego w Storybook\" class=\"wp-image-28517\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image23.png 616w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image23-244x300.png 244w\" sizes=\"(max-width: 616px) 100vw, 616px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 23 <a href=\"https:\/\/storybook.js.org\/\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Przyk\u0142ad komponentu przechowywanego w Storybook<\/a><\/figcaption><\/figure>\n\n\n\n<p>Wiele czo\u0142owych firm i system\u00f3w projektowych, takich jak IBM Carbon, Shopify Polaris itp. korzysta ze \u015brodowiska Storybook, czerpi\u0105c korzy\u015bci z jego licznych zalet:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>dostarczanie zmiennych dla popularnych preprocesor\u00f3w CSS,<\/li>\n\n\n\n<li>format XML dla Androida,<\/li>\n\n\n\n<li>JSON dla iOS (nie mo\u017cna uzyska\u0107 tego konkretnego formatu, eksportuj\u0105c tylko z wtyczki Tokens Studio),<\/li>\n\n\n\n<li><strong>jedno \u017ar\u00f3d\u0142o prawdy<\/strong>, odzwierciedlaj\u0105ce projekt w faktycznie zakodowanych komponentach,<\/li>\n\n\n\n<li><strong>usprawnienie dokumentacji<\/strong>, poniewa\u017c nie musisz by\u0107 ekspertem od kodu, aby go wsp\u00f3\u0142tworzy\u0107 i by\u0107 w stanie utrzymywa\u0107 aktualn\u0105 dokumentacj\u0119 bez wysi\u0142ku; co wi\u0119cej, programi\u015bci s\u0105 w stanie zapewni\u0107 kontekst dla komponent\u00f3w \u2013 dostarczy\u0107 opis i przyk\u0142ady najlepszego wykorzystania i mo\u017cliwych ogranicze\u0144 przed wdro\u017ceniem komponentu,<\/li>\n\n\n\n<li><strong>umo\u017cliwienie wsp\u00f3\u0142pracy w czasie rzeczywistym mi\u0119dzy projektantami i programistami<\/strong> oraz \u015bwiadomo\u015b\u0107 tego czy komponent jest aktywny, czy w budowie dzi\u0119ki wtyczce stanu wskazuj\u0105cej jego status,<\/li>\n\n\n\n<li><strong>u\u0142atwienie komunikacji mi\u0119dzy projektantami i programistami<\/strong>.<\/li>\n<\/ul>\n\n\n\n<p>Taki przep\u0142yw pracy, umo\u017cliwiaj\u0105cy t\u0142umaczenie j\u0119zyka projektu na style sformatowane w celu dopasowania do konkretnych wymaga\u0144 platformy, okazuje si\u0119 skalowalnym, niezale\u017cnym od technologii rozwi\u0105zaniem, kt\u00f3re jest <strong>wystarczaj\u0105co elastyczne<\/strong>, aby dostosowa\u0107 si\u0119 do wszelkich przysz\u0142ych zmian w organizacji lub produkcie.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Na czym polegaj\u0105 usprawnienia?<\/strong><\/h3>\n\n\n\n<p>W jaki spos\u00f3b pocz\u0105tkowy klasyczny przep\u0142yw pracy zosta\u0142by usprawniony przy u\u017cyciu token\u00f3w projektowych?<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Projektant ko\u0144czy projekt interfejsu w programie Figma.<\/li>\n\n\n\n<li>Wszystkie informacje s\u0105 ju\u017c zawarte w tokenach projektowych, wi\u0119c projektant nie musi dostarcza\u0107 skomplikowanej dokumentacji specyfikacji interfejsu u\u017cytkownika, obejmuj\u0105cej odst\u0119py, kolory dla poszczeg\u00f3lnych stan\u00f3w przycisk\u00f3w itp.<\/li>\n\n\n\n<li>Spotkania w zwi\u0105zku z oddaniem projektu s\u0105 kr\u00f3tsze lub w og\u00f3le niepotrzebne, poniewa\u017c decyzje projektowe dotycz\u0105ce stylizacji s\u0105 ju\u017c przet\u0142umaczone na tokeny i przechowywane w Storybook, dzi\u0119ki czemu s\u0105 \u0142atwo dost\u0119pne dla wszystkich.<\/li>\n\n\n\n<li>Zesp\u00f3\u0142 programist\u00f3w mo\u017ce sprawdzi\u0107 plik i p\u0142ynnie wdro\u017cy\u0107 projekt.<\/li>\n<\/ol>\n\n\n\n<p>A co, je\u015bli zaistnieje potrzeba jakiejkolwiek zmiany w projekcie \u2013 na przyk\u0142ad paleta kolor\u00f3w marki wymaga aktualizacji? To proste \u2013 projektant lub in\u017cynier UX aktualizuje system token\u00f3w w \u017ar\u00f3dle, eksportuj\u0105c plik .json lub przesy\u0142aj\u0105c zmiany bezpo\u015brednio do repozytorium. Programi\u015bci przejmuj\u0105 i automatycznie propaguj\u0105 aktualizacje do kodu.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Co ostatecznie daj\u0105 nam tokeny projektowe?<\/strong><\/h2>\n\n\n\n<p>Podsumowuj\u0105c, podkre\u015bl\u0119 kilka generalnych kluczowych korzy\u015bci, jakie korzystanie z token\u00f3w projektowych przynosi Tobie i Twojemu zespo\u0142owi.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Solidne fundamenty<\/strong><\/h3>\n\n\n\n<p>Stabilny system projektowy, w kt\u00f3rym decyzje s\u0105 dobrze przemy\u015blane i sp\u00f3jne. Wdro\u017cenie token\u00f3w projektowych wymaga dostosowania systemu projektowego do prawid\u0142owego funkcjonowania \u2013 musisz zapewni\u0107 odpowiedni\u0105 organizacj\u0119 systemu i architektur\u0119 element\u00f3w interfejsu u\u017cytkownika. Co wi\u0119cej, jasny i zrozumia\u0142y j\u0119zyk wizualny ma ogromn\u0105 warto\u015b\u0107 dla marki, aby mog\u0142a dobrze si\u0119 komunikowa\u0107 i budowa\u0107 zaufanie.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Komunikacja w tym samym j\u0119zyku<\/strong><\/h3>\n\n\n\n<p>Wyobra\u017a sobie ponownie, \u017ce jeste\u015b szefem\/-ow\u0105 dzia\u0142u projektowego i musisz przeprowadzi\u0107 aktualizacj\u0119 kolor\u00f3w w swoim produkcie, funkcjonuj\u0105cym na r\u00f3\u017cnych platformach. Nie musisz ju\u017c u\u017cywa\u0107 kilku r\u00f3\u017cnych warto\u015bci (HEX, RGB, RGBA itp.). Nie ryzykujesz \u017cadnych b\u0142\u0119d\u00f3w podczas propagowania warto\u015bci kolor\u00f3w do kodu. W komunikacji mi\u0119dzy projektantami i programistami polegasz na wsp\u00f3lnej konwencji nazewnictwa, kt\u00f3ra jest zrozumia\u0142a dla wszystkich i usprawnia codzienn\u0105 prac\u0119.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u0141atwe utrzymanie systemu<\/strong><\/h3>\n\n\n\n<p>W przypadku jakichkolwiek zmian decyzji projektowych nie trzeba nanosi\u0107 ich oddzielnie w ka\u017cdym pakiecie wyj\u015bciowym danych lub pliku zwi\u0105zanym z systemem projektowym. Edytujesz w jednym miejscu i wszystko jest jednocze\u015bnie bezpiecznie aktualizowane. Zarz\u0105dzanie systemem jest teraz \u0142atwe i masz pe\u0142n\u0105 kontrol\u0119 nad skal\u0105 wprowadzanych zmian.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Jedno \u017ar\u00f3d\u0142o prawdy<\/strong><\/h3>\n\n\n\n<p>Dzi\u0119ki systemowi token\u00f3w projektowych wszystkie pliki i repozytoria s\u0105 zsynchronizowane. Potencjalne zmiany nie wymagaj\u0105 ju\u017c komunikowania ich ka\u017cdemu mened\u017cerowi produktu osobno. Zamiast tego Ty (lub in\u017cynier UX odpowiedzialny za to zadanie) aktualizujesz tokeny w systemie, przesy\u0142asz zmian\u0119 do repozytorium i pozwalasz programistom zaj\u0105\u0107 si\u0119 ni\u0105 od tego momentu, upewniaj\u0105c si\u0119, \u017ce maj\u0105 dok\u0142adne informacje.<\/p>\n\n\n\n<p>Jako\u015b\u0107 Twoich projekt\u00f3w nie ucierpi z powodu potencjalnego niepoprawnego wdro\u017cenia efekt\u00f3w Twojej pracy przez programist\u00f3w ani nie wyst\u0105pi\u0105 niesp\u00f3jno\u015bci na r\u00f3\u017cnych platformach, na kt\u00f3rych funkcjonuje Twoja marka.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>W\u0142a\u015bciwa metodologia wsp\u00f3\u0142pracy mi\u0119dzy zespo\u0142ami<\/strong><\/h3>\n\n\n\n<p>Zespo\u0142y projektowe i programistyczne uzgadniaj\u0105 konwencj\u0119 nazewnictwa, zestaw narz\u0119dzi najbardziej odpowiedni dla przep\u0142ywu pracy i charakterystyki produktu, a tak\u017ce zasady utrzymania systemu, kt\u00f3rych nale\u017cy przestrzega\u0107. Pozwala to na automatyzacj\u0119 proces\u00f3w i znacznie usprawnia wsp\u00f3\u0142prac\u0119 mi\u0119dzy projektantami i programistami.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Podsumowuj\u0105c&#8230;<\/strong><\/h2>\n\n\n\n<p>Tokeny projektowe s\u0105 pot\u0119\u017cnym narz\u0119dziem, pozwalaj\u0105cym na lepsz\u0105 wsp\u00f3\u0142prac\u0119 zespo\u0142\u00f3w produktowych, a tak\u017ce zapewniaj\u0105cym sp\u00f3jno\u015b\u0107 marki na rozmaitych platformach. Z pewno\u015bci\u0105 nie jest to jednoroczny trend i o tej technologii b\u0119dziemy s\u0142ysze\u0107 coraz cz\u0119\u015bciej.<\/p>\n\n\n\n<p>Warto pomy\u015ble\u0107 o wprowadzeniu token\u00f3w projektowych do swojego produktu, gdy:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>jako projektant\/-ka<\/strong> nie chcesz ju\u017c obserwowa\u0107 swojej pracy wdro\u017conej niepoprawnie i chcesz zarz\u0105dza\u0107 decyzj\u0105 projektow\u0105 kompleksowo \u2013 od decyzji do wdro\u017cenia \u2013 widz\u0105c sp\u00f3jny j\u0119zyk wizualny na wszystkich platformach, dla kt\u00f3rych projektujesz,<\/li>\n\n\n\n<li><strong>jako programista\/-ka<\/strong>, jeste\u015b zm\u0119czony\/-a r\u0119cznym wprowadzaniem zmian w projekcie i aktualizacj\u0105 warto\u015bci oraz chcesz ulepszy\u0107 spos\u00f3b, w jaki zarz\u0105dzasz stylami,<\/li>\n\n\n\n<li><strong>jako mened\u017cer\/-ka<\/strong>, masz do\u015b\u0107 tych wszystkich zg\u0142aszanych b\u0142\u0119d\u00f3w ostylowania komponent\u00f3w i chcesz, aby projektanci i programi\u015bci wsp\u00f3\u0142pracowali na wsp\u00f3lnej p\u0142aszczy\u017anie na du\u017c\u0105 skal\u0119.<\/li>\n<\/ul>\n\n\n\n<p>Dla mnie osobi\u015bcie niezwykle ekscytuj\u0105ce by\u0142o wyruszenie w podr\u00f3\u017c po \u015bwiecie token\u00f3w projektowych wraz z in\u017cynierk\u0105 UX i zespo\u0142em programist\u00f3w, z kt\u00f3rymi pracuj\u0119 na co dzie\u0144. Ju\u017c teraz wida\u0107, jak nasza wsp\u00f3\u0142praca ewoluowa\u0142a za spraw\u0105 poszukiwania wsp\u00f3lnej p\u0142aszczyzny realizowania zada\u0144.<\/p>\n\n\n\n<p>Je\u015bli uwa\u017casz, \u017ce przedmiot artyku\u0142u jest interesuj\u0105cy, zach\u0119cam do dalszej eksploracji z pomoc\u0105 <a href=\"https:\/\/designstrategy.guide\/design-management\/the-ultimate-design-systems-resources-list\/\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >\u201eThe Ultimate Design Systems Resources List\u201d<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Bibliografia<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=q5qIowMyVt8\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >\u201eWTF are Design Tokens\u201d \u2013 warto\u015bciowy materia\u0142 wideo autorstwa Jiny Anne<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=wtTstdiBuUk\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Wspania\u0142y, prosty film o tokenach projektowych autorstwa Hiro Matsui<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/medium.com\/salesforce-ux\/living-design-system-3ab1f2280ef7\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >\u201cLiving Design System\u201d autorstwa S\u00f6nke Rohde<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/dodonut.com\/blog\/design-tokens-what-are-they-and-how-to-use-them\/\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Artyku\u0142 Adri\u00e1na Guerreroo tokenach projektowych<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/uxdesign.cc\/supercharge-your-design-system-with-design-tokens-55044fa29142\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >\u201cSupercharge your Design System with Design Tokens\u201d autorstwa UX Collective Jishnu Hari<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/medium.com\/fast-design\/evolution-of-design-tokens-and-component-styling-part-1-f1491ad1120e\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >\u201cEvolution of design tokens and component styling, part 1\u201d autorstwa Briana Hestona<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/designstrategy.guide\/design-system\/design-tokens-101\/\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >\u201cDesign Tokens 101\u201d autorstwa Rominy Kavcic<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.uxpin.com\/studio\/blog\/what-are-design-tokens\/\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >\u201cWhat Are Design Tokens?\u201d na platformie STUDIO od UXPin<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/thedesignsystem.guide\/design-tokens\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >\u201cDesign tokens\u201d publikacji The Design System Guide<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/uxdesign.cc\/design-tokens-for-dummies-8acebf010d71\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >\u201cDesign tokens for dummies\u201d autorstwa Louisa Chenaisa<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.maxwell.work\/post\/brief-history-design-tokens\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >\u201cBrief History: Design Tokens\u201d autorstwa Maxwella White&#8217;a<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/specifyapp.com\/blog\/introduction-to-design-tokens\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Introduction to design tokens by Louis Chenais<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/bootcamp.uxdesign.cc\/piping-design-tokens-from-figma-8a086a6ac17c\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >\u201cPiping Design Tokens from Figma\u201d autorstwa Tylera Mathesa<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/dev.to\/ainatenhi\/syncing-design-tokens-with-tailwind-css-theme-4d4d\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >\u201cConverting Design Tokens to CSS Variables using Style Dictionary\u201d Anny Popovej<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/thedesignsystem.guide\/\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >The Design System Guide<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/spotify.design\/article\/reimagining-design-systems-at-spotify\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >\u201cSpotify\u2019s rebranding journey, based on design tokens\u201d \u2013 Shaun Bent, Marina Posniak, Gerrit Kaiser<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/help.figma.com\/hc\/en-us\/articles\/15145852043927-Create-and-manage-variables\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Materia\u0142y na temat zmiennych publikowane przez Figm\u0119<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/help.figma.com\/hc\/en-us\/articles\/15871097384471-The-difference-between-variables-and-styles\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Przewodnik Figmy po r\u00f3\u017cnicach mi\u0119dzy zmiennymi a stylami<\/a><\/li>\n<\/ul>\n\n\n<div class=\"kk-star-ratings kksr-auto kksr-align-left kksr-valign-bottom\"\n    data-payload='{&quot;align&quot;:&quot;left&quot;,&quot;id&quot;:&quot;28467&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;valign&quot;:&quot;bottom&quot;,&quot;ignore&quot;:&quot;&quot;,&quot;reference&quot;:&quot;auto&quot;,&quot;class&quot;:&quot;&quot;,&quot;count&quot;:&quot;5&quot;,&quot;legendonly&quot;:&quot;&quot;,&quot;readonly&quot;:&quot;&quot;,&quot;score&quot;:&quot;5&quot;,&quot;starsonly&quot;:&quot;&quot;,&quot;best&quot;:&quot;5&quot;,&quot;gap&quot;:&quot;11&quot;,&quot;greet&quot;:&quot;&quot;,&quot;legend&quot;:&quot;5\\\/5 ( votes: 5)&quot;,&quot;size&quot;:&quot;18&quot;,&quot;title&quot;:&quot;Harmonizacja procesu projektowania z developmentem \u2013 design tokeny we wsp\u00f3\u0142pracy UX\\\/UI-Dev&quot;,&quot;width&quot;:&quot;139.5&quot;,&quot;_legend&quot;:&quot;{score}\\\/{best} ( {votes}: {count})&quot;,&quot;font_factor&quot;:&quot;1.25&quot;}'>\n            \n<div class=\"kksr-stars\">\n    \n<div class=\"kksr-stars-inactive\">\n            <div class=\"kksr-star\" data-star=\"1\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"2\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"3\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"4\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"5\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n    <\/div>\n    \n<div class=\"kksr-stars-active\" style=\"width: 139.5px;\">\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n                \n\n<div class=\"kksr-legend\" style=\"font-size: 14.4px;\">\n            5\/5 ( votes: 5)    <\/div>\n    <\/div>\n","protected":false},"excerpt":{"rendered":"<p>Poniewa\u017c design systemy (systemy projektowe) staj\u0105 si\u0119 gor\u0105cym tematem w bran\u017cy, warto przyjrze\u0107 si\u0119 bli\u017cej design tokenom (tokenom projektowym) \u2013 &hellip; <a class=\"continued-btn\" href=\"https:\/\/sii.pl\/blog\/harmonizacja-procesu-projektowania-z-developmentem-design-tokeny-we-wspolpracy-ux-ui-dev\/\">Continued<\/a><\/p>\n","protected":false},"author":657,"featured_media":28520,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","inline_featured_image":false,"footnotes":""},"categories":[1316],"tags":[1512,769,550,945],"class_list":["post-28467","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-development-na-miekko","tag-poradnik","tag-projektowanie","tag-ui","tag-ux-design"],"acf":[],"aioseo_notices":[],"republish_history":[],"featured_media_url":"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/Harmonizacja-procesu-projektowania-z-developmentem-\u2013-design-tokeny-we-wspolpracy-UX-UI-Dev.jpg","category_names":["Development na mi\u0119kko"],"_links":{"self":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/28467"}],"collection":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/users\/657"}],"replies":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/comments?post=28467"}],"version-history":[{"count":3,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/28467\/revisions"}],"predecessor-version":[{"id":28519,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/28467\/revisions\/28519"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/media\/28520"}],"wp:attachment":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/media?parent=28467"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/categories?post=28467"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/tags?post=28467"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}