Содержимое
React Forget Status Update React Forget презентовали почти 2 года назад , но с тех пор про него ничего не было слышно. На столько ничего, что на реддите даже появился пост Did the React team forget the React Forget compiler? в который пришёл один из разработчиков и рассказал в чём сложность разработки и почему это занимает столько времени. Он же выступил пару недель назад на React India с докладом Statically analysing react components for fun and profit, в котором чуть подробней рассказал тоже самое, что и на реддите. А два дня назад ещё двое ребят выступили на React Advanced. И вот этот доклад прям интересный! Во-первых, показали как выглядит внутренний playground для разработки (что-то в духе бабеля и тайпскрипта). Т.е. React Forget действительно существует и работает. Во-вторых, поделились опытом использования в Quest Store (приложение для VR-шлема): — смена табов стала работать на 150% быстрее — загрузка страницы на 4-12% быстрее — показали на сколько ре-рендер приложения становится эффективне (см. скрины) В-третьих, рассказали, что react forget обкатывают и в инстаграме. Т.к. это веб, то здесь появлется вопросы производительности, на которые сейчас ищут ответы: — в результате компиляции кода становится больше, как это сказывается на старте приложения? Как сильно? На сколько этим можно пожертвовать? — из-за повсеместной мемоизации увеличивается потребление памяти. Как с этим справляются дешевые андроид смартфоны? В-четвёртых, немного прояснили таймлайн разработки: 1. Proof of concept 2. Работающий компайлер (в большинстве случаев) 3. Тестирование в нескольких продуктах — мы сейчас находимся здесь 4. Релиз во всех продуктах Meta 5. Публичный релиз В-пятых, подтвердили что ультимативная цель — избавиться от всех API с мемоизацией: useMemo, memo, useCallback. В-шестых, рассказали, что сейчас React Forget существует в качестве Babel плагина, но потенциально его будет легко (или не очень) перенести на другие инструменты. P.S. Fun fact: пост про React Forget самый популярный в канале, 11к просмотров.