Веб-Разработка – С Чего Начать?

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

По его словам, он начал с изучения PHP, но по совету друзей перешёл на Java, в какой-то момент открыл для себя Angular, в результате в голове образовался бардак, и не было понимания, в каком направлении двигаться.

Именно для людей, которые только зашли в сеть, я решил поделиться этой статьей, чтобы они имели примерное представление о том, что там есть.

Любое веб-приложение состоит из двух частей: бэкенда и фронтенда.

Соответственно, программисты тоже разделились; по сути, это две неродственные касты разработчиков.



Бэкэнд

Бэкенд — это серверная часть приложения, которая не видна пользователям.

Сюда входят: авторизация, хранение и обработка данных, рассылка по электронной почте и тому подобное.

Скажем так, бэкэнд — это то, что находится под капотом.

Языков программирования здесь много, вот самые распространённые: • PHP • Сеть жереха • Джава • Питон • Рубин • Узел JS Советую выбрать только один, поскольку при нынешних требованиях к программистам для достижения среднего уровня потребуется как минимум несколько лет. При выборе вы можете ознакомиться с вакансиями в вашем городе, посмотреть, какие из них больше подходят, где больше платят и в зависимости от того, какой язык им требуется, и выбрать его.

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

Поэтому вам нужно будет изучить хотя бы одну из реляционных баз данных: •Оракул • MSSQL • MySQL • Постгрес По сложности это примерно то же самое, что освоение языка программирования.

Во всех перечисленных базах данных есть часть, которая везде одинакова — так называемый sql (язык запросов), а также процедурный язык, который в каждой базе данных разный.

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

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

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



Внешний интерфейс

Фронтенд — это работающая в браузере часть, с которой пользователь напрямую взаимодействует. Это динамические интерфейсы, меню, события, основанные на действиях пользователя, обмен данными с серверной частью, в общем, то, что происходит на клиенте.

Язык программирования здесь — javascript. С одной стороны, это несомненный плюс, так как после его изучения вам будут открыты все компании вашего города, которые занимаются веб-разработкой, а сейчас многие этим занимаются.

С другой стороны, есть нюансы.

В JavaScript на данный момент существует два широко используемых стандарта: ECMAScript 5 и ECMAScript 6. Разница между ними в том, что ECMAScript 5 не имеет полноценного OPP. В ECMAScript 6 он есть, но поскольку этот стандарт появился относительно недавно, большинство приложений уже написано на ECMAScript 5, в результате чего необходимо будет освоить оба стандарта и, как следствие, два разных подхода к разработке.

Еще один момент, который необходимо учитывать, — один и тот же код, написанный на javascript, может по-разному работать в разных браузерах и в разных операционных системах.

При нынешних требованиях к приложениям придется писать так называемый кроссбраузерный код, то есть код, выполнение которого будет везде давать одинаковый результат. Специального руководства по написанию такого кода не существует; в этом случае вам могут помочь форумы и окей Google. Описанные мной проблемные вопросы решены в современных js-фреймворках (например, Angular и React).

Но в проектах, написанных без использования фреймворков, эти проблемы остаются.

Лично для меня еще большим минусом является то, что тенденции здесь развиваются очень быстро.

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

В общем, за сообществом не успеваешь.



Полный стек

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

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

Однако полный стек — это то, с чего вам нужно начать, чтобы сделать шаг к бэкэнду или фронтенду.

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

В свое время, чтобы определиться, я прочитал книгу «Создание динамических сайтов», автор «Робин Никсон».

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

Я привел в пример именно эту книгу, вы можете взять любую другую, не имеет значения.

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

Теги: #веб-разработка #программирование

Вместе с данным постом часто просматривают: