Backend, Frontend and Fullstack

Создание сайтов и web приложений

Практически все веб приложения состоит из двух частей: backend (бэкенд) и frontend (фронтенд). Так и программистов делят на бэкенд и фронтенд разработчиков.

Бэкенд

Бекенд — это часть приложения, код которой отрабатывается на сервере. Наиболее частые функции: авторизация, хранение и обработка данных, email рассылки и так далее.

Наиболее часто встречающиеся языки бэкенда - PHP и C# (ASP.NET). Так же для этих задач используются языки Python, Java, Ruby, Node.js

В паре с серверными языками идёт язык баз данных (структурированных запросов - SQL). Наиболее популярные базы: Oracle, MSSQL, MYSQL, Postgres

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

Помимо реляционных баз данных (с sql языком) есть так называемые NoSQL (not only SQL) БД, например, MongoDB (из семейства документоориентированных). Язык запросов каждой из них индивидуален, а покрываемые задачи довольно узки.

Фронтенд

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

Основные инструменты это HTML CSS и JavaScript (Adobe Flash и ActionScript постепенно были вытеснены JavaScript'ом и HTML5). Практически единый "полигон" (инструментарий) для написания фронтенд части открывает доступ к большому "комьюнити" и огромному количеству уже готовых скриптов и решений.

Конечно, всё не так просто. В отличии от серверных языков во фронтенде сложность заключается в большом количестве браузеров и различных устройств, на которых должна работать программа. Так браузер IE5 (Internet Explorer) в своё время стал объектом раздражения огромного количества веб-разработчиков из-за своей специфики обработки HTNL CSS да и JS кода. Впрочем, сейчас большую популярность приобретают браузеры с движком Blink (Chrome, Opera, Vivaldi, Brave, Яндекс.Браузере, Microsoft Edge), что приводит к единообразию отображения кода в разных браузерах. Что касается JavaScript, он также получил огромный функционал (например, полноценное ООП) с появлением стандарта ECMAScript 6 (ES6). К сожалению, пока для поддержания старых версий браузера стоит применять ES5 или использовать транскомпилятор Babel.

Помимо "чистого" JavaScript большую популярность приобретают различные фреймворки и библиотеки, например, всё ещё популярен JQuery, а также часто можно встретить React, Vue или Angular и множество других.

Каждая такая библиотека имеет свой собственный синтаксис, который тоже надо знать, активно развивается и обрастает новыми функциями и отказывается от старых.

Фулстек

Тут достаточно прозаично, фулстак-разработчик, - человек способный писать обе части приложения, как бэк, так и фронтенд. Так например, появления Node.js в качестве серверного языка (а это ни что иное как JavaScript) позволяет практически на одном языке писать и бэкенд и фронтенд. Хотя конечно наиболее популярным серверным языком (покрайней мере для сайтов) пока остается PHP.