Czy projektanci stron internetowych powinni znać kod? Znalezienie kompromisu w zmęczonej debacie
Czy projektanci stron internetowych powinni zrozumieć podstawowy HTML i CSS? To zmęczony spór z dwiema stronami, które odmawiają poddania się, po co w ogóle o tym dyskutować?
Celem tego artykułu nie jest udowodnienie, która grupa ma rację, ale próba wykazania, że obie strony rzeczywiście przedstawiają ważne punkty, i sprawdzenie, czy analiza tych punktów prowadzi nas do kompromisu, w którym obie strony mogą się zgodzić.
Gorący temat
Jeden z naszych artykułów w zeszłym tygodniu wywołał kilka komentarzy dotyczących implikacji w całym artykule, że projektanci stron internetowych powinni mieć podstawową wiedzę na temat kodu związanego z tworzeniem strony internetowej. Wielu przyklasnęło tej sugestii, podczas gdy równa liczba czytelników uznała, że jest ona niezgodna z rzeczywistością.
Temat ten został obszernie omówiony na prawie każdym blogu poświęconym projektowaniu w Internecie. Debata ma dwie odrębne strony, których członkowie wytyczyli wyraźne linie na piasku, których prawdopodobnie nigdy nie uda się przekroczyć.
Mam rację, a ty się mylisz
Każdy, kto uważa, że zrozumienie kodu nie jest konieczne do zaprojektowania, po prostu odmawia rozrywki, że ten pogląd może być błędny. Podobnie projektanci, którzy dobrze znają kod, nie mogą być przekonani, że nie są lepszymi projektantami.
„Albo projektanci powinni znać kod, albo nie powinni, taki prosty argument nie pozostawia miejsca na kompromisy”.Więc gdzie nas to opuszcza? Wydaje się, że jesteśmy w impasie, w którym obie strony trzymają się mocno. Największym problemem tutaj jest to, że wydaje się, że nie ma żadnego pośredniego podłoża. Albo projektanci powinni znać kod, albo nie powinni, taki prosty argument pozostawia niewiele miejsca na kompromis.
Jednak fakt, że obie strony tak mocno trzymają się swoich poglądów, wskazuje, że każda z nich ma ważne punkty, których nie należy omijać. Dzisiaj postaramy się uszanować te punkty i znaleźć nieuchwytny środek. Mamy nadzieję, że uda nam się doprowadzić dyskusję do wniosku, do którego obie strony mogą przynajmniej częściowo się przyłączyć.
Stan rozwoju sieci
Biorąc pod uwagę charakter debaty, zakładam, że niektórzy z nas rozumieją, jak budowane są strony internetowe, a niektórzy nie. Mając to na uwadze, prosta definicja terminów przejdzie długą drogę, aby pomóc wszystkim znaleźć się na tej samej stronie.
Szybka i brudna istota polega na tym, że HTML jest używany do treści, CSS do stylizacji i JavaScript do zachowania. Poniższe informacje są nieco uproszczone, ale odzwierciedlają ogólny stan budowy podstawowych stron internetowych.
„HTML jest używany do treści, CSS do stylizacji i JavaScript do zachowania”Typowa strona może mieć tekst, linki, a nawet podstawowe obrazy wstawiane przez HTML, których struktura zapewnia hierarchię dla całego projektu. HTML to szkielet twojej strony.
Podobnie CSS jest skórką twojej strony. Tutaj dokonuje się większości wyborów estetycznych: kolory, czcionki, a nawet układ są realizowane za pomocą CSS. Wiele z tego, za co odpowiedzialny jest projektant, odbywa się za pomocą CSS, więc jeśli projektant musi coś zrozumieć na temat kodu, jest to dobre miejsce, aby zacząć.
JavaScript to opcjonalny mózg dla Twojej strony. Jeśli potrzebujesz fantazyjnych pokazów slajdów lub innych dynamicznych funkcji, JavaScript jest często najlepszym sposobem na obejście tego. Ostatnio CSS3 przekształcił się w czującą istotę zdolną do kradzieży niektórych zachowań JavaScript, więc linie nie są tak wyraźne, jak kiedyś.
Zrozumieć swój handel
Bez względu na to, jakim jesteś projektantem, trudno argumentować, że nie jest ważne dla twojej kariery, abyś próbował zrozumieć naturę tego, co tworzysz.
Dobrzy projektanci drukarni wiedzą wszystko o drukowaniu i jego otaczających procesach. Rozumieją podstawowe czterokolorowe operacje prasowania, sposób przycinania papieru do rozmiaru reklamy oraz sposób, w jaki odnosi się to do konfiguracji pliku, jaki rodzaj atramentu jest dostępny i jak się miesza; to trwa i trwa.
Podstawowy układ można stworzyć całkowicie bez tej wiedzy, ale prawdziwi profesjonaliści poświęcają czas i wysiłek, aby nauczyć się procesów stojących za wdrożeniem projektu, aby mogli uwzględnić je podczas procesu projektowania.
„Prawdziwi profesjonaliści poświęcają czas i wysiłek, aby poznać procesy leżące u podstaw wdrożenia projektu.”Projektanci stron internetowych często otrzymują darmową przepustkę w tym obszarze. Technologia internetowa jest skomplikowana, dlatego nierealne jest oczekiwanie, że projektant ją zrozumie. W końcu, co ma znaczenie, w jaki sposób kolor tła jest implementowany, o ile pasuje do specyfikacji projektu?
Czy to wyrzutek czy uzasadniony argument? Czy projektanci stron internetowych naprawdę muszą wiedzieć, co wiąże się z realizacją ich projektów tak, jak robią to projektanci drukarni? Jeśli znajomość różnicy między kolorami dodatkowymi i wyjściowymi sprawia, że jesteś lepszym projektantem druku, to czy zrozumienie roli, relacji i implementacji trzech wymienionych wyżej technologii czyni cię lepszym projektantem stron internetowych?
Projektowanie dla Internetu
Sieć jest bardzo unikalną formą mediów. Niektóre projekty wymagają wysokiego poziomu interakcji, podczas gdy inne są jedynie cyfrowym przedstawieniem treści, które można łatwo wydrukować (na przykład ten artykuł).
Jako projektant stron internetowych masz za zadanie przeanalizować każdy scenariusz i zapewnić estetykę, która najlepiej pasuje do celów i użytkowników witryny. Powstaje ważne pytanie, czy naprawdę możesz to osiągnąć bez podstawowego zrozumienia, jak działa sieć.
Załóżmy, że projektujesz witrynę mobilną, a Twój klient chce skrócić czas ładowania. Jeśli wiesz, do czego zdolny jest CSS, możesz łatwo stworzyć atrakcyjny projekt, który nie wymaga zdjęć. Jeśli jednak nie masz pewności, jak wykonalne jest coś takiego jak gradient kompatybilny z wieloma przeglądarkami, jesteś w niekorzystnej sytuacji.
To samo dotyczy typografii. Może chcesz użyć unikalnej czcionki na części tekstu, która musi być aktywna, czy nie pomogłoby to zrozumieć implementację @ font-face i co możesz z tym zrobić?
Rozdzielanie ról
W tej debacie powstaje główny podtekst dotyczący tego, czy role projektanta i programisty powinny być całkowicie odrębne. Jest to obszar, w którym obie strony mają równie uzasadnione argumenty.
Separatyści twierdzą, że projektowanie stron internetowych i tworzenie stron internetowych to dwie zupełnie różne role wymagające bardzo różnych zestawów umiejętności. O wiele lepiej jest mieć kreacje przeznaczone wyłącznie do projektowania i technologii wyłącznie do kodowania, niż próbować połączyć dwie role w jedną osobę. Wymagałoby to zbyt wiele jednej osoby, a projekt ucierpiałby.
Rzeczywiście, wiele dużych firm na całym świecie obsługuje dokładnie swoje zespoły internetowe, a jedna grupa zajmuje się tworzeniem projektów, które są następnie przekazywane do innego działu, aby przekształcić je w projekt na żywo. Jest to szczególnie konieczne, gdy projekt wymaga wysokiego poziomu wiedzy programistycznej, na przykład w przypadku aplikacji Ruby lub PHP.
„Nikt z nas nie może założyć, że zna jeden format, który mógłby i powinien być stosowany w każdej firmie projektowej na całym świecie.”Jednak małe firmy i niezależne firmy często nie mogą sobie pozwolić na wiele zespołów ekspertów. W tych scenariuszach samotny superman, który może przejrzeć projekt od początku do końca, jest nieocenionym zasobem. Tak czy inaczej, takie osoby faktycznie istnieją, z których wiele jest wyjątkowo dobrych zarówno w projektowaniu, jak i rozwoju.
Jeśli podchodzimy do tego argumentu z otwartym umysłem, myślę, że wszyscy możemy się zgodzić, że istnieją okoliczności, w których role projektanta i programisty są korzystne dla oddzielnych ról i inne scenariusze, w których lepiej jest je połączyć razem. Nikt z nas nie może założyć, że zna jeden format, który można i powinien być stosowany w każdej firmie projektowej na całym świecie.
Serce problemu
Znalezienie kompromisu w powyższym argumencie jest ważnym krokiem. Jeśli wszyscy możemy się zgodzić, że istnieją przypadki, w których podział i łączenie ról projektanta i programisty jest uzasadnioną strukturą, być może możemy dojść do ogólnego wniosku na temat tego, czy projektanci powinni rozumieć kod.
Aby znaleźć wspólną płaszczyznę, przeanalizujmy każdy argument. Trudność czystego projektanta jest dla mnie łatwa do zrozumienia, ponieważ byłem w tym obozie tak długo. Projekt wizualny jest bardziej skomplikowany, niż wielu ludziom to przypisuje. Jest zbyt wielu facetów HTML i CSS, którzy zakładają, że ponieważ wiedzą, jak zbudować witrynę, powinni ją umieć zaprojektować. Podobnie jak kodowanie, projektowanie nie jest czymś, w czym można odnieść sukces bez podstawowej edukacji i eksploracji tego, co działa, a co nie. Projektanci to nie tylko ludzie dbający o kolorystykę, to wysoko wykwalifikowani ludzie, którzy ciężko pracowali, aby zbudować posiadany zestaw umiejętności.
Na wynos tutaj jest to, że koderzy bez doświadczenia w projektowaniu prawdopodobnie nie mają działalności udającej projektantów. Podobnie projektant nie powinien spędzać czasu na hakowaniu razem źle napisanego kodu.
Ale czekaj, już omówiliśmy powyżej, w jaki sposób podstawowa znajomość kodu może w rzeczywistości lepiej przygotować projektanta do stworzenia czegoś, co pasuje do celów witryny. Więc gdzie nas to opuszcza?
Kompromis
Powyższa rozmowa może wydawać się trochę zbyt długa i zbędna, ale kroki logiki, przez które przeszliśmy, są ważne, aby doprowadzić nas do punktu, w którym możemy dojść do wniosku.
Biorąc pod uwagę uzasadnione argumenty obu stron, kompromis jest znacznie łatwiejszy do osiągnięcia. Widzimy teraz, że ci, którzy myślą, że projektanci powinni rozumieć kod, często nie dbają o to, czy projektant koduje witrynę. Po prostu argumentują, że uzbrojeni w wiedzę o tym, jak działa backend, można stworzyć bardziej odpowiedni projekt frond-end.
„Czasami wgląd w czyjąś pracę pomaga ci być lepszym w swoim”.Kompromis polega na tym, że chociaż niektórzy projektanci stron internetowych mogą i mogą czerpać korzyści z pisania kodu, być może ta umiejętność nie jest powszechnie niezbędna u wszystkich projektantów stron internetowych. Jest to jednak zupełnie inne niż stwierdzenie, że projektanci nie powinni rozumieć kodu, który trafia na strony stylizacji.
Jest tu ważne rozróżnienie. Na przykład dużo rozumiem na temat drukowania gazet. Rozumiem jakość papieru i atramentu oraz sposób, w jaki odnosi się to do pojęć takich jak używanie bogatej czerni zamiast czystej czerni w moich projektach. Nie oznacza to jednak, że mogę wyjść i znaleźć pracę w biurze prasowym! Rozumiem te aspekty drukowania niezbędne do uczynienia mnie lepszym projektantem. Czasami wgląd w czyjąś pracę pomaga ci stać się lepszym w swoim.
Podobnie można powiedzieć, że projektanci stron internetowych powinni zrozumieć te aspekty kodowania, które czynią ich lepszymi projektantami stron internetowych. Korzystając z moich poprzednich przykładów, można zrozumieć elastyczność i ograniczenia @ font-face bez zapamiętywania Bulletproof Składni Paula Irlandczyka. Możesz również zrozumieć, które efekty CSS3 są obsługiwane w których przeglądarkach, bez możliwości napisania kodu niezbędnego do takiej implementacji.
Odłóż broń
Nie jestem wystarczająco naiwny, aby wyobrazić sobie, że każdy czytelnik zgodzi się z moimi wnioskami. Jak powiedziałem powyżej, jest wielu, którzy po prostu odmawiają rozważenia możliwości, że ich droga nie jest jedyną drogą. Wzywam jednak każdego z was, aby zastanowili się, jak blisko zbliżamy się do zakończenia tej debaty przy użyciu powyższej logiki.
„Twoim zadaniem jest przyswajanie informacji, które mogą i powinny wpływać na twoje decyzje projektowe.”W końcu, dlaczego dbasz o to, co robi w firmie zajmującej się projektowaniem stron internetowych, o ile produkt końcowy jest zadowalający? Mając na uwadze ten cel, projektant stron internetowych, który nie potrafi napisać CSS na czubku głowy, nie jest absolutnym wymogiem, ale to nie znaczy, że nie rozumie podstawowej natury tworzenia stron internetowych i narzędzi, które zostaną wykorzystane do wdrożenia projektu, który tworzy.
Niezależnie od tego, czy projektujesz interfejsy aplikacji, billboardy, strony internetowe czy butelki szamponu, masz obowiązek zrozumieć, jak Twój projekt zostanie wdrożony. Jeśli jesteś wystarczająco chętny, aby nauczyć się procesu wystarczająco dobrze, aby zrobić to sam, dobrze dla ciebie. Jeśli nie, Twoim zadaniem jest przyswajanie informacji, które mogą i powinny wpływać na Twoje decyzje projektowe.
Wniosek
Reasumując, wszyscy mamy zażarte opinie na temat tego, czy wszyscy projektanci stron internetowych powinni rozumieć podstawowy HTML i CSS. Jeśli jednak odłożymy te opinie na tyle długo, aby uświadomić sobie, że obie strony debaty przedstawiają uzasadnione argumenty, być może uda się osiągnąć kompromis.
Jeśli zachęcamy wszystkich projektantów do zrozumienia ich branży i tego, co wiąże się z realizacją ich dzieł, wszyscy mamy wyraźny punkt porozumienia. Opisz swoją opinię o procesie innych i wybierz nową mantrę: dobrzy projektanci podejmują świadome decyzje. Kto może kłócić się z takim roszczeniem?
Zostaw komentarz poniżej i daj nam znać, co myślisz. Czy to prawda, że projektanci stron internetowych, podobnie jak projektanci druku, powinni przynajmniej spróbować zrozumieć, co dzieje się z projektem po jego wydaniu? Czy to ważne, czy projektant potrafi pisać kod, o ile rozumie implikacje wpływu obecnych technologii sieciowych na projekt?