Какие языки программирования должен знать дизайнер?
Да, вы всё правильно прочитали. Есть уже много статей, доказывающих, что программировать должен уметь каждый, и дизайнер — не исключение. Сегодня я хочу рассказать о том, какие языки программирования могут ему понадобиться.
Вёрстка: HTML и CSS
Начнем с простого. Откровенно говоря, это еще не программирование. HTML — язык разметки гипертекста (Hypertext Markup Language). Он определяет структуру страниц и то, из каких элементов она состоит. Эти элементы определяются тегами: заголовки, текст, ссылки, списки и др. Важная задача тегов — определение семантики веб-документов. Например, заголовок первого уровня (h1) должен быть только один, а правильное оформление структурных элементов (header, footer, article и др.) облегчит чтение кода и его считывание поисковыми (и не только) роботами.
Язык CSS нужен для стилизации HTML-вёрстки. Название расшифровывается как Cascading Style Sheets или, если по русски, каскадные таблицы стилей. Каскадные они потому, что язык использует наследование от родителя к потомку, спускаясь вниз по элементам. При помощи CSS мы можем позиционировать элементы, менять их размер, задавать правила типографики, создавать анимации и многое другое.
Умение верстать поможет вам создавать реалистичный и реализуемый дизайн, наладить коммуникацию с разработчиками, а также претворять свою работу в жизнь. Более того, в Европе и США это умение — уже стандарт рынка и поможет вам соответствовать его требованиям.
Если вы еще не умеете верстать, вот несколько источников, которые помогут научиться:
- http://htmlbook.ru — расскажет об основных HTML-тегах и их использовании;
- http://cssreference.io — хороший справочник по CSS;
- https://css-tricks.com — сборник рецептов и советов по верстке.
Также советую обратить внимание на эту статью, которая научит вас верстать современно и гибко.
JavaScript
Этот язык изначально создавался для того, чтобы исполняться в браузере и сделать веб-странички “живыми”. Он умеет создавать и удалять HTML-теги, посылать запросы на сервер, получать данные без перезагрузки страницы, реагировать на действия пользователя и многое другое. На сегодняшний день, на нём можно писать не только фронтенд, но и бэкенд, создавать мобильные и десктопные приложения, а также автоматизировать работу с некоторыми программами (например, c фотошопом).
Умея верстать и зная основы JavaScript-а, дизайнер может полностью взять на себя разработку несложных продуктов: лендингов, сайтов-визиток и пр. Более продвинутые смогут создавать свои плагины для Sketch, импортировать в него реальные данные (как мы автоматизировали создание рассылок) или генерировать дизайн-системы из кода.
Если вы решили изучить JavaScript, обратите внимание на следующие ресурсы:
- http://learn.javascript.ru — учебник по современному JavaScript на русском;
- https://learn.jquery.com — учебник по всё еще самой распространенной JS-библиотеке;
- https://reactjs.org/tutorial/tutorial.html — туториал по самой популярной библиотеки для разработки интерфейсов.
SQL
Если о необходимости знания вёрстки и JavaScript-а многие слышали еще до моей статьи, то об SQL они могут услышать впервые. Если вы занимаетесь UX-исследованиями, то без работы с данными вам не обойтись, а язык SQL как раз поможет в этом. SQL расшифровывается как Structured Query Language — структурированный язык запросов. Он был создан специально для создания, управления и модификации данных в базах данных.
Язык работает в формате “запрос-ответ”: вы пишите свой запрос в базу, а она присылает результат его обработки.
При помощи SQL мы можем агрегировать, группировать и сортировать данные.
Если перед вами встал вопрос изучения SQL, советую пройти классный курс на Stepik-е. Если же нет времени на объёмный курс, можно начать знакомство с этой статьи.
R
R — язык программирования, который был создан около 20 лет назад исключительно для академических исследований в области анализа данных. Так как язык тесно связан со статистикой и прикладным анализом данных, он может стать полезным инструментом для UX-аналитика. Язык позволяет применять основные методы статистического анализа: t-тест, корреляцию, дисперсионный и регрессионный анализ и др. При помощи инструментов этого языка можно также визуализировать полученные данные. Для работы с R необходимы хотя бы базовые знания математической статистики.
Ресурсы для изучения:
- Курс основы программирования на R на Stepik;
- Курс по основам статистики на Stepik;
- Книга «Статистический анализ и визуализация данных с помощью R», C.Э. Мастицкий, В.К. Шитиков
Python
Python — высокоуровневый язык программирования, ориентированный на читаемость кода и повышение производительности разработчиков. Язык придерживается своей определённой философии, называемой «The Zen of Python», который гласит (если в двух словах), что любая программа на языке (как и сам язык) должна быть простой и не двусмысленной. Из-за своей простоты, Python является первым изучаемым языком программирования у многих студентов по всему миру. Оказывается, он может быть полезным и для дизайнера. Например, Python активно используется архитекторами и промышленными дизайнерами для алгоритмического моделирования в Rhino при помощи плагина Grasshopper.
Если вы хотите изучить Python, то советую начать с этого курса на Stepik, а уже после него переходить к работе с конкретными программами.
Заключение
Как видно из статьи, работа дизайнера давно не ограничивается проектированием UX и UI, но и требует некоторых навыков разработчика. В США и Европе эти навыки давно стали стандартом рынка, а в некоторых направлениях деятельности они позволяют оптимизировать рутину и выйти за стандартные рамки профессии. Почему-то многие люди боятся изучения программирования, но на самом деле в этом нет ничего сложного. Главное — определить контекст применения и грамотно подобрать учебные материалы.
Кстати, недавно я завел свой telegram-канал, где пишу о дизайне и психологии, а также анонсирую новые статьи. Подписывайтесь, если вам нравятся мои статьи, а также пишите, если есть комментарии, критика или просто хотите что-то сказать и дополнить. Буду рад. Спасибо!