С чего начинается веб-разработка?
У начинающих веб-разработчиков часто возникает вопрос с чего начать. Об этом свидетельствует наличие вопросов на сайтах типа StackOverflow. Чаще этот вопрос возникает у тех кто хочет переключиться на веб-разработку из другой области. Эту статью я хочу посвятить как раз тем кто только хочет попасть в веб-разработку и не знает с чего начинать погружение.
Для того чтобы погружаться нужно знать, что современное веб-приложение состоит из двух частей: фронтэнд (внешний вид) и бекэнд (внутрениий функционал, серверная логика). Исходя из этого уже можно определиться чем хочется заниматься. Но вариантов для программиста на один больше чем частей веб-приложения. Есть третий: фулл-стек – это специалист, который одновременно знает и может сделать обе части веб-приложения, универсальный солдат.
Теперь можем начинать погружение, чтобы можно было выбрать по какому из трех путей пойти.
[sendpulse-form id=”278″]
Бекэнд
Это серверная часть веб-приложения или гововоря простыми словами, то что находится под капотом приложения. Например: авторизация, хранение и обработка данных, email рассылки. Основные языки программирования бекэнда это:
- PHP
- Java
- ASP.Net
- Node.JS
- Python
- Ruby
Если выбираете путь бекэнда, то внимательно отнеситесь к первому выбору, чтобы прокачаться в нем хотя бы до middle-уровня, а это как минимум пара лет. При выборе вы можете руководтствоваться количеством вакансия в вашем городе, уровне заработной платы, что ближе душе.
Поскольку сервер тесно взаимодействует с базой данных, то нужно выбрать одну из популярных реляционных баз:
- Oracle
- MSSql
- MySQL
- PostgreSQL
Несмотря на внутренние различия у всех этих баз есть одно общее – язык запросов, собственно sql. А вот процедурный язык у каждой базы уже свой. Но поскольку SQL един, а он основа всего, что связано с обработкой данных, то переход на другую базу не такая большая проблема. Выбрать впринципе можно любую, но желательно смотреть на вакансии. Самой популярной является MySQL и с ней работают все перечисленные выши серверные языки.
Фронтэнд
Это та часть приложения с которой непосредственно взаимодействует пользователь. Это динамические интерфейсы, меню, события по действию пользователя обмен данными с серверной частью, в общем, то, что происходит на клиенте. Здесь есть один несомненный плюс – один язык программирования JavaScript. Но у этого плюса есть и некоторые нюансы.
На сегодняшний день JavaScript имеет два стандарта: ECMAScript 5 и ECMAScript 6. Разница между ними состоит в том, что в 5 версии стандарта отсутствует полноценное ООП. В 6 версии оно есть, но появился стандарт сравнительно недавно и большая часть приложений пока что написана на 5 версии. Это приводит к тому, что вы должны изучить оба стандартна и их подходы к разарботке приложений.
Еще один важный момент, который касается уже любого стандарта и реализации JavaScript – один и тот же участок кода может работать по разному в зависимости от браузера и операционной системы. Манулов, руководств и хелпа как написать кроссбраузерный код на JS нет, есть только StackOverflow, форумы и Оk, Google.
И еще один минус – сверхбыстрое обновление версий библиотек и фреймвоорков. JS динамический и быстроразвивающийся язык программирования и новые версии всего и вся выходят очень быстро. Новичку вначале будет тяжело за что-то ухватиться. Здесь нужно найти старшего товарища, который подхватит и проведет. Но можно обойтись и тем, что просмотреть вакансии, увидеть что требуется и изучать именно это.
А несомненный плюс это то, что освоив JS для фронтэнда у Вас не возникнет проблем с изучение NodeJS для программирования серверной логики.
Фуллстек
Данный тип разработчиков занимается разработкой обоих частей веб-приложения. Чтобы попасть в этот тип нужно знать JavaScript и уметь работать с несколькими его популярными фреймворками, такими как Angular, React, Vue. И конечно знать 2-3 языка бекэнда плюс NodeJS.
Путь в этот тип долог и труден, в основном в него попадают через бекэнд, когда освоив один из серверных языков становится скучно и начинается изучения нового, а затем и фронтенда. Зачем нужно знать несколько языков и фреймворков? Чтобы выбрать наиболее оптимальный инструмент для конкретного проекта. Фуллстек это универсальный солдат, который использует лучший тип оружия для уничтожения конкретного врага.
Итог
Это основные пути в современной веб-разработке. Делайте выбор и начинайте свой путь и да пребудет с вами коннект.