19
Roman Iakobchuk Lifestreet Real-life React

Роман Якобчук "Real-life React"

  • Upload
    fwdays

  • View
    364

  • Download
    4

Embed Size (px)

Citation preview

Page 1: Роман Якобчук "Real-life React"

Roman IakobchukLifestreet

Real-life React

Page 2: Роман Якобчук "Real-life React"

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

Мені необхідно було:• Швидкий фреймворк• Зручність роботи з залежними станами• Масштабуємість компонентів• Рішення, що уживатиметься з чим завгодно

Page 3: Роман Якобчук "Real-life React"

А, якщо чесно

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

Page 4: Роман Якобчук "Real-life React"

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

• Надійно: чисті функції, іммутабельні данні• Прозоро: декларативний опис UI і бізнес-логіки• Цікаво: прекрасно ламає мозок

Page 5: Роман Якобчук "Real-life React"

Universal apps

• Унікально: неочевидно (чи недосяжно) в інших фреймворках• Перспективно: все більше проектів в такому форматі• Цікаво: можливість створювати best-practice

Page 6: Роман Якобчук "Real-life React"

Who cares?

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

Page 7: Роман Якобчук "Real-life React"

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

• Розробка простих SPA: те що вчора було звичайним сайтом• Розумні компоненти: чати, менюшки, редактори…• Підтримка legacy-коду

Page 8: Роман Якобчук "Real-life React"

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

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

Page 9: Роман Якобчук "Real-life React"

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

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

Page 10: Роман Якобчук "Real-life React"

Найбільша проблема

Page 11: Роман Якобчук "Real-life React"

Все не так сумно

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

Page 12: Роман Якобчук "Real-life React"

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

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

Page 13: Роман Якобчук "Real-life React"

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

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

рішень

Page 14: Роман Якобчук "Real-life React"

SPA на React

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

Page 15: Роман Якобчук "Real-life React"

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

• Давайте зробимо один апп на Реакті• Давайте виділимо розумні компоненти і використаємо

всюди• Давайте поріжемо це на дрібні компонентики і зробимо

свою бібліотеку• У нас якось багато елементів на Реакті, давайте все на

ньому робити

Page 16: Роман Якобчук "Real-life React"

Результат

• Всі нові проекти пишуться на Реакті• Велика кількість складних компонентів переписується на

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

immutable.js

Page 17: Роман Якобчук "Real-life React"

Висновки

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

Page 18: Роман Якобчук "Real-life React"

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

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

Page 19: Роман Якобчук "Real-life React"

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

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