Недавно я увидел на сайте 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 страниц, но благодаря ей я получил общее представление о веб-разработке и смело сделал выбор в сторону бэкенда, о чем до сих пор не жалею.
Я привел в пример именно эту книгу, вы можете взять любую другую, не имеет значения.
Вот, собственно, и все, чем я хотел поделиться, желаю всем, кто зашел в веб, удачи и скорейшего развития.
Теги: #веб-разработка #программирование
-
Киберпонедельник В Cloud4Y
19 Oct, 24 -
Книги На Свободе
19 Oct, 24