Трофименко Олена Григорівна

кандидат технічних наук, доцент, доцент кафедри інформаційних технологій
Національного університету «Одеська юридична академія»

 

СУЧАСНИЙ ІНСТРУМЕНТАРІЙ ВЕБРОЗРОБНИКА

На сьогодні ринок IT-послуг вражає своїм розмаїттям та можливостями для самореалізації програмістів. Доволі затребуваним на ринку IT-праці нині є вебпрограмування, яке за останні десятиліття стало одним з найпоширеніших та впливових різновидів програмування.

Сферою вебпрограмування є розроблення сайтів та вебзастосунків з клієнт-серверною моделлю. Така модель має чіткий розподіл обов'язків між клієнтом та сервером та забезпечує належну взаємодію. Розрізняють веброзробку на стороні браузера клієнта – фронтенд (від англ. front-end) – та на стороні сервера – бекенд (від англ. back-end). Фронтенд веброзробка відповідає за верстку коду і генерацію вебсторінки на стороні комп’ютера-користувача, а бекенд – за програмно-адміністративну частину сайту, реалізацію бази даних і програмну логіку коду, який запускається на стороні комп’ютера-сервера.

Додатково застосовуються.

 Оскільки бекенд і фронтенд реалізуються різними програмними засобами, то до бекенд-програмістів та до фронтенд-програмістів висуваються вимоги володіння відповідними засобами їх розробки. Наприклад, бекенд-програміст повинен знати принаймні одну серверну скриптову мову програмування (PHP, Python, Ruby, Java, C#, R, Go, Perl, Lua тощо), програмну платформу Node.js, фреймворки (Symfony, Codeigniter, Yii, Zend Framework, Kohana тощо), щоб за їхньою допомогою на серверній стороні автоматично генерувалася вебсторінка, запит на яку буде сформовано користувачем через відповідну вебадресу у браузері, крім того, він має вміти розробляти додаткові функціональні модулі взаємодії з користувачем та іншими зовнішніми сервісами, реалізувати базу даних та здійснювати запис у неї даних від користувача. До речі, скрипти на стороні сервера можуть бути написані будь-якою серверною скриптовою мовою.

Фронтенд-розробник відповідає за верстку коду і коректність генерації вебсторінки на комп’ютері користувача. Базовими засобами верстки вебсайтів для фронтенду є HTML та CSS. Мова розмітки HTML використовується для формування структури і вмісту вебсторінки, а каскадні таблиці стилів CSS використовуються для стильового оформлення вмісту вебсторінки з детальним формуванням правил відображення (розмір, позиція, колір, стиль тощо) кожного елемента на сторінці. Динамізувати стилі та швидко змінювати глобальні властивості вебсторінок допомагають спеціалізовані CSS-препроцесори, найпоширенішими з яких є SASS та LESS. Так, популярний CSS-препроцесор SASS дозволяє збільшити рівень абстракції CSS-коду, тобто спростити його, знизивши рівень повторюваності, й водночас заощадити час розробки. Перспективний CSS-препроцесор LESS, крім усіх базових можливостей, може розширювати функціонал шляхом системи плагінів.

Крім верстки, фронтенд-програміст (Front-End Developer / Front-End Programmer) має володіти навичками розробки клієнтських скриптів мовою програмування JavaScript (JS), знати принаймні один JavaScript-фреймворк Vue.js, Angular або React Native, вміти застосовувати бібліотеку jQuery та інструменти контролю версій Git, знати веб-технології DOM, AJAX, JSON тощо. Список вимог до знань фронтенд-розробника цим не вичерпується, адже його задачею є розроблення функціонального користувальницького інтерфейсу сайту. Розроблені клієнтські скрипти вбудовуються безпосередньо в HTML-код сторінки і дозволяють краще і швидше взаємодіяти з користувачами, перевіряти коректність даних від них та частково обробляти ці дані ще на боці клієнта без залучення сервера, що суттєво зменшує навантаження на сервер. Нині, все частіше починають виділяти спеціалізації фахівців за конкретними технологіями: jQuery Developer, Backbone Developer, React Developer, Angular Developer тощо.

Крім фронтенд-розробників та верстальників сайтів для розроблення та функціонування сайтів залучаються:

– розробники баз даних (Database Developer), які реалізують функціональну взаємодію сайту з базою даних (БД), наприклад, засобами SQL, мови С# і технологіями ADO.NET, Entity Framework, LINQ to SQL, LINQ to Entities. Також даний фахівець може виступати адміністратором, завданнями якого є проектування та налаштування БД, ефективне використання, оптимізація, забезпечення безпеки даних тощо;

– ASP.NET MVC Developer – вебпрограмісти з розробки серверної частини сайту, задачею яких є формування необхідного контенту з бази даних в потрібних ділянках вебсторінки, автоматизація процесу збору даних про користувачів, описування роботи бізнес логіки на сервері, захист сайту від злому і всіляких DoS та DDoS атак тощо. Інструментами, використовуваними в роботі цих фахівців, крім SQL та HTML&CSS, є технології створення вебзастосунків ASP.NET та ASP.NET MVC, мови програмування С# та JavaScript, Entity Framework тощо;

– вебдизайнери (Front-End Designer / Web Designer / Interface Developer / UI-UX Designer), які розробляють візуальний дизайн сайту та дизайн інтерфейсу;

– Mobile / Tablet Front-End Developer – розробники, що спеціалізуються на мобільних пристроях і володіють знаннями специфіки платформ IOS та Android;

– експерти SEO (SEO/SEM expert), які оптимізують HTML-код до вимог пошукових систем;

– тестувальники (Front-End Testing / QA), обов’язком яких є перевірка і контроль якості функціонування сайтів засобами різноманітних тестів (юніт-тести, функціональні тести, A / B тести тощо);

– FullStack Developer – універсальні експерти з повного циклу веброзробки, які не лише розуміють клієнт-серверну взаємодію, а й здатні особисто створити вебсайт, виконувати завдання фронтенд-програміста та бекенд-розробника паралельно, мають досвід роботи з базами даних, знають асинхронне програмування тощо. Такі фахівці зможуть в разі потреби замінити трьох-чотирьох вузьких фахівців і виконувати найрізноманітніші завдання веброзробки. Існують навіть різні підкатегорії FullStack. Логічно, що FullStack-JS спеціалізується на використанні і на сервері, і на клієнті саме JS та фреймворків на базі NodeJS. Крім того, на сервері можуть використовуватись Ruby, Python, PHP.

Отже, спектр інструментів для розробки вебсайтів дуже широкий. Технології, використовувані у вебпроектуванні постійно оновлюються, а вимоги до функціональності створюваних сайтів відповідно зростають. Це зумовлює високі вимоги до рівня компетентностей фахівців у галузі веброзробки, проте поза сумнівом кваліфіковані веброзробники мають попит на ринку ІТ-праці, позаяк нині важко уявити діяльність будь-якої сучасної організації, компанії чи організації, не пов'язану з інтернетом.