Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Даниил Соколюк «ReactJS.NET — опыт рендеринга на сервере »

DotNetRu
October 12, 2017

Даниил Соколюк «ReactJS.NET — опыт рендеринга на сервере »

Поговорим что такое React и зачем он нужен разработчикам, разберемся что такое ReactJS.NET и JavaScriptServices. Обсудим как интегрировать React компоненты в существующую Razor разметку или даже в WebForms. Расскажем о том какие проблемы с производительностью существуют при серверном рендеринге компонентов и как их решать.

DotNetRu

October 12, 2017
Tweet

More Decks by DotNetRu

Other Decks in Programming

Transcript

  1. Требования Разработчики Быструю загрузку страницы Богатую функциональность SEO 1 2

    3 Низкий порог вхождения Тестируемый код 2 Переиспользование компонентов 3 1 Свобода действий 4 Пользователи и бизнес Быстрое внедрение новых фич 4
  2. ReactJS.NET In Process rendering (V8, ChakraCore...) ASP MVC (3, 4,

    5), ASP.NET Web Forms, Nancy, ASP .NET Core Постепенный переход на SPA Out of Process rendering (Node.JS) ASP .NET Core SPA ориентированный подход JavaScriptServices ✓ ✓ ✓ ✓ ✓ ✓
  3. JavaScriptEngineSwitcher Google V8 Windows Microsoft (ClearScript) / Google Немного быстрей

    Widnows, Linux, OS X Microsoft Microsoft ChakraCore ✓ ✓ ✓ ✓ ✓
  4. Pipeline отрисовки компонентов Отрендерить компонент Уничтожить инстанс движка при необходимости

    Вызвать Garbage Collection при необходимости Ввернуть движок в пул Взять инстанс движка из пула, если нет свободных то создать его 1 2 3 4 5 Шаг 1 Шаг 2 Шаг 3 Шаг 4 Шаг 5
  5. Новый Pipeline отрисовки компонентов Отрендерить компонент Запланировать вызов GC при

    необходимости или возвращаем в пул Вызвать Garbage Collection Ввернуть движок в пул Взять инстанс движка из пула 1 2 3 1 2 Шаг 1 Шаг 2 Шаг 3 В отдельном потоке