Back-end розробник: Хто це і що він повинен вміти?
Весь інтернет будується на 2 основних речах - клієнті та сервері.
Клієнтом прийнято називати користувача, який підключається до сайту. Сполучною ланкою між клієнтом і сервером є клієнтське ПЗ, тобто браузер.
Сервером називається комп'ютер, який знаходиться в дата-центрі. На ньому встановлено необхідне серверне ПЗ, призначене для обслуговування клієнтів. Розробників, що займаються створенням сайтів, цікавить веб-сервер. Найчастіше зустрічаються веб-сервера Apache з PHP або nginx.
PHP - це одна з найпопулярніших мов програмування, яку використовують для написання переважної кількості різних скриптів. Зокрема, саме на ній написані популярні CMS для сайтів. Так ось, Back end - це розробка, пов'язана з написанням скриптів для сервера. До речі, якщо вас цікавить професійна backend разработка, то замовити її можна на сайті sibdev.pro.
Якими знаннями і навичками повинен володіти Back-end розробник?
Back-end веб-розробник - це, по суті, людина, який розробляє серверну логіку і усвідомлює, в якому контексті вона буде виконуватися - в контексті веб-додатків. Якщо бекенд-веб-додатки реалізуються на мові Java, а в більшості випадків це так, то, по суті, до такого фахівця застосовні всі ті ж вимоги по знанням і навичкам, що і до звичайного Java-розробнику: знання мови, розуміння роботи і улаштування основних бібліотечних компонент Java SDK і т. д.
Однак ще додаються досвід роботи з різними веб-фреймворками (спрощують реалізацію dependency injection, mvc і т.д.), вміння оцінювати і покращувати продуктивність програми, його масштабованість. Необхідно враховувати і розуміти, наскільки швидко користувач додатка отримає результат виконання серверного коду, а також наскільки безпечно і раціонально ту чи іншу серверну функціональність робити доступною через браузер користувача.
Майже будь-який веб-додаток використовує якийсь сховище даних. Тому людина, що займається розробкою серверної логіки, повинен мати навички роботи з базами даних, а також досвід використання механізмів ORM.
Часто бекенд-веб-додаток вимагає інтеграції зі сторонніми сервісами або експорт своєї функціональності у вигляді зовнішнього API. Розробник повинен розуміти, як реалізуються такі завдання, які протоколи і механізми використовуються для цього.
Незважаючи на те що така людина в основному займається розробкою серверної логіки додатка, виникає необхідність налагодження або прототипирования з використанням клієнтської частини програми. Звідси випливає необхідність розуміння роботи стека протоколів TCP / IP, HTTP, принципів взаємодії браузера з веб-додатком, базові знання про верстку, CSS-стилях, JavaScript-можливості.