{"id":506,"date":"2020-10-01T12:17:48","date_gmt":"2020-10-01T12:17:48","guid":{"rendered":"https:\/\/smultron.software\/jak-przygotowac-layout-dla-kodera\/"},"modified":"2024-07-08T09:29:44","modified_gmt":"2024-07-08T09:29:44","slug":"jak-przygotowac-layout-dla-kodera","status":"publish","type":"post","link":"https:\/\/smultron.software\/pl\/blog\/jak-przygotowac-layout-dla-kodera","title":{"rendered":"Jak przygotowa\u0107 layout dla kodera?"},"content":{"rendered":"\n<p>Wsp\u00f3lnie z&nbsp;naszym teamem zebrali\u015bmy wytyczne pozwalaj\u0105ce przygotowa\u0107 projekt stron i&nbsp;aplikacji webowych na&nbsp;potrzeby zakodowania ich z&nbsp;za\u0142o\u017ceniem RWD. Skupili\u015bmy si\u0119 g\u0142\u00f3wnie na&nbsp;przygotowaniu projekt\u00f3w w&nbsp;programach Adobe Photoshop i&nbsp;Adobe XD, nie&nbsp;zapominaj\u0105c o&nbsp;istnieniu innych, takich jak Figma, Sketch czy&nbsp;Zeplin.<\/p>\n\n\n\n<p>Web design i web development to dwa uzupe\u0142niaj\u0105ce si\u0119&nbsp;obszary, nad kt\u00f3rymi pracuj\u0105&nbsp;osobne zespo\u0142y. Przygotowali\u015bmy artyku\u0142, kt\u00f3ry mo\u017ce pom\u00f3c w komunikacji mi\u0119dzy tymi dwoma \u015bwiatami.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"pliki-psd-xd-sketch\">Pliki PSD \/ XD \/ Sketch<\/h2>\n\n\n\n<p>Je\u015bli projektujemy w <strong>Photoshopie<\/strong> powinni\u015bmy dostarczy\u0107 pliki psd, osobne dla ka\u017cdej z podstron. Trzeba zadba\u0107 o to, by nie by\u0142o w nich zb\u0119dnych warstw, czy plik\u00f3w linkuj\u0105cych do zewn\u0119trznych bibliotek. Struktura warstw w pliku powinna by\u0107 przejrzysta i opisana, \u017ceby unikn\u0105\u0107 nieporozumie\u0144 i u\u0142atwi\u0107 prac\u0119 programi\u015bcie.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"800\" height=\"500\" data-src=\"https:\/\/smultron.software\/content\/uploads\/2024\/02\/warstwy.png\" alt=\"\" class=\"wp-image-756 lazyload\" data-srcset=\"https:\/\/smultron.software\/content\/uploads\/2024\/02\/warstwy.png 800w, https:\/\/smultron.software\/content\/uploads\/2024\/02\/warstwy-300x188.png 300w, https:\/\/smultron.software\/content\/uploads\/2024\/02\/warstwy-768x480.png 768w, https:\/\/smultron.software\/content\/uploads\/2024\/02\/warstwy-46x29.png 46w, https:\/\/smultron.software\/content\/uploads\/2024\/02\/warstwy-56x35.png 56w, https:\/\/smultron.software\/content\/uploads\/2024\/02\/warstwy-528x330.png 528w\" data-sizes=\"(max-width: 800px) 100vw, 800px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 800px; --smush-placeholder-aspect-ratio: 800\/500;\" \/><\/figure>\n<\/div>\n\n\n<p>Natomiast projekt przygotowany w XD powinien by\u0107 podes\u0142any jako link dost\u0119pny z funkcj\u0105 Handoff Design Specs. Dzi\u0119ki temu programista z poziomu przegl\u0105darki mo\u017ce odczyta\u0107 parametry element\u00f3w do zakodowania, czy pobra\u0107 assety. Aby to umo\u017cliwi\u0107 wybierz: Share for development &gt; Include Assets for Download. Pami\u0119taj, aby przed eksportem rozgrupowa\u0107 elementy, kt\u00f3re nie stanowi\u0105 jakiej\u015b ca\u0142o\u015bci (np. nie s\u0105 ikonk\u0105 zbudowan\u0105 z kilku kszta\u0142t\u00f3w).<\/p>\n\n\n\n<p>W przypadku projekt\u00f3w tworzonych m.in. w Sketchu (ale i w dw\u00f3ch wy\u017cej opisanych programach) warto skorzysta\u0107 z pluginu Zeplin. Usprawnia komunikacj\u0119 pomi\u0119dzy designerem i programist\u0105 i umo\u017cliwia eksport asset\u00f3w.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"wersje-rwd\">Wersje RWD<\/h2>\n\n\n\n<p>Najlepiej je\u015bli proces projektowania odbywa si\u0119 w oparciu o <strong>zasad\u0119 Mobile First<\/strong> \u2013 co pozwala na zachowanie sp\u00f3jno\u015bci dla wersji mobile i desktop. Warto przygotowa\u0107 widoki dla rozmiar\u00f3w: <strong>320 px, 768 px, 1280 px oraz 1920 px<\/strong>, pami\u0119taj\u0105c by poszczeg\u00f3lne projekty dla breakpoint\u00f3w stanowi\u0142y logiczn\u0105 ca\u0142o\u015b\u0107.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"fonty\">Fonty<\/h2>\n\n\n\n<p>Projektant powinien dostarczy\u0107 list\u0119 u\u017cytych font\u00f3w i ich wielko\u015bci (h1\/h2\/itp). Rozmiary tekstu w ca\u0142ym projekcie w ka\u017cdym widoku (mobile, tablet, desktop) powinny by\u0107 konsekwentnie stosowane.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" data-src=\"https:\/\/smultron.software\/content\/uploads\/2024\/02\/fonty-1.png\" alt=\"Hierarchia nag\u0142\u00f3wk\u00f3w\" class=\"wp-image-716 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 801px; --smush-placeholder-aspect-ratio: 801\/571;\" \/><\/figure>\n<\/div>\n\n\n<p><br>W przypadku mniej standardowych font\u00f3w konieczne jest dostarczenie paczki z fontem. Jednak zach\u0119camy do korzystania z <strong>Google Fonts<\/strong>. Biblioteka daje szeroki wyb\u00f3r font\u00f3w oraz mo\u017cliwo\u015b\u0107 uprzedniego sprawdzenia wygl\u0105du oraz dost\u0119pno\u015bci polskich znak\u00f3w. Znajduj\u0105ce si\u0119 tam fonty posiadaj\u0105 licencj\u0119 open source, dlatego te\u017c mog\u0105 by\u0107 u\u017cywane zar\u00f3wno w celach prywatnych jak i komercyjnych. Je\u017celi korzystamy z <strong>font\u00f3w Adobe<\/strong> trzeba zakupi\u0107 jednorazow\u0105 licencj\u0119 na ka\u017cdy kr\u00f3j (regular, italic, bold itd) lub u\u017cywaj\u0105c Adobe Fonts <strong>konieczne jest posiadanie subskrypcji Creative Cloud<\/strong> z projektem z kt\u00f3rego b\u0119d\u0105 pobierane pliki.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"odstepy-odleglosci\">Odst\u0119py\/odleg\u0142o\u015bci<\/h2>\n\n\n\n<p>Zachowaj <strong>jednolite odst\u0119py<\/strong> mi\u0119dzy elementami (padding, margin). Oba te elementy, jak i r\u00f3wnie\u017c wszystkie wysoko\u015bci (i je\u015bli to mo\u017cliwe te\u017c szeroko\u015bci) element\u00f3w powinny by\u0107 skorelowane z wysoko\u015bci\u0105 linii tekstu (np. 1.5 * wysoko\u015b\u0107 linii).<\/p>\n\n\n\n<div class=\"py-[32px] px-[24px] tablet:px-[32px] bg-gray-1 rounded-[8px]\ncta-small\">\n\t<div class=\"flex flex-wrap gap-[24px] justify-between\n\titems-center\">\n\t\t<div class=\"hm5 desktop:h5 basis-[417px] max-w-[496px]\">\n\t\t\tSzukasz do\u015bwiadczonego zespo\u0142u programistycznego? Porozmawiajmy o konkretach.\t\t<\/div>\n\t\t<div>\n\t\t\t\n<div class=\"person-contact flex gap-[16px] items-center\">\n\t<div class=\"person-contact__image\">\n\t\t\t\t\t<img decoding=\"async\" data-src=\"https:\/\/smultron.software\/content\/uploads\/2024\/02\/marcin-stawowiak-56x56.jpeg\"\n\t\t\t\tclass=\"size-[56px] rounded-full object-cover lazyload\"\n\t\t\t\talt=\"\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 56px; --smush-placeholder-aspect-ratio: 56\/56;\">\n\t\t\t<\/div>\n\t<div class=\"person-contact__details label-md\">\n\t\t<div class=\"person-contact__email\">\n\t\t\t<a href=\"mailto:hello@smultron.pl\">\n\t\t\t\thello@smultron.pl\t\t\t<\/a>\n\t\t<\/div>\n\t\t<div class=\"person-contact__phone\">\n\t\t\t<a href=\"tel:+48 791 991 797\">\n\t\t\t\t+48 791 991 797\t\t\t<\/a>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"kolory\">Kolory<\/h2>\n\n\n\n<p>Aby zachowa\u0107 sp\u00f3jno\u015b\u0107 projektu warto dostarczy\u0107 programi\u015bcie palet\u0119 barwn\u0105 z list\u0105 wykorzystanych na stronie kolor\u00f3w.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" data-src=\"https:\/\/smultron.software\/content\/uploads\/2024\/02\/kolory.png\" alt=\"Paleta kolor\u00f3w\" class=\"wp-image-715 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 801px; --smush-placeholder-aspect-ratio: 801\/571;\" \/><\/figure>\n<\/div>\n\n\n<p>Na takiej li\u015bcie powinny si\u0119 znale\u017a\u0107 tak\u017ce podgl\u0105dy aktywnego stanu dla klikalnych element\u00f3w, na przyk\u0142adzie button\u00f3w:<\/p>\n\n\n<div class=\"wp-block-image is-style-default\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" data-src=\"https:\/\/smultron.software\/content\/uploads\/2024\/02\/buttony-06.png\" alt=\"Komponenty wizualne interfejsu dla r\u00f3\u017cnych stan\u00f3w (normalny, pod\u015bwietlony, wci\u015bni\u0119ty) przycisku, inputa, checkboxa, dropdowna\" class=\"wp-image-724 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 801px; --smush-placeholder-aspect-ratio: 801\/571;\" \/><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"ikony\">Ikony<\/h2>\n\n\n\n<p>Projektuj\u0105c stron\u0119 cz\u0119sto tworzymy ikony lub wektorowe ilustracje. Je\u017celi decydujemy si\u0119 na projekt w Photoshopie pami\u0119tajmy by <strong>nie by\u0142o w nim element\u00f3w linkuj\u0105cych do zewn\u0119trznej biblioteki<\/strong> (np. Illustratora), kt\u00f3re nie s\u0105 dost\u0119pne wprost z projektu. W takim przypadku najlepiej gdyby elementy wektorowe w plikach by\u0142y kszta\u0142tami z Photoshopa lub by\u0142y dostarczone w osobnym katalogu .zip jako pliki <strong>svg<\/strong>. Pojedynczy plik svg powinien by\u0107 czysty i zawiera\u0107 tylko t\u0119 w\u0142a\u015bciw\u0105 wektorow\u0105 ikon\u0119.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"grafiki-rastrowe-zdjecia\">Grafiki rastrowe\/zdj\u0119cia<\/h2>\n\n\n\n<p>Zdj\u0119cia lub grafiki rastrowe r\u00f3wnie\u017c powinny by\u0107 przes\u0142ane w osobnym katalogu z opisem. Unikaj przypadkowych nazw plik\u00f3w, nie u\u017cywaj polskich znak\u00f3w i znak\u00f3w specjalnych, stosuj zwi\u0119z\u0142e opisy, korzystaj z pauz. I tak odpowiednia nazwa pliku ze zdj\u0119ciem powinna brzmie\u0107 <strong>fotografia-wawel.jpg<\/strong>, a nie uoia\u0142flklal.jpg. Warto pami\u0119ta\u0107 by dostarczy\u0107 pliki w wysokiej rozdzielczo\u015bci, najlepiej by przed wys\u0142aniem zosta\u0142y przepuszczone przez program optymalizuj\u0105cy. Je\u017celi korzystamy z Maca mo\u017cemy skorzysta\u0107 z darmowego narz\u0119dzia, jakim jest ImageOptim dost\u0119pny pod linkiem: <a href=\"http:\/\/www.imageoptim.com\/pl\" target=\"_blank\" rel=\"noopener\">www.imageoptim.com\/pl<\/a>. Na stronie <a href=\"https:\/\/pngquant.org\/\" target=\"_blank\" rel=\"noopener\">www.pngquant.org<\/a> znajdziecie wersj\u0119 dla Windows\u2019a czy wtyczk\u0119 Photoshopa. Tradycyjne zdj\u0119cia zapisuj w formacie<strong> jpg<\/strong>, natomiast ilustracje, infografiki w formacie <strong>png<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"animacje-interakcje\">Animacje\/interakcje<\/h2>\n\n\n\n<p>Je\u015bli mamy osobny plik z hoverami\/interakcjami to dobrze jest zaznaczy\u0107 gdzie, kt\u00f3ry element wyst\u0119puje. Mamy wymy\u015blony lub wybrany efekt hovera? \u017beby uzyska\u0107 jak najbardziej zbli\u017con\u0105 animacj\u0119 warto szczeg\u00f3\u0142owo opisa\u0107 wszelkie animacje interakcji i ruchomych element\u00f3w. Mo\u017cna r\u00f3wnie\u017c podes\u0142a\u0107 link do przyk\u0142adu. W przypadku bardziej skomplikowanych animacji \u2013 przydatne dla programisty by\u0142oby rozpisanie ca\u0142ego toku animacji, np. animacja trwa 2 sekundy, zaczyna si\u0119 ruchem jednego elementu a w 0.3 sekundzie dochodzi ruch drugiego elementu.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"dodatkowe-elementy-layoutu\">Dodatkowe elementy layoutu<\/h2>\n\n\n\n<p>Opr\u00f3cz projekt\u00f3w podstron, kt\u00f3re znajd\u0105 si\u0119 na pasku menu projektowanej przez Was strony warto pami\u0119ta\u0107 o kilku wa\u017cnych elementach do zaprojektowania.<\/p>\n\n\n\n<p><strong><strong><strong>Przyk\u0142adowa strona tekstowa<\/strong><\/strong><\/strong><\/p>\n\n\n\n<p>Zdarza si\u0119, \u017ce nie zostaje przewidziana w projekcie jako jedna z g\u0142\u00f3wnych stron, jednak jest istotna ze wzgl\u0119du na elementy w niej wyst\u0119puj\u0105ce, kt\u00f3re w przysz\u0142o\u015bci mog\u0105 zosta\u0107 wykorzystane w edycji tekstu w CMS. W\u0142a\u015bciwie przygotowana strona tekstowa powinna si\u0119 sk\u0142ada\u0107 z tekstu uwzgl\u0119dniaj\u0105cego w tre\u015bci: nag\u0142\u00f3wki, widok cytatu, listy numerycznej, listy wypunktowanej, wygl\u0105d linku czy podpisu do zdj\u0119cia.<\/p>\n\n\n\n<p><strong><strong><strong>Podstrona b\u0142\u0119du 404<\/strong><\/strong><\/strong><\/p>\n\n\n\n<p>Jest potrzebna, cho\u0107 lepiej, by u\u017cytkownik jej nigdy nie zobaczy\u0142 ?. Jednak s\u0105 momenty, na kt\u00f3re nie mamy wp\u0142ywu i np. przez \u017ale wpisany adres url oczom u\u017cytkownika ukazuje si\u0119 strona b\u0142\u0119du. Warto zadba\u0107, by wizualnie by\u0142a sp\u00f3jna z reszt\u0105 podstron.<\/p>\n\n\n\n<p><strong><strong><strong><strong>Pasek cookies<\/strong><\/strong><\/strong><\/strong><\/p>\n\n\n\n<p>Czyli pasek z komunikatem o ciasteczkach widoczny na stronach serwisu.<\/p>\n\n\n\n<p><strong><strong><strong>Komunikaty i walidacja<\/strong><\/strong><\/strong><\/p>\n\n\n\n<p>Dotyczy to przede wszystkim formularzy i wyszukiwarek. Warto przygotowa\u0107 tre\u015b\u0107 i styl komunikat\u00f3w o b\u0142\u0119dach\/sukcesach w formularzu oraz widoki aktywnego pola.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"dodatkowe-informacje-dla-koderow\">Dodatkowe informacje dla koder\u00f3w<\/h2>\n\n\n\n<p>Je\u017celi zale\u017cy nam na tym, by konkretne elementy strony mia\u0142y sztywne wymiary (np. zadan\u0105 wysoko\u015b\u0107) warto to podkre\u015bli\u0107 przekazuj\u0105c informacje programi\u015bcie. <strong>Precyzyjny opis<\/strong> lub <strong>link do przyk\u0142adu<\/strong> z innej strony przyda si\u0119 r\u00f3wnie\u017c w przypadku, kiedy nie wszystko jest mo\u017cliwe do pokazania w pliku graficznym.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"favicon\">Favicon<\/h2>\n\n\n\n<p>Aby zaprogramowana strona odr\u00f3\u017cnia\u0142a si\u0119 w\u015br\u00f3d innych zak\u0142adek na pasku przegl\u0105darki warto przygotowa\u0107 <strong>favicon<\/strong>. Mo\u017cna to zrobi\u0107 za pomoc\u0105 narz\u0119dzia online: <a href=\"http:\/\/www.realfavicongenerator.net\/\" target=\"_blank\" rel=\"noopener\">www.realfavicongenerator.net<\/a>, gdzie po uploadzie grafiki w formacie .png \/ .jpg \/ .svg generuje si\u0119 nam paczka z ikonami i kodem HTML, kt\u00f3r\u0105 nale\u017cy do\u0142\u0105czy\u0107 do materia\u0142\u00f3w dla programisty.<\/p>\n\n\n\n<p>Mamy nadziej\u0119, \u017ce wiedza zawarta w tym artykule b\u0119dzie dla Ciebie pomocna, a je\u015bli mia\u0142by\u015b jakie\u015b uwagi, to zapraszamy do komentowania na naszym <a href=\"https:\/\/www.facebook.com\/SmultronSoftwareHouse\" target=\"_blank\" rel=\"noreferrer noopener\">Facebookowym fanpage\u2019u<\/a> \ud83d\ude42<\/p>\n\n\n\n<p><\/p>\n<div class=\"full-width container-grid gap-y-[32px] section-scrollspy  bg-gray-1 pt-[60px] desktop:pt-[120px] pb-[60px] desktop:pb-[120px]\"\n\tid=\"skontaktuj-sie\">\n\t<div class=\"hm2 desktop:h2\"\n\t\tdata-aos=\"animate__fadeInUp\"\n\t>\n\t\tSkontaktuj si\u0119 z nami\t<\/div>\n\t<div class=\"grid desktop:grid-cols-12 gap-y-[60px] items-start\">\n\t\t\n<div class=\"desktop:col-span-6 grid tablet:grid-cols-2\n\t\ttablet:gap-x-[24px] tablet:gap-y-[32px]\">\n\t<div class=\"\">\n\t\t<div class=\"\">\n\t\t\t<img decoding=\"async\" data-src=\"https:\/\/smultron.software\/content\/uploads\/2024\/01\/681c046dafbd67a84a6a2820a207caa9-e1706629988730-768x515.jpeg\"\n\t\t\t\twidth=\"327\"\n\t\t\t\theight=\"204\"\n\t\t\t\tclass=\"w-full aspect-[390\/243] object-cover rounded-t-[10px] lazyload\"\n\t\t\t\talt=\"Marcin Stawowiak\"\n\t\t\t\tdata-aos=\"animate__fadeInUp\"\n\t\t\t src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 327px; --smush-placeholder-aspect-ratio: 327\/204;\" \/>\n\t\t\t<div class=\"p-[24px] tablet:border-l-[1px] tablet:border-b-[1px]\n\t\t\tborder-gray-2 tablet:rounded-bl-[10px] max-tablet:border-x-[1px]\n\t\t\tgrid gap-[16px]\">\n\t\t\t\t<div class=\"h6\"\n\t\t\t\t\tdata-aos=\"animate__fadeInUp\"\n\t\t\t\t>Marcin Stawowiak<\/div>\n\t\t\t\t<div class=\"label-xs font-bold\"\n\t\t\t\t\tdata-aos=\"animate__fadeInUp\"\n\t\t\t\t>\n\t\t\t\t\tCo-founder, Executive Manager\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"pl-[24px] pb-[24px] pr-[24px] tablet:ml-[-24px]\n\t\t\ttablet:pt-[24px] grid gap-[16px] tablet:self-end tablet:border-[1px] tablet:border-l-0\n\t\t\tborder-gray-2 tablet:rounded-r-[10px] max-tablet:border-x-[1px]\n\t\t\tmax-tablet:border-b-[1px] max-tablet:rounded-b-[10px]\n\t\t\tgap-y-[60px]\">\n\t\t<div class=\"label-md max-tablet:hidden\" data-aos=\"animate__fadeInUp\">\n\t\t\tSzukasz do\u015bwiadczonego zespo\u0142u programistycznego? <br \/>Porozmawiajmy o konkretach.\t\t<\/div>\n\t\t<div class=\"grid body-md\" data-aos=\"animate__fadeInUp\">\n\t\t\t<a href=\"mailto:hello@smultron.pl\">hello@smultron.pl<\/a>\n\t\t\t<a href=\"tel:+48 791 991 797\">+48 791 991 797<\/a>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"tablet:col-span-2 body-md grid gap-[16px] mt-[32px]\n\ttablet:mt-0\" data-aos=\"animate__fadeInUp\">\n\t\t<div class=\"label-md\">\n\t\t\tSmultron Web Development\t\t<\/div>\n\t\t<div class=\"\">\n\t\t\tul. S\u0142awkowska 12\t\t\t<br\/>\n\t\t\t31-014 Krak\u00f3w\t\t<\/div>\n\t\t<div>\n\t\t\tNIP:&nbsp;6762482785\t\t<\/div>\n\t<\/div>\n<\/div>\n\t\t\n<div class=\"desktop:col-start-8 desktop:col-span-5 contact-form-footer\">\n\t\n<div class=\"wpcf7 no-js\" id=\"wpcf7-f224-o1\" lang=\"en-US\" dir=\"ltr\" data-wpcf7-id=\"224\">\n<div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div>\n<form action=\"\/pl\/wp-json\/wp\/v2\/posts\/506#wpcf7-f224-o1\" method=\"post\" class=\"wpcf7-form init wpcf7-acceptance-as-validation\" aria-label=\"Contact form\" novalidate=\"novalidate\" data-status=\"init\">\n<fieldset class=\"hidden-fields-container\"><input type=\"hidden\" name=\"_wpcf7\" value=\"224\" \/><input type=\"hidden\" name=\"_wpcf7_version\" value=\"6.1.5\" \/><input type=\"hidden\" name=\"_wpcf7_locale\" value=\"en_US\" \/><input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f224-o1\" \/><input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\" \/><input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\" \/>\n<\/fieldset>\n<div class=\"desktop:col-start-8 desktop:col-span-5\">\n  <div class=\"grid gap-[32px]\">\n    <div class=\"label-md\">\n\t\t\tWype\u0142nij poni\u017cszy formularz\n    <\/div>\n    <div class=\"grid gap-[24px]\">\n      <div class=\"form-row\">\n        <label class=\"label-xs\" for=\"msg-email\">Tw\u00f3j e-mail*<\/label>\n        <span class=\"wpcf7-form-control-wrap\" data-name=\"email\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email form-control\" id=\"msg-email\" aria-required=\"true\" aria-invalid=\"false\" value=\"\" type=\"email\" name=\"email\" \/><\/span>\n      <\/div>\n      <div class=\"form-row\">\n        <label class=\"label-xs\" for=\"msg-content\">Twoja wiadomo\u015b\u0107*<\/label>\n        <span class=\"wpcf7-form-control-wrap\" data-name=\"message\"><textarea cols=\"40\" rows=\"10\" maxlength=\"2500\" class=\"wpcf7-form-control wpcf7-textarea wpcf7-validates-as-required form-control form-control-textarea\" id=\"msg-content\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Podziel si\u0119 szczeg\u00f3\u0142ami swojego projektu\" name=\"message\"><\/textarea><\/span>\n        <div class=\"form-text\">\n          Max. 2500 znak\u00f3w\n        <\/div>\n      <\/div>\n      <div class=\"form-row label-sm\">\n<span class=\"wpcf7-form-control-wrap\" data-name=\"acceptance-69\"><span class=\"wpcf7-form-control wpcf7-acceptance\"><span class=\"wpcf7-list-item\"><label><input type=\"checkbox\" name=\"acceptance-69\" value=\"1\" aria-invalid=\"false\" \/><span class=\"wpcf7-list-item-label\"><span><\/span><span>Zapozna\u0142em si\u0119 i akceptuj\u0119 <a href=\"\/pl\/polityka-prywatnosci\/\" class=\"underline\" target=\"_blank\" rel=\"nofollow\">Regulamin i Polityk\u0119 Prywatno\u015bci Smultron<\/a>.*<\/span><\/span><\/label><\/span><\/span><\/span>\n      <\/div>\n      <div>\n        <button type=\"submit\" class=\"button button--gradient-red\n                button--with-icon\">\n                    <span>Wy\u015blij<\/span>\n                    <span class=\"icon-arrow-right\"><\/span>\n                <\/button>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div><div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div>\n<\/form>\n<\/div>\n\t<div class=\"contact-form-footer__success flex bg-green-2\n\t\t\t\t\t\tborder-green-3 p-[16px] gap-[16px] rounded-[8px]\n\t\t\t\t\t\tmt-[30px]\">\n\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\"\n\t\t\tviewBox=\"0 0 24 24\" fill=\"none\">\n\t\t\t<path d=\"M12 2C17.51 2 22 6.49 22 12C22 17.51 17.51 22 12 22C6.49 22 2 17.51 2 12C2 6.49 6.49 2 12 2ZM12 0C5.37 0 0 5.37 0 12C0 18.63 5.37 24 12 24C18.63 24 24 18.63 24 12C24 5.37 18.63 0 12 0ZM18.25 8.89L16.83 7.48L10.73 13.7L7.65 10.76L6.25 12.2L10.75 16.52L18.25 8.89Z\"\n\t\t\t\t\tfill=\"#104121\"><\/path>\n\t\t<\/svg>\n\t\t<div class=\"body-md text-green-4\">\n\t\t\t<strong>Dzi\u0119kujemy za przes\u0142anie formularza!<\/strong> Odpowiemy w ci\u0105gu 24 godzin.\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\t<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Wsp\u00f3lnie z&nbsp;naszym teamem zebrali\u015bmy wytyczne pozwalaj\u0105ce przygotowa\u0107 projekt stron i&nbsp;aplikacji webowych na&nbsp;potrzeby zakodowania ich z&nbsp;za\u0142o\u017ceniem RWD. Skupili\u015bmy si\u0119 g\u0142\u00f3wnie na&nbsp;przygotowaniu projekt\u00f3w w&nbsp;programach Adobe Photoshop i&nbsp;Adobe XD, nie&nbsp;zapominaj\u0105c o&nbsp;istnieniu innych, takich jak Figma, Sketch czy&nbsp;Zeplin. Web design i web development to dwa uzupe\u0142niaj\u0105ce si\u0119&nbsp;obszary, nad kt\u00f3rymi pracuj\u0105&nbsp;osobne zespo\u0142y. Przygotowali\u015bmy artyku\u0142, kt\u00f3ry mo\u017ce pom\u00f3c w komunikacji mi\u0119dzy [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":717,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[40,41],"tags":[],"class_list":["post-506","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technologie","category-design"],"acf":[],"_links":{"self":[{"href":"https:\/\/smultron.software\/pl\/wp-json\/wp\/v2\/posts\/506","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/smultron.software\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/smultron.software\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/smultron.software\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/smultron.software\/pl\/wp-json\/wp\/v2\/comments?post=506"}],"version-history":[{"count":0,"href":"https:\/\/smultron.software\/pl\/wp-json\/wp\/v2\/posts\/506\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/smultron.software\/pl\/wp-json\/wp\/v2\/media\/717"}],"wp:attachment":[{"href":"https:\/\/smultron.software\/pl\/wp-json\/wp\/v2\/media?parent=506"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/smultron.software\/pl\/wp-json\/wp\/v2\/categories?post=506"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/smultron.software\/pl\/wp-json\/wp\/v2\/tags?post=506"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}