title: Викинь ти той React class: hero # Викинь
ти той React --- # Про що мова - Чому React захопив світ - Чому ми від нього відмовляємось - Як це відбувається - Демо, як воно в реальності працює на Касті - Питання --- # Нащо React (відносно jQuery) - Когезія вища - Зв'язність нижча - Краща локалізація коду - **`view = f(state)`** --- # Ситуація в Касті - React + ClojureScript - Працюючий і швидкий server-side rendering - Глобальне сховище з підписками на дані в компонентах - Підгрузка даних на маунті компонентів - Developer Experience 5+ --- # Oops - Google PageSpeed в каталозі - 7/100 - `main.min.js` - 2.5MB - Якщо ділити на модулі, то головний ~1.3-1.5MB - Швидкість активації сайту після завантаження... - Customer Experience 2- --- # Embrace HTML - Браузери його малюють дуже швидко! - Але він дуже обмежений - HTTP запит тільки по кліку на посилання або відправкою форми - HTML замінюється тільки повною сторінкою --- # Enhance HTML - Хочеться замінювати частинами - На різних івентах - В різних елементах - **Без селекторів** --- # TwinSpark - Що робити, вказано в атрибутах елементів - Рендерінг тільки на сервері - Непогана когезія - Перейти з нашої моделі рендерінгу **просто** --- # Результати - `bundle.min.js` 92KB **увесь** - HTML **зменшився** в 2.5 рази - 900 строк Твінспарку і 1300 кастомного коду - 78/100 балів від PageSpeed - На мобільному вебі і клієнтів більше, і конверсія кращє --- # Проблеми - Вигляд - це більше не функція від стану - Підхід до написання екшенів ще формується - Дебаг інший --- class: hero # Час глянути
в код!