
«Розробник React Native — фахівець, який прокидається з гайковим ключем у руках й у мастилі»: скіли для старту й розвитку в професії
React Native — це один із найпопулярніших JS-фреймворків і ключовий інструмент для створення додатків для операційних систем iOS та Android. На його базі створені Instagram, Facebook, Uber Eats, Coinbase та інші, не менш відомі програми.
Розповідаємо, чому варто опановувати React Native, що має знати Junior React розробник для старту в професії, як розвиватися на позиції та які ринкові зарплати пропонують розробникам React Native. На ці та інші запитання відповідають:

- Віктор Чухлов, засновник TenThousand.io — компанії, що розробляє мобільні додатки на iOS і Android та десктопні програми для MacOS, Linux і Windows. Пройшов шлях від розробника до CTO і CEO власної компанії. Крім власне розробки, компанія організовує безоплатне навчання для студентів з React Native Development.

- Олександр Раєнко, React Native Engineer у Grid Dynamics. Має 6+ досвіду в розробці на React Native — від соло-проєктів до роботи Team Lead з командою у 12 розробників для мобайлу. Зокрема розробляв казуальні мініігри з мультиплеєром.
Додатки, створені за допомогою React Native (якими, імовірно, користуєтеся й ви)
Для чого потрібний React Native? Зібрали кілька прикладів популярних у всьому світі програм, створених із використанням фреймворка.
2011 року в компанії Facebook усвідомили, що їм потрібна новіша модель з розширеним інтерфейсом користувача (UI), щоб задовольнити зростаючі потреби програми. Постійні оновлення та розробки вимагали перебудови всієї логіки, тому Джордон Волк, інженер Facebook, створив прототип React JS. Нововведення змінило правила гри компанії. Пізніше, 2015 року, команда розробників випустила React Native — основу для розробки додатків для смартфонів і сайтів.
На початку 2016 року в Instagram почали використовувати React Native, щоб дозволити продуктовим командам швидше викочувати нові функції завдяки спільному використанню коду та вищій швидкості ітерацій — зокрема завдяки можливостям Live Reload і Hot Reloading. Використання React Native дозволило розробникам підвищити швидкість розробки на 85–99%.
Walmart
Американський ритейлер відомий своїми сміливими технологічними рішеннями — і одним із них стало переписати мобільний додаток на React Native. За допомогою фреймворку Walmart написали iOS та Android-версії програми, залучаючи не дві, а одну команду розробників та, відповідно, вдвічі скоротили витрати. Завдяки швидкому циклу розробки команда змогла прискорити дату релізу. Сьогодні у Walmart рекомендують використовувати React Native у мобільній розробці — до того ж усім, від стартапів до компаній Fortune 500.
UberEats
Програма UberEats відрізняється від додатка Uber тим, що містить три складові замість двох (водії і пасажири) — ресторани, партнерів із доставки та покупців. Ця логіка потребувала окремої інформаційної панелі, яка б також враховувала ресторани. Оригінальний підхід моніторингу Uber обмежував можливість передачі важливої інформації ресторанам: йому бракувало доступу до звукових повідомлень та інших вбудованих функцій.
Рішення використовувати React Native фреймворк для панелі керування Restaurants виявилося більш ніж правильним. Оновлена версія інфопанелі стала звичайним інструментом для більшості ресторанів UberEats. Це допомогло розширити клієнтську базу і зробити UberEats одним із топових сервісів доставки їжі в США.
«React Native можна використовувати в будь-яких доменах, крім геймдева та роботи з 3D. Навіть частково AR/VR продукти можна розробляти на цій технології, хоча це радше приємний бонус, ніж основне призначення. Також React Native чудово підходить для POC і MVP-етапів стартапів будь-яких доменів». Олександр Раєнко
«Ми в компанії розробляли на React Native багато мобільних банкінг-додатків і Healthcare-програм для різних країн. Працювали над криптопроєктами, розробляли трейдингову платформу. Уявіть собі, у вас є тисячі валютних пар у реальному часі, і за секунду одна валютна пара може оновитися 5–6 разів. А у вас їх тисячі! Це був дуже highloadʼний проєкт, завдяки React Native він класно працює як на Android, так і на iOS.
Крім того, React Native розробка не обмежується мобільними додатками — ви можете використати його для побудови десктоп-програм». Віктор Чухлов
Ключові обов’язки, челенджі й особливості роботи React Native розробника
React Native Developer — це той, хто відіграє ключову роль у створенні мобільних додатків, які забезпечують плавну роботу на різних платформах. До переліку обовʼязків цих фахівців входить не тільки написання чистого та ефективного коду, а й низка інших завдань, що забезпечують успіх проєкту:
- Проєктування архітектури. Розробники високого грейду визначають структуру та компонування програми для забезпечення масштабованості, зручності підтримки та оптимізації роботи додатка.
- Розробка інтерфейсу користувача (UI). Реалізація інтуїтивно зрозумілого, візуально привабливого інтерфейсу, що передбачає використання готових компонентів React Native, а також індивідуальну розробку компонентів та анімацій.
- Інтеграція із зовнішніми сервісами та API. React Native розробники інтегрують мобільні програми з базами даних, хмарними сховищами, автентифікацією та соціальними мережами, використовуючи API для розширення функціональності та взаємодії з іншими додатками.
- Оптимізація продуктивності. React Native розробник постійно шукає способи покращення продуктивності мобільного додатка, мінімізуючи час завантаження та споживання ресурсів, щоб забезпечити швидку та ефективну взаємодію з користувачем.
«Крім того, React Native Developerʼи часто стикаються з челенджами, які потрібно вміти ефективно долати. Серед них:
- Довготривала підтримка проєкту. Щорічно фреймворк React Native відчутно оновлюється, і інколи доводиться витратити багато часу, щоб оновити проєкт до актуальної версії.
✅ Рішення: щомісяця оновлюватись до актуальної версії, щоб пізніше не було різких стрибків по версіях.
- Оновлення iOS, Android, xCode, Android Studio та сторонніх бібліотек. Трапляється, проєкт, який запускався вчора, сьогодні вже не працює. І при тому на ньому не було жодних змін коду.
✅ Рішення: фіксовані версії бібліотек, синхронізація версій софту серед команди та вимкнення автооновлення iOS, xCode, MacOS, Android.
- Дизайн-системи. React Native розробнику часто доводиться витрачати багато часу на погодження уніфікованої поведінки сторінок, компонентів, шрифтів, а також пошук бібліотек, які легко кастомізувалися б під потрібний дизайн.
✅ Рішення: багато комунікувати з дизайнером/-ами на ранніх етапах». Олександр Раєнко
«Попри плюси React Native, у нас у команді була ситуація кілька років тому, коли Android розмістив на сайті інформацію про те, що видаляє один зі своїх package managerʼів. Це відбувається, тому що компанія має бібліотеки, які існують уже 10 чи навіть 20 років. Деякі з них вже або не підходять для сьогоднішнього обладнання, або не є продуктивними.
Крім того, Android — це компанія Google, де час від часу змінюються структури. Якщо раніше один фреймворк писала одна компанія/команда, зараз цей фреймворк пишуть 2, 3, 4 організації, кожна з яких взяла на себе певну відповідальність. Вона може перейменувати поля й ці пакети вже будуть доступними під іншим namespace. Приклад:
namespace Android → namespace AndroidX
І якщо не перейменувати в себе в namespace цю одну літеру, нічого на проєкті не працюватиме.
Здавалося б, хто відвідує ті сайти Android? Так розробники часто пропускають важливу інформацію. І ось прокидаємось ми зранку й розуміємо, що жоден проєкт не запускається. І те саме відбулося абсолютно по всьому світу. Що робити в такому випадку:
- Пошукати, де плагіни доступні до завантаження. Інтегрувати їх мануально в додаток.
- Створити в компанії репозиторій, продублювавши плагіни. Крім того, зараз існують готові репозиторії у вільному доступі, як-от Forge.
Другий челендж, з яким стикаються розробники в React Native — постійні оновлення версій. Наприклад, зараз використовують версію 0.74, через рік буде 0.85. Між ними — колосальна різниця». Віктор Чухлов
Must-have скіли для роботи React Native розробником: розбір за грейдами
Для того, щоб стартувати в React Native розробці чи перейти на наступний професійний рівень, необхідно прокачати комплекс скілів, які дозволять створювати високоякісні мобільні додатки.
Розберемо, які скіли повинен мати фахівець залежно від рівня.

Junior React Native Developer
React Native Junior має вміти:
- Писати JavaScript код. React Native — фреймворк JavaScript, тому джун повинен знати JavaScript версії ES6 або новіше, зокрема всі його функції та покращення.
- Працювати з React Native. Розробник-початківець повинен розбиратися у фреймворку React Native, його основних компонентах, API та бібліотеках.
- Реалізувати навігацію. Джун має знати основні типи навігації у додатку: push, модальні та інші.
- Працювати із Redux. Це інструмент керування станом, який дозволяє розробникам легко керувати станами, загальними для компонентів, і створювати передбачувані програми, які можуть працювати у різних середовищах. Розробники можуть використовувати різні інструменти керування станом, однак Redux — один із найзручніших і найнадійніших.
- Виконувати налагодження та тестування. Початківці повинні знати основні принципи та бути знайомими з корисними інструментами.
Навіть якщо Native React програміст не має досвіду роботи або ж цей досвід мінімальний, він повинен мати pet-проєкти та відпрацьовувати на них необхідні навички.
Початківець React Native Developer має розробляти UI, підключати бібліотеки в нативному коді, дебажити помилки, мати базове розуміння стейт-менеджменту й кешування, виконувати тестування.
«Я стартував як програміст (PHP-розробник) понад 10 років тому. Пізніше почав працювати з технологіями на JS, і вже через кілька років презентували фреймворки React, Vue, Angular, а ще пізніше — React Native. Памʼятаю, розробники почали їх вивчати безпосередньо на практиці, оскільки гайдів на той час не існувало. Усі брали, щось робили, потім намагалися аналізувати, що не так і як усунути проблеми.
Наш шлях був геть інший, не такий, як у людей, які сьогодні працюють із цією ж технологією. Доводилося паралельно вивчати кілька мов програмування: Objective-C для того, щоб писати на iOS власні модулі, і Java для того, щоб підтримувати Android (зокрема Gradle, R8, ProGuard — тобто вивчали не лише три мови, а й низку фреймворків). Зараз, із появою великої кількості спеціалізованих курсів, а також безкоштовної інформації у відкритому доступі, вивчити React Native значно легше — хоча це все одно потребує неабияких зусиль». Віктор Чухлов
А як щодо переходу в React Native з інших технологій? За словами Олександра Раєнка, перехід у React Native розробку — наприклад, з React — досить плавний: якщо ви знайомі з React і маєте базові знання CSS — різниця з вебом мінімальна. Патерни, бібліотеки, підходи аналогічні веброзробці з використанням React. Крім того, сьогодні майже на всі випадки життя є готові рішення та відеоінструкції.
Middle React Native Developer
Розробники middle-рівня — це фахівці, які мають досвід роботи над кількома різними проєктами, а також скіли розвʼязання проблем різної складності та інші прокачані soft skills програміста. Вони самостійніші та потребують меншого контролю, ніж джуни. Однак розробники middle-рівня все ще не можуть ухвалювати важливих рішень щодо додатка чи продукту.
Middle React Developer — що повинен знати і робити фахівець цього рівня:
- Оптимізувати продуктивність. Middle React Native Developer має знати найпоширеніші підходи до оптимізації продуктивності та пропонувати ідеї про те, як оптимізувати продуктивність різних типів додатків.
- Розробляти спеціальні функції мобільних пристроїв. Фахівці Middle React Native повинні вміти працювати з камерою, мікрофоном, GPS та гіроскопом.
- Зберігати дані та кешувати їх в автономному режимі. Важливо бути знаймомими з різними типами баз даних (реляційними, нереляційними) та бібліотеками для роботи з ними. Їм необхідно знатися на нюансах автономного кешування даних та рішеннях, коли краще використовувати готовий код, а коли доцільніше створювати логіку кешування з нуля.
- Інтегруватися із зовнішніми сервісами. Розробники Middle React Native повинні бути знайомі з особливостями інтеграції сторонніх сервісів (Google, Facebook, PayPal) та розуміти, як розширити функціональність мобільних програм.
А ще Middle-розробник, який працює з React Native, повинен мати уявлення про CI/CD, вміти користуватися Play Console, App Store Connect, налаштовувати push-повідомлення, працювати з камерою, доступами, інструментами для авто-тестування, створювати складні анімації.
Senior React Native Developer
Senior-розробник вже «обріс» знаннями й навичками в галузі розробки на React Native та може похвалитися великою кількістю успішно запущених програм. Крім того, розробники цього рівня мають досвід навчання новачків та прокачані soft-скіли — зокрема тайм-менеджменту в IT.
Серед обовʼязків і навичок розробника React Native рівня Senior:
- Бути ментором/бадді та організовувати ефективний робочий процес команди розробників. Senior-розробник повинен розуміти різницю між різними підходами до розробки програмного забезпечення, вміти обґрунтувати використання підходу для конкретного проєкту та — за необхідності — підтримувати команду при переході до нового робочого процесу.
- Брати участь у дослідженнях та обговореннях, ділитися ідеями щодо архітектурних рішень для подальшої розробки. Архітектура програми має бути заздалегідь продумана відповідно до вимог бізнесу та технічних вимог проєкту. Senior-розробник може брати участь у розробці архітектури програми спільно з Tech Lead/Architect, це одне з найважливіших рішень для проєкту.
- Проводити інтервʼю з кандидатами (nice-to-have). Якщо в компанії немає тимліда, обовʼязки з проведення співбесід з іншими React Native розробниками можуть лягти на сініора. У нього вже достатньо досвіду, щоб оцінити бекграунд і технічні знання кандидатів.
«На цьому рівні вже зазвичай досить досвіду, щоб розробити будь-який мобільний додаток. Проте головна задача вже не полягає лише в розробці, а в тому, щоб, ґрунтуючись на власному досвіді й знаннях, допомогти клієнту та дизайнеру уникнути помилок ще на стадії погодження технічного завдання». Олександр Раєнко
«У Senior React Native Developer уже не повинно бути таких слів, як “Я не знаю”, “Я не вмію” чи “Я не можу (щось знайти/зробити)”. Сініору може прилетіти нетривіальний запит, і в інтернеті не буде до нього опису, документації чи варіантів рішення. Завданням спеціаліста буде знайти шлях реалізації рішення.
Наостанок, розробник цього рівня повинен доносити інформацію й оформлювати технічну документацію так, щоб людина, яка читає цю інформацію чи слухає фахівця, розуміла, про що йдеться й як цим усім користуватися». Віктор Чухлов
Зарплатня React Native програміста та перспективи професії
Розробники React Native мають одну з найвищих зарплат серед розробників. Наприклад, у США, за даними Glassdoor, фахівці у середньому заробляють близько $8 тис. на місяць. У Німеччині середній дохід розробників складає майже $6 тис., у країнах Східної та Центральної Європи (наприклад, у Болгарії) — $3–7 тис. За даними Djinni, в Україні React Native developer у середньому заробляє $2–4 тис.
А ще, за даними Бюро статистики праці США, потреба в розробниках програмного забезпечення може зрости на 26% з 2022 по 2032 рік — зокрема через тенденції у попиті на нові програми для смартфонів та інші мобільні пристрої.
«У моїй уяві React Native розробник — фахівець, який щодня прокидається з гайковим ключем у руках і з голови до пʼят у мастилі. Це дуже челенджева технологія, проте той, хто подолає всі труднощі й барʼєри, зрозуміє, що це технологія майбутнього, і зможе заробляти $8–10 тис. на місяць». Віктор Чухлов
«Розвиток у професії та перспектива високого доходу доступні лише за умови, якщо фахівець постійно підтримує актуальність знань і скілів. Це можливо зокрема завдяки розробці пет-проєктів.
React Native розробнику раджу також не зациклюватись винятково на React Native чи суто мобільній розробці. Альтернативні технології (Flutter, PWA), вивчення бекенд-частини, робота з ШІ стануть у пригоді й розширять погляди навіть на тривіальні задачі». Олександр Раєнко
Наскільки корисним був цей пост?
Click on a star to rate it!
Середній рейтинг 5 / 5. Кількість голосів: 2
Оцінок поки немає! Будьте першим, хто оцінить цю публікацію.



