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

Post on 16-Apr-2017

364 Views

Category:

Technology

4 Downloads

Preview:

Click to see full reader

Transcript

Roman IakobchukLifestreet

Real-life React

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

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

А, якщо чесно

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

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

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

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: r.iakobchuk@gmail.comhttp://roma.if.ua

top related