Назад

Чому важливо вивчати джаваскрипт, а не фреймворки?

html code

Джерело фото: https://goo.su/L6KTXS

Припиніть вивчати фреймворк, станьте JavaScript-розробником!

— Здрастуйте, я водій КАМАЗу!
— Доброго дня, на жаль, у нашому автопарку лише ЗІЛи, покличте наступного кандидата, будь ласка!

Дивний діалог, чи не так? Адже очевидно, що основним професійним «скілом» водія є вміння керувати транспортним засобом. Яким конкретно питання, за великим рахунком, вторинне. Всім привіт, це Макс Кравець із Holyweb, і сьогодні ми поговоримо про те, чому фронтенд-розробнику важливо вчити JavaScript, а не фреймворк чи бібліотеку.

У чому взагалі проблема?

Як не дивно, у технічному прогресі. Сучасні фреймворки (навіть якщо самі їх творці наполягають на терміні «бібліотека») мають дуже низький поріг початкового входу.

Для того, щоб поповнити свій особистий «цвинтар велосипедів» шляхом створення чергового ToDo – знань як таких не потрібно взагалі. У поєднанні з великою кількістю в інтернеті навчальних матеріалів і прикладів створення базових додатків це призводить новачка в веб-розробці до простого і логічного рішення: "Ні до чого мені розбиратися з JS, краще я витрачу час на вивчення фреймворку".

Що далі? Репозиторій на GitHub, пара пет-проектів, зроблених на базі переглянутих курсів, розсилка резюме, запрошення на співбесіду. Закінчується все обуреними репліками в профільних чатах: "Я їм показую свою соцмережу, яку зробив один за два місяці, а вони мене просять розповісти про Event loop. Їм розробники потрібні чи теоретики?"

Без знання JavaScript джун приречений стати Ждуном

Зосередившись лише на фреймворку, можна навчитися клепати однотипні проекти за заздалегідь заданим шаблоном. Цього навіть може вистачити для місцевого веб-продакшну. Але варто зробити крок убік, і вже потрібне розуміння того, як все влаштовано «під капотом». А всередині улюбленого фреймворку чи бібліотеки ми виявимо цей JS. Залишається або чекати на просвітлення (дивися заголовок статті), або ставати не React (Angular, Vue, etc), а JS-розробником.

Але не копатимемо так глибоко, візьмемо просту ситуацію з реального життя. Ви написали компонент, використовуючи свій улюблений фреймворк, запросили з бек дані і навіть отримали їх. А тепер - відсортуйте, щоб вивести у зручному користувачеві порядку та додайте фільтри до смаку.

стартап
Джерело: https://goo.su/RrKLgS

Що? Для цього фреймворк не надав інструментів? Правильно, це не його робота! Для маніпуляцій з отриманими даними вам знадобляться знання JavaScript та класичних алгоритмів.

Фронтендом світ веб-розробки не обмежується!

Кому легше знайти роботу: тому, хто вміє робити лише ліві черевики, лише праві, чи тому, хто може зробити пару, яку можна носити? Додаток - це не фронт, не бек і не дані окремо. Це єдине ціле.

Express, Next, NestJS допоможуть запустити сервер, PassportJS дасть методи для авторизації, TypeORM допоможе організувати взаємодію з базою даних, RxJS відкриє світ реактивного програмування, Nx дозволить об'єднати все це в рамках єдиного монорепозиторію, Apollo побудує запити GraphQL, а NgRx - станом програми…

Набір бібліотек може змінюватись, як і необхідна архітектура. Не зміниться суть - все це доступно розробнику, який знає JavaScript. Хочете бути затребувані як фахівець? Якщо так, то ви вже здогадалися, до якого висновку я вас підводжу.

Знання JavaScript – це свобода вибору

Ми в нашій компанії займаємося аутстафінгом IT-компетенцій – формуємо команди фахівців та посилюємо ними внутрішні відділи розробки клієнтів на строк від півроку під один проєкт. Після чого приходить черга іншого замовника.

Що це означає практично для розробника? Можливість за недовгий час взяти участь у розробці кількох великих проектів у різних сегментах – це раз. Швидке зростання скілів за рахунок «обертання в різних колах» — це два. Що потрібно від розробника? За великим рахунком, дивись назву статті.

Зауважте - ми говоримо про JavaScript-команду. І шукаємо, відповідно, JS-розробників. Чому? Та тому, що знання JS дозволяють швидко вникнути у будь-який фреймворк чи бібліотеку. Адже у своїй основі всі вони лише обгортки над самою мовою. Вважатимемо, що я вас переконав. І що з цією переконаністю робити? Як вивчити JavaScript у достатньому обсязі за розумний час?

Ті славні дні, коли розробник-початківець зобов'язаний був накодувати свій HelloWorld, ToDo і «блог з адмінкою», вже пройшли. Сьогодні головний експонат особистого музею велосипедобудування фронтендера, що поважає себе, — власний фреймворк на чистому JS без зовнішніх залежностей.

Навіть якщо не вдасться скласти конкуренцію лідерам (хоча як знати, як знати!), сам процес пошуку своїх рішень дасть вам безцінний досвід та розуміння не тільки того, як влаштовані сучасні фреймворки, а й чому вони зроблені саме так. А головне — ви будете усвідомлено і завжди писати на JavaScript, використовуючи необхідний у конкретному проекті фреймворк як лише один із інструментів.