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

394 views

Published on

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

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
394
On SlideShare
0
From Embeds
0
Number of Embeds
155
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

  1. 1. Roman Iakobchuk Lifestreet Real-life React
  2. 2. Як я прийшов в Реакт Мені необхідно було: • Швидкий фреймворк • Зручність роботи з залежними станами • Масштабуємість компонентів • Рішення, що уживатиметься з чим завгодно
  3. 3. А, якщо чесно • Мені було нуднувато • Я вчив функціональне програмування • Реакт був цікавою новинкою
  4. 4. Реакт в стилі FRP • Надійно: чисті функції, іммутабельні данні • Прозоро: декларативний опис UI і бізнес-логіки • Цікаво: прекрасно ламає мозок
  5. 5. Universal apps • Унікально: неочевидно (чи недосяжно) в інших фреймворках • Перспективно: все більше проектів в такому форматі • Цікаво: можливість створювати best-practice
  6. 6. Who cares? • Хто писав FRP-логіку? • Хто розробляв додатки з серверним рендерингом? • Хто робить на React дійсно складні проекти?
  7. 7. Які у вас повсякденні задачі? • Розробка простих SPA: те що вчора було звичайним сайтом • Розумні компоненти: чати, менюшки, редактори… • Підтримка legacy-коду
  8. 8. Інколи React - не ваш варіант • Класичний SPA • Багато імперативних взаємодій • Задача вирішується за годину з jQuery • Важливі переходи між станами, наприклад анімації • В команді немає хороших програмістів
  9. 9. Що відбувається з командою • Заперечення • Гнів • Торг • Депресія • Прийняття
  10. 10. Найбільша проблема
  11. 11. Все не так сумно Історія одного “неправильного” вибору
  12. 12. Як з’їсти слона • Величезний Legacy проект • Технології, котрі вже рік тому не бажали підтримувати • Бажання зберегти мінімальний технологічний стек • Команда прекрасних розробників
  13. 13. Коли Реакт - ідеальне рішення • Багато дрібних компонент • Набір слабкозалежних розумних компонентів • Коли данних значно більше, ніж UI • Для складних задач, що потребують низькорівневих рішень
  14. 14. SPA на React Cons: • Довга дорога до першого результату • Скільки розробників, стільки й підходів • Багато бойлер-плейту Pros: • Гнучкість • Швидкість • Реюзабельність
  15. 15. Злодійський план • Давайте зробимо один апп на Реакті • Давайте виділимо розумні компоненти і використаємо всюди • Давайте поріжемо це на дрібні компонентики і зробимо свою бібліотеку • У нас якось багато елементів на Реакті, давайте все на ньому робити
  16. 16. Результат • Всі нові проекти пишуться на Реакті • Велика кількість складних компонентів переписується на Реакт • Створюється бібліотека стандартних компонентів • Створюється стандартизований data-layer на основі immutable.js
  17. 17. Висновки Pros: • Можливість використовувати де завгодно • Можливість поступового переїзду • Широкий (найширший?) спектр застосування Cons: • Високий поріг входу • Дуже багато писати руками • Відсутність стандартів
  18. 18. Найважливіша порада Завжди, завжди, завжди пишіть propTypes
  19. 19. Робіть круті проекти Роман Якобчук Skype: r.iakobchuk Email: r.iakobchuk@gmail.com http://roma.if.ua

×