Найти в Дзене
Мир Web IT в XXI веке

Как стать web разработчиком?

Оглавление

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

Сразу скажу в статье предоставлено именно мое виденье данной области в текущее время.

1. Базовые знания

Основа любого веб-сайта это:
1) HTML - язык разметки, служит для того, чтобы браузер построил структурированное дерево из элементов страницы

2) CSS - стили, с помощью них элементы html дерева "разукрашиваются"

3) Javascript - отвечает за динамику страницы в целом.

4) Сервер(nginx, apache) - отдает файлы вашему браузеру

5) Серверный язык - предназначен для обработки пользовательского взаимодействия, с элементами html дерева. Обычно используется, для взаимодействия с базой данных, и выполнения операций, которые не выполнить на стороне клиента.

Последнее время много компаний делят web-разработчиков на:

1) Front-End - занимается клиентской частью сайта, пользуется языками (CSS, Javascript, HTML)

2) Back-End -занимается серверной стороной сайта, пользуется языками (PHP, Python, NodeJS(javascript), Java). По сути серверным языком может стать любой, на котором имеется возможность слушать порты сервера или локальной машины.

2. Библиотеки и framework

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

В текущее время существует множество инструментов для оптимизации затрат разработчика на разработку. Разберем некоторые из них:

1) CSS

Сейчас существует много средств для оптимизации написания стилей, к таким относится графические препроцессоры Less, Sass, Stylus.

Рассмотрим для сравнения код на CSS и например на Less:

LESS
LESS

CSS
CSS

Плюсы кода LESS:

1) Четко видимая древовидная структура, вести такую же структуру в CSS намного сложнее

2) Легче избежать конфликта стилей поскольку мы видим контекст применяемый стилей более подробно по ссылке специфичность

3) Выше скорость доработки(изменения)

2) Javascript

В мире javascipt-а каждый день появляется новый и новый framework или библиотека. Знать все невозможно, но последние два года есть костяк framework которые знать очень даже желательно:

Angular - полноценный инструмент для создания web приложений(spa). Позволяет сделать всю бизнес логику на клиент(кроме работы с базой). Однако не терпит "костылей"

React - библиотека для компонентного подхода к созданию web-приложений. Позволяет создавать изолированные компоненты со своей бизнес логикой и стилями.

jQuery - куда же мы без него, библиотека для работы с html деревом(dom деревом)

VueJS - framework являющийся помесью Angular и React, по скорости превосходящий обеих в middle size и low size тестах. Сочетает собой компонентный подход с архитектурой приложения. Однако имеет малую кодовую базу( не очень вошел в trend)

3) HTML

Основными игроками тут являются:

Bootstrap - набор готовых html компонентов от Twitter. Имеется хорошая база примеров, хорошо написано документация, оптимизирован для мобильных устройств.

Materializecss - набор компонентов, достаточно популярен у любителей Material дизайна, хорошо подходит для небольших проектов с использованием Angular.

4) Сборщики Front-End части

Gulp - позволяет оптимизировать ручной труд(перегонки Less в CSS, CoffeeScript в JS, и так далее). Отлично подходит для начинающих.

Webpack - сочетает собой gulp + dev-сервер для тестирования разработки, позволяет автоматизировать тестирование и развертывание проекта. Высокий порог вхождения!!

3. Знания

Я обозначу необходимые знания для web-разработчика, которые я лично считаю must have:

1) Любой серверный язык

2) База(HTML, CSS, JS)

3) Алгоритмы ( Сложность, понимания базовый вещей)

4) Понимание как работает веб-сервер(nginx, apache)

5) Система контроля версии Git(80% компаний используют его)

6) Главное не боятся - если есть желание можно сделать все, если потратить время

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

Спасибо за внимание, дальше будет еще много информации!