17
React в реальному житті Роман Якобчук

JS Lab`16. Роман Якобчук: "React в реальной жизни"

Embed Size (px)

Citation preview

React в реальному життіРоман Якобчук

Як я прийшов в Реакт

• Мені потрібен був фреймворк, що легко уживатиметься з чим-завгодно

Але, якщо чесно:• Мені було нуднувато• Я вчив функціональне програмування• Реакт був цікавою новинкою

Реакт в стилі FRP

• Це цікаво• Надійно• Прозоро

Universal apps

• Це цікаво)• Неочевидно (чи недосяжно) в інших фреймворках• Можливість створювати best-practice

Who cares?

• Хто писав FRP-логіку?• Хто розробляв додатки з серверним рендерингом?• Хто робить на React дійсно складні проекти?

Які у вас повсякденні задачі?

• Розробка простих SPA• Розумні компоненти• Підтримка legacy-коду

Коли React - не ваш варіант

• Класичний SPA• Багато взаємодії “по горизонталі”• Ваша задача вирішується за годину з jQuery• Важливі переходи між станами, наприклад анімації• В команді немає хороших програмістів

Чи не зовсім?

Історія одного “неправильного” вибору

Як з’їсти слона

• Величезний Legacy проект• Технології, котрі вже зараз не бажають підтримувати• Бажання зберегти мінімальний технологічний стек• Команда прекрасних розробників

Коли Реакт - ідеальне рішення

• Багато дрібних компонент• Набір слабкозалежних розумних компонентів• Коли данних значно більше, ніж UI• Для складних задач, що потребують низькорівневих рішень

SPA на React

Cons:• Довга дорога до першого результату• Багато бойлер-плейтуPros:• Гнучкість• Швидкість• Реюзабельність

Що відбувається з командою

• Заперечення• Гнів• Торг• Депресія• Прийняття

Злодійський план

• Давайте зробимо один апп на Реакті• Давайте виділимо розумні компоненти і використаємо всюди• Давайте поріжемо це на дрібні компонентики і зробимо свою бібліотеку• У нас якось багато елементів на Реакті, давайте все на ньому робити

Результат

• Всі нові проекти пишуться на Реакті• Велика кількість складних компонентів переписується на Реакт• Створюється бібліотека стандартних компонентів• Створюється стандартизований data-layer на основі immutable.js

Висновки

Pros:• Можливість використовувати де завгодно• Можливість поступового переїзду• Широкий (найширший?) спектр застосуванняCons:• Високий поріг входу• Відсутність стандартів

Найважливіша порада

Завжди, завжди, завжди пишіть propTypes

Робіть круті проекти

Роман ЯкобчукSkype: r.iakobchukEmail: [email protected]://roma.if.ua