С чего начинается веб-разработка?

У начинающих веб-разработчиков часто возникает вопрос с чего начать. Об этом свидетельствует наличие вопросов на сайтах типа 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.

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

Итог

Это основные пути в современной веб-разработке. Делайте выбор и начинайте свой путь и да пребудет с вами коннект.