Концепция дизайна полного стека

Когда-то большинство людей, занимающихся разработкой веб-сайтов, имели четко определенные роли в команде разработчиков, и от них редко ожидали совпадения с другими ролями.

Времена изменились. Теперь можно ожидать, что люди будут выполнять несколько задач, и даже в крупных организациях рабочие роли могут быть взаимозаменяемыми между членами команды.

Мы все чаще видим объявления о вакансиях, требующие «разработчиков полного стека», и проблема в том, что не все полностью понимают, что означает этот термин. Это также не является разумным требованием во многих случаях. Часто можно увидеть, что тот, кто разместил объявление, тоже не знал, что означает этот термин, и просто использовал его, потому что все остальные делают это.

Разработка полного стека, по сути, ничего особенного. Скорее всего, у вас уже есть все необходимые навыки, но вы, вероятно, превосходит больше в одной конкретной области стека, чем в других. Тем не менее, становится все труднее нанять специалиста, поэтому быть уверенным в широком понимании технологий базового стека - хорошая идея.

изображение по

Почему спрос на разработчиков полного стека является контрпродуктивным

Дизайнеры хороши в дизайне. Кодеры хороши в кодировании. Инженеры хороши в технике. Когда вам требуется, чтобы человек был компетентен в каждой части работы по проектированию и разработке, вы можете получить не совсем идеальный результат.

Это простая логика. Кто-то со страстью к дизайну должен заниматься дизайном, так же, как кто-то со страстью к коду должен программировать. Если прирожденный кодер вынужден что-то придумывать, он или она могут придумать приемлемый дизайн, но, скорее всего, он не будет таким же хорошим, как что-то, созданное прирожденным дизайнером.

Несмотря на то, что членам команды может быть полезно понимать работу друг друга и даже иметь возможность замещать друг друга, обычно лучше позволить каждому участнику работать в соответствии с его или ее сильными сторонами.

Что такое разработчик полного стека?

Мы начнем с определения того, что на самом деле представляет собой «стек». Идея стека - это группа взаимосвязанных технологий, которые позволяют сайту существовать.

Таким образом, разработчик полного стека - это тот, кто может справиться с каждым уровнем в этом стеке технологий, не отступая.

Первый слой: UX Research

Процесс разработки веб-сайта начинается с выяснения, какой цели должен достичь сайт, а затем разработки плана на основе этой цели.

Пользовательский опыт (UX) - это плохо определенная концепция, которая является фундаментальной для современного дизайна и разработки сайта. При планировании веб-сайта вам необходимо учитывать UX, который вы создаете. Это требует некоторых исследований, чтобы определить, какие атрибуты понадобятся сайту для предоставления положительного UX.

подарок от

Второй слой: UI Design

Определив факторы, которые обеспечат положительный UX, вы теперь перейдете к разработке пользовательского интерфейса (UI), который будет учитывать факторы UX, которые вы определили.

Это означает думать о таких вещах, как индикаторы загрузки, меню навигации, навигационные хлебные крошки, макет сайта, фоны, изображения, шрифты, цвета и, возможно, даже более сложные вещи, такие как аудио и видео.

Цель состоит в том, чтобы сделать все эти вещи как можно более простыми и обеспечить их хороший внешний вид и хорошее функционирование. Обеспечение оптимизации отдельных компонентов также является хорошей идеей для планирования заранее.

Третий слой: Front End Development

Здесь начинается настоящее действие. До сих пор все это планировалось и проектировалось, но на данном этапе мы на самом деле осуществлять дизайн. Используя HTML, CSS, JavaScript и, возможно, другие технологии, прототип веб-сайта обретает форму и (в конечном итоге) жизнь.

Если это не очень простой сайт, он, вероятно, не будет полностью функциональным на данный момент. Это будет, однако, рабочий прототип, который, по крайней мере, будет выглядеть и выглядеть так, как должен выглядеть готовый сайт.

подарок от

Четвертый слой: Back End Development

В бэк-энде сайта используются специальные технологии. Если ваш сайт должен do что-нибудь на стороне сервера, основанное на действиях пользователя (например, обработка содержимого корзины для покупок перед передачей запроса в PayPal), тогда это то, где это происходит.

Существует множество различных технологий, которые вы можете выбрать для решения этих задач, и некоторые из них более подходят, чем другие. Наиболее распространенными вариантами на данный момент являются PHP и Ruby, но существует множество вариантов 1000, которые могут быть одинаково выбраны.

PHP - самое гибкое и простое решение, но не обязательно самое эффективное. Для любого, кто только начинает свою карьеру, это лучший серверный язык для изучения, потому что его легко изучать и потому, что он так широко используется во многих отношениях.

Этот уровень может иногда включать такие вещи, как настройка и администрирование сервера, сетевое проектирование и т. Д.

Пятый уровень: Администрирование базы данных

Проектирование и разработка баз данных для поддержки задач, которые должен выполнять ваш сайт, может стать основной задачей. Чтобы сделать это хорошо, вам нужно освоить архитектуру базы данных, а также стать мастером SQL.

Это одна из тех вещей, которая звучит действительно легко и на самом деле оказывается более сложной, чем ожидалось. Все зависит от того, насколько сложными будут задачи, которые будут выполнены.

иллюстрация от

Как новый разработчик должен получить необходимые навыки?

Лучший способ - начать обучение с пятого уровня и перейти к первому. Это потому, что слои упорядочены по сложности их изучения. Самая трудная задача - создание отличных баз данных, и для большинства людей она также будет наименее интересной. Тогда лучше убрать это с дороги.

Затем вы можете перейти к изучению языка программирования, такого как PHP, Ruby, Python, Java и т. Д. Вы можете выучить столько, сколько захотите, но возможностей для программистов на PHP гораздо больше, чем для других языков. когда дело доходит до веб-разработки. Исключением является JavaScript, но он по-прежнему в основном рассматривается как клиентский язык, поэтому он технически относится к третьему уровню.

После овладения языком внутреннего программирования вы перейдете к изучению гораздо более простой задачи создания сайтов с использованием HTML, CSS и JavaScript (и / или других технологий).

Затем вы перейдете к еще более простой задаче дизайна пользовательского интерфейса. Учитывая, насколько это легко, удивительно, что многие сайты имеют плохо разработанные пользовательские интерфейсы или чрезвычайно производные пользовательские интерфейсы. Дизайн пользовательского интерфейса не менее сложен.

Наконец, вы попадаете в самую простую вещь - исследование UX. Причина, по которой это так просто, заключается в том, что вы участвовали в нем с того дня, как родились. Мы вступаем в мир, реагируя на то, что приносит нам радость или горе.

К тому времени, когда вы станете взрослым, вы должны хорошо понимать эти вещи, и UX-дизайн довольно просто планирует взаимодействие с пользователем, которое включает в себя больше вещей, которые вызывают радость, и меньше вещей, которые причиняют страдания.

изображение заголовка любезно предоставлено

Богдан Рэнца

Богдан является одним из основателей Inspired Mag, накопив за этот период почти 6-летний опыт. В свободное время он любит изучать классическую музыку и изучать изобразительное искусство. Он тоже одержим исправлениями. У него уже есть 5.