Использует ли Netflix React?
Краткое содержание
В этой статье мы рассмотрим, как Netflix улучшила их передние показатели, переключившись на Vanilla JS. Netflix решил использовать React в качестве шаблонного двигателя на стороне сервера и ванильного JS для взаимодействия и манипуляций с DOM в браузере. Это позволило им уменьшить размер своего пакета JavaScript и улучшить общую производительность.
1. Как Netflix улучшила свою интерфейс?
Netflix улучшила свою переднюю производительность, переключившись на Vanilla JS для взаимодействия и манипуляции с DOM в браузере. Они по-прежнему используют React в качестве механизма шаблона на стороне сервера.
2. Почему Netflix решил переключиться на ваниль JS?
Netflix переключился на Vanilla JS, чтобы уменьшить размер своего пакета JavaScript и повысить общую производительность. Это решение позволило им устранить ненужные накладные расходы на использование React в браузере.
3. Сколько JavaScript изначально содержала страницу Netflix?
Страница Netflix изначально содержала 300 КБ JavaScript, который включал React и другой код на стороне клиента, а также данные контекста, необходимые для гидрата REACT.
4. Почему уменьшается размер JavaScript, важен для передовой производительности?
Уменьшение размера JavaScript важно для производительности фронта, потому что он может уменьшить время, необходимое для загрузки браузера и проанализировать код. Меньшие пакеты JavaScript приводят к более быстрому времени загрузки и лучшему пользовательскому опыту.
5. Каково преимущество использования React в качестве шаблонного двигателя на стороне сервера?
Использование React в качестве шаблонного двигателя на стороне сервера позволяет динамическому рендерингу HTML на сервере, что может улучшить производительность и SEO. Это также позволяет использовать повторное использование кода между сервером и клиентом.
6. Как переключатель Netflix на ваниль JS повлиял на их передовую производительность?
Переключение Netflix на Vanilla JS значительно улучшил свою переднюю производительность. Удаляя накладные расходы React в браузере, они смогли уменьшить размер пакета JavaScript и улучшить время нагрузки.
7. Какой подход использовал Netflix, чтобы повысить свою интерфейсную производительность?
Используемый Netflix React в качестве шаблонного двигателя на стороне сервера и ванильного JS для взаимодействия и манипуляций с DOM в браузере. Этот подход позволил им сбалансировать производительность и обслуживаемость.
8. Как уменьшить размер javaScript Bundles Пользователи?
Сокращение размера пакетов JavaScript может принести пользу пользователям, улучшив время загрузки страниц, уменьшая использование данных и предоставление более плавного опыта просмотра.
9. Каково значение решения Netflix переключиться на ваниль JS?
Решение Netflix переключиться на Vanilla JS демонстрирует важность оптимизации эффективности фронта, даже для крупных компаний. Он подает пример для других разработчиков и организаций, стремящихся улучшить свои собственные веб -приложения.
10. Что разработчики могут научиться из передовых улучшений производительности Netflix?
Разработчики могут узнать важность оценки и оптимизации кода JavaScript для лучшей производительности. Они также могут рассмотреть возможность использования рендеринга на стороне сервера с такими фреймворками, как React, для повышения производительности и пользовательского опыта.
11. Как использование React в качестве серверной шаблоны двигателя Benefit SEO?
Использование React в качестве механизма шаблона на стороне сервера позволяет динамическому рендерингу HTML на сервере, что может улучшить SEO, предоставляя поисковые системы с полным разрешением контента, а не полагаться на выполнение JavaScript.
12. Какие другие технологии использовали Netflix в своем стеке переднего интерфейса?
В статье не упоминаются конкретные технологии, но в ней подчеркивается переход на ванильный JS для взаимодействия фронта. Вполне возможно, что Netflix использовал другие инструменты и библиотеки в своем стеке переднего класса.
13. Как разработчики могут измерять производительность фронта?
Разработчики могут измерить производительность фронта, используя такие инструменты, как Lighthouse, WebPageTest и Chrome Devtools. Эти инструменты дают представление о метрик, таких как время загрузки страниц, размеры активов и сетевая активность.
14. Каковы преимущества использования ванильного JS для фронтальной разработки?
Использование ванильного JS для фронтальной разработки может привести к более быстрому времени нагрузки, уменьшению размеров пакета, улучшению производительности и большему контролю за кодовой базой. Это также устраняет необходимость дополнительных зависимостей и накладных расходов, представленных такими рамками, как React.
15. Как разработчики могут оптимизировать свой код JavaScript для повышения производительности?
Разработчики могут оптимизировать свой код JavaScript, минимизируя и сжав его, уменьшая ненужные зависимости, код ленивого загрузки и использование таких методов, как разделение кода и кэширование. Они также могут расставить приоритеты в критическом пути рендеринга и минимизировать ресурсы блокировки рендеринга.
Как Netflix значительно улучшила свою переднюю конечную производительность, переключившись на ваниль JS
Простой клон Netflix с использованием API React и TMDB для вытягивания фильмов/телешоу
Netflix
Клон Netflix с полным стеком с React, NextJS, TailWindcss, Prisma и Mongodb
Клон Netflix с полным стеком с React, NextJS, TailWindcss, Prisma и Mongodb
03 мая 2023 года
Клон целевой страницы Netflix с React.младший
Клон целевой страницы Netflix с React.младший
27 апреля 2023 года
Проект FullStack Netflix Clone с NextJs
Проект FullStack Netflix Clone с NextJs
06 апреля 2023 года
Fullstack Netflix Clone с NextJs и Tailwind CSS
Fullstack Netflix Clone с NextJs и Tailwind CSS
18 марта 2023 года
Клон Netflix, изготовленный в React и используя Vite
Клон Netflix, изготовленный в React и используя Vite
01 ноября 2022 года
Клон Netflix с использованием ReactJS, TMDB API, Firebase
Клон Netflix с использованием ReactJS, TMDB API, Firebase
02 октября 2022 года
Netflix UI -клон, сделанный с ReactJS и Pure CSS
Netflix UI -клон, сделанный с ReactJS и Pure CSS
07 сентября 2022 года
Веб -сайт Clone Netflix с использованием React
Веб -сайт Clone Netflix с использованием React
29 августа 2022 года
Клон Netflix с использованием React18, TypeScript, Material UI и API TMDB
Клон Netflix с использованием React18, TypeScript, Material UI и API TMDB
22 августа 2022 года
Упрощенный передний клон Netflix, созданный с React и CSS
Упрощенный передний клон Netflix, созданный с React и CSS
01 августа 2022 года
Netflix Clone с использованием React JS
Netflix Clone с использованием React JS
12 июля 2022 года
Netflix Clone с React JS и Firebase
Netflix Clone с React JS и Firebase
06 июля 2022 года
Усовершенствованный видеоиплейер со стилем Netflix на основе плагина React-Player
Создайте видеоплеер Netflix с React-Player, TypeScript и Styled-Components.
30 июня 2022 года
Netflix Clone, построенный в следующем.JS и Tailwind CSS
Netflix Clone, построенный в следующем.JS и Tailwind CSS
10 июня 2022 года
Клон Netflix, который построен с ReactJs
Клон Netflix, который построен с ReactJs
03 мая 2022 года
Clone Netflix, сделанный с React, HTML, CSS
Clone Netflix, сделанный с React, HTML, CSS
17 марта 2022 года
Клон Netflix, изготовленный с использованием компонентов React, Firebase, Firestore и Styledeled
Клон Netflix, изготовленный с использованием компонентов React, Firebase, Firestore и Styledeled
26 февраля 2022 года
Простой клон Netflix с использованием ReactJS
Простой клон Netflix с использованием ReactJS
17 февраля 2022 года
Клон Netflix, созданный с использованием React
Клон Netflix, созданный с использованием React
03 февраля 2022 года
Клон пользовательского интерфейса Netflix с ReactJs для изучения
Клон пользовательского интерфейса Netflix с ReactJs для изучения
27 января 2022 года
Клон Netflix, созданный с использованием React.младший
Клон Netflix, созданный с использованием React.младший
21 января 2022 года
Просто клон Netflix с использованием ReactJS. Он получает данные из API TMDB
Просто клон Netflix с использованием ReactJS. Он получает данные из API TMDB
26 декабря 2021 года
Простой клон HomePage Netflix Netflix с использованием Astra DB и GraphQL
Простой клон HomePage Netflix Netflix с использованием Astra DB и GraphQL
21 декабря 2021 года
Приложение для клона Netflix, сделанное с помощью React+TypeScript
Приложение для клона Netflix, сделанное с помощью React+TypeScript
15 декабря 2021 года
Полный стек Netflix App Clone с использованием react native и aws amplify
Полный стек Netflix App Clone с использованием react native и aws amplify
28 ноября 2021 года
Проект образца Netflix, построенный с React
Проект образца Netflix, построенный с React
27 ноября 2021 года
Простой клон Netflix с использованием API React и TMDB для вытягивания фильмов/телешоу
Простой клон Netflix с использованием API React и TMDB для вытягивания фильмов/телешоу
17 ноября 2021 года
Netflix HomePage Clone с использованием React JS
Netflix HomePage Clone с использованием React JS
15 ноября 2021 года
Простой клон Netflix с использованием API React и TMDB для вытягивания фильмов/телешоу
Простой клон Netflix с использованием API React и TMDB для вытягивания фильмов/телешоу. Использует пользовательский интерфейс для фронта.
15 ноября 2021 года
Главная страница клона Netflix, созданного с использованием React
Главная страница клона Netflix, созданного с использованием React
08 ноября 2021 года
Netflix Clone, построенный с React JS и аутентифицирован с помощью Firebase
Netflix Clone, построенный с React JS и аутентифицирован с помощью Firebase
Как Netflix значительно улучшила свою переднюю конечную производительность, переключившись на ваниль JS
Netflix не сделал’T Полностью Дерча реагируйте. Они по -прежнему используют его на сервере, чтобы создать свой начальный HTML.
Но они избавились от этого в браузере, если бы это было нанесло ущерб.
я думаю что’S отличный подход. Реагировать как механизм шаблона на стороне сервера. Vanilla JS для взаимодействия и манипуляции с DOM в браузере.
Эта страница изначально содержала 300 КБ JavaScript, некоторые из которых были React и другой код на стороне клиента (например, библиотеки утилиты, такие как Lodash), и некоторые из которых были данными контекста, необходимыми для гидрата React’S государство.
300 КБ JS! Yikes!
Независимо от этого, это’S, приятно видеть такую крупную компанию, как Netflix, делает прыжок в ваниль JS. Чтобы копаться в сумасшедшем, как они это сделали, иди прочитать Адди’S статья.
�� Flash Sale! Только на этой неделе получите скидку 50% на каждый курс JavaScript и электронную книгу. Узнайте больше на Vanillajsguides.компонент.
Ненавижу сложность современной веб -разработки? Я отправляю короткое электронное письмо каждый будний день о том, как создать более простую, более устойчивую сеть. Присоединяйтесь к 14 тысячам других.
Сделано с ❤ в Массачусетсе. Если не указано иное, весь код бесплатно использовать по лицензии MIT. Я также очень нерегулярно делюсь некодирующими мыслями.
Создание высокопроизводительного пользовательского интерфейса TV с помощью React
Интерфейс Netflix TV постоянно развивается, поскольку мы стремимся выяснить лучший опыт для наших участников. Например, после тестирования A/B, исследования по отслеживанию глаз и отзывы клиентов мы недавно развернули предварительные просмотры видео, чтобы помочь участникам принимать лучшие решения о том, что смотреть. Мы’Ранее было написано о том, как наше телевизионное приложение состоит из SDK, установленного на устройстве, приложения JavaScript, которое можно обновить в любое время, и слоя рендеринга, известного как Gibbon. В этом посте мы’Выделите некоторые стратегии, которые мы’ve использует на этом пути оптимизировать эффективность нашего приложения JavaScript.
Реакция-гиббон
В 2015 году мы приступили к оптовому переписыванию и модернизации нашей архитектуры телевизионного пользовательского интерфейса. Мы решили использовать React, потому что его односторонний поток данных и декларативный подход к разработке пользовательского интерфейса облегчает рассуждение о нашем приложении. Очевидно, мы’D нужен наш собственный вкус реагирования, так как в то время он только нацелен на DOM. Мы смогли создать прототип, который довольно быстро нацелен на Гиббона. Этот прототип в конечном итоге превратился в React-Gibbon, и мы начали работать над созданием нашего нового пользовательского интерфейса на основе React.
Реакция-гиббон’S API был бы очень знаком всем, кто работал с React-Dom. Основное отличие состоит в том, что вместо DOV, пролетов, входов и т. Д. У нас есть один “виджет” Рисование примитив, которое поддерживает встроенный стиль.
Реагировать.CreateClass (render () return> />;
>
>);
Производительность – ключевая задача
Наше приложение работает на сотнях различных устройств, от последних игровых консолей, таких как PS4 Pro до бюджетных устройств потребительской электроники с ограниченной памятью и мощностью обработки. Машины низкого уровня, на которые мы нацеливаемся, часто могут иметь одноъядерные процессоры Sub-GHZ, низкая память и ограниченная графическая ускорение. Чтобы сделать вещи еще более сложными, наша среда JavaScript-более старая не JIT версия JavaScriptCore. Эти ограничения делают супер-чувствительные 60-кадры, особенно сложные и стимулируют многие различия между реакцией-гиббоном и реагированием.
Измерить, измерять, измерить
При приближении к оптимизации производительности это’Важно сначала определить метрики, которые вы будете использовать для измерения успеха ваших усилий. Мы используем следующие метрики, чтобы оценить общую производительность приложения:
- Отзывчивость ввода ключей – время, необходимое для того, чтобы сделать изменение в ответ на нажжение клавиши
- Время до интерактивности – время для запуска приложения
- Кадры в секунду – консистенция и гладкость наших анимаций
- Использование памяти
Стратегии, изложенные ниже, в первую очередь направлены на улучшение ключевой входной реакции. Все они были идентифицированы, протестированы и измерены на наших устройствах и не обязательно применимы в других средах. Как и со всеми “лучшая практика” Предложения важно быть скептически настроенными и проверять, что они работают в вашей среде, и для вашего случая использования. Мы начали с использования инструментов профилирования, чтобы определить, какие пути кода выполняют и какова была их доля в общем времени рендерина; Это привело нас к некоторым интересным наблюдениям.
Наблюдение: реагировать.Createlement имеет стоимость
Когда вавиловый транспил JSX он преобразует его в ряд React.Вызовы функции Createlelement, которые при оценке дают описание следующего компонента для рендеринга. Если мы сможем предсказать, что будет производить функцию Createelement, мы можем внедрить вызов с ожидаемым результатом во время сборки, а не во время выполнения.
// JSX
render () возврат;
>// транспорт
render () return React.CreateElement (MyComponent, < key: 'mykey', prop1: 'foo', prop2: 'bar' >);
>// с инлин
render () Тип возврата: mycomponent,
Реквизит: Prop1: 'foo',
Prop2: 'bar'
>,
КЛЮЧ: 'MyKey'
>;
>
Как вы можете видеть, мы полностью удалили стоимость звонка CreateElement, триумф для “Можем ли мы просто не?” Школа оптимизации программного обеспечения.
Мы задавались вопросом, можно ли применить эту технику во всем нашем приложении и полностью избежать создания Createlement. Мы обнаружили, что если мы использовали рефери в наших элементах, необходимо вызвать CreateElement, чтобы подключить владельца во время выполнения. Это также применимо, если вы’повторный использование оператора спреда, который может содержать какое -то значение (мы’LL вернемся к этому позже).
Мы используем пользовательский плагин Babel для INMENING ELEMENT, но есть официальный плагин, который вы можете использовать прямо сейчас. Вместо литературы объекта, официальный плагин излучит вызов вспомогательной функции, которая, вероятно, исчезнет благодаря магии функции V8 внедрения. После применения нашего плагина все еще было довольно много компонентов, которые были’T вставлен, в частности, компоненты более высокого порядка, которые составляют достойную долю общих компонентов, отображаемых в нашем приложении.
Проблема: компоненты высшего порядка могут’t Используйте инлин
Мы любим компоненты высшего порядка (HOCS) в качестве альтернативы микшинам. Hocs облегчает прокладку на поведение, сохраняя при этом разделение проблем. Мы хотели воспользоваться внедрением в нашем HOC, но мы столкнулись с проблемой: HOC обычно действуют как проходные для их реквизита. Это, естественно, приводит к использованию оператора спреда, который предотвращает возможность встроенного плагина Babel.
Когда мы начали процесс переписывания нашего приложения, мы решили, что все взаимодействия со слоем рендеринга пройдут декларативные APIS. Например, вместо того, чтобы делать:
ComponentDidMount () это.рефс.SomeWidget.Focus ()
>
Чтобы переместить фокус приложения в конкретный виджет, мы вместо этого внедрили декларативную фокус -API, который позволяет нам описать, что следует сосредоточиться во время рендеринга, как SO:
render () return />;
>
Это имел счастливый побочный эффект, позволяющий нам избежать использования ссылок на протяжении всего приложения. В результате мы смогли применить инлеингулирование независимо от того, использовал ли код спред или нет.
// перед внедрением
render () return />;
>// после внедрения
render () Тип возврата: mycomponent,
Отчет: это.реквизит
>;
>
Это значительно сократило количество функциональных вызовов и слияния имущества, которые нам ранее приходилось делать, но это не устранило его полностью.
Проблема: перехват собственности все еще требует слияния
После того, как нам удалось встроить наши компоненты, наше приложение все еще тратило много времени на слияние свойств внутри наших HOCS. Это было неудивительно, так как HOC часто перехватывают входящие реквизиты, чтобы добавить свои собственные или изменить значение конкретной опоры перед отправкой в обернутый компонент.
Мы провели анализ того, как стеки HOCS масштабировались с помощью количества опоры и глубины компонента на одном из наших устройств, и результаты были информативными.
Они показали, что существует примерно линейная связь между количеством реквизита, перемещающихся через стек, и временем рендеринга для данной глубины компонента.
Смерть на тысячу реквизитов
Основываясь на наших выводах, мы поняли, что можем существенно повысить производительность нашего приложения, ограничивая количество реквизитов, проходящих через стек. Мы обнаружили, что группы реквизитов часто были связаны и всегда менялись одновременно. В этих случаях имело смысл сгруппировать эти связанные реквизиты под одним “Пространство имен” проп. Если опора пространства имен может быть смоделирована как неизменное значение, последующие вызовы на вызовы shopomponentupdate могут быть оптимизированы путем проверки референциального равенства, а не проведения глубокого сравнения. Это дало нам несколько хороших побед, но в конце концов мы обнаружили, что мы сократили количество опоры. Пришло время прибегнуть к более экстремальным мерам.
Объединение реквизита без ключевых итераций
Предупреждение, здесь будь драконами! Это не рекомендуется и, скорее всего, сломает много вещей странным и неожиданным образом.
После сокращения реквизита, перемещающихся через наше приложение, мы экспериментировали с другими способами сокращения времени, потраченного на слияние реквизита между HOCS. Мы поняли, что можем использовать цепочку прототипов для достижения тех же целей, избегая при этом ключевых итерации.
// перед слиянием прото
render () const newprops = объект.назначить (<>, это.реквизит, < prop1: ‘foo’ >)
return />;
>// после прото слияния
render () const newprops = < prop1: ‘foo’ >;
Newprops.__proto__ = это.реквизит;
Возвращение типа: myComponent,
Реквизит: Newprops
>;
>
В приведенном выше примере мы уменьшили чехол 100 глубины 100 от времени рендеринга до ~ 500 мс до ~ 60 мс. Сообщите, что использование этого подхода представил некоторые интересные ошибки, а именно в случае, если это.реквизит – это замороженный объект . Когда это происходит, подход цепочки прототипа работает только в том случае, если __proto__ назначен после создания объекта NewProps. Само собой разумеется, если вы не являетесь владельцем NewProps, было бы не разумно назначать прототип вообще.
Проблема: “Разность” Стили были медленными
После того, как React узнает элементы, необходимые для того, чтобы оказаться для того, чтобы он должен был разобраться с предыдущими значениями, чтобы определить минимальные изменения, которые должны применяться к фактическим элементам DOM. Через профилирование мы обнаружили, что этот процесс был дорогостоящим, особенно во время крепления – частично из -за необходимости итерации в большем количестве свойств стиля.
Разделите реквизиты стиля в зависимости от того, что’S может измениться
Мы обнаружили, что часто многие значения стиля, которые мы устанавливали, никогда не изменились. Например, скажем, у нас есть виджет, используемый для отображения некоторого динамического текстового значения. У него есть свойства текста, текстовый размер, текстовый вес и текстовый. Свойство текста изменится в течение срока службы этого виджета, но мы хотим, чтобы оставшиеся свойства оставались такими же. Стоимость различия 4 -го стиля. Мы можем уменьшить это, отделив то, что может измениться от вещей, которые доны’Т.
Const MemoiedStyLesObject = < textSize: 20, textWeight: ‘bold’, textColor: ‘blue’ >; style => />
Если мы будем осторожны, запомнить объект MemoiedStyLesObject, React-Gibbon может проверить для ссылочного равенства и различать его значения, только если эта проверка доказывает ложь. Это не влияет на время, необходимое для установки виджета, но окупается на каждом последующем рендере.
Почему бы не избежать итерации все вместе?
Принимая эту идею дальше, если мы знаем, какой стиль реквизит устанавливается на конкретном виджете, мы можем написать функцию, которая выполняет ту же работу, не имея необходимости итерации по каким -либо ключам. Мы написали пользовательский плагин Babel, который выполнил статический анализ по методам рендеринга компонентов. Он определяет, какие стили будут применены, и создает пользовательскую функцию Diff-Apply, которая затем прикреплена к реквизиту виджетов.
// Эта функция записана плагином статического анализа
Функция __update __ (виджет, nextprops, prevprops) var style = nextprops.стиль,
prev_style = prevprops && prevprops.стиль; if (prev_style) var text = style.текст;
if (текст !== prev_style.текст) виджет.текст = текст;
>
> иначе виджет.Текст = стиль.текст;
>
>Реагировать.CreateClass (render () return (
style => />
);
>
>);
Внутренне React-Gibbon ищет наличие “особенный” __update__ Prop и пропустит обычную итерацию по предыдущему и следующему стилю, вместо этого применяя свойства непосредственно к виджет, если они изменили. Это оказало огромное влияние на наши времена рендеринга за счет увеличения размера распределимого.
Производительность – это функция
Наша среда уникальна, но методы, которые мы использовали для выявления возможностей для улучшения производительности, не являются. Мы измерили, протестировали и проверили все наши изменения на реальных устройствах. Эти исследования заставили нас открыть общую тему: ключевая итерация была дорогой. В результате мы решили определить слияние в нашем приложении и определить, могут ли они быть оптимизированы. Здесь’Список некоторых других вещей, которые мы’В нашем стремлении повысить производительность:
- Пользовательский составной компонент – гипер оптимизирован для нашей платформы
- Предварительные экраны для улучшения воспринимаемого времени перехода
- Объединение компонентов в списках
- Заметка дорогих вычислений
Создание опыта пользовательского интерфейса Netflix TV, который может работать на разнообразие устройств, которые мы поддерживаем, – это забавный вызов. Мы воспитываем ориентированную на производительность культуры в команде и постоянно пытаемся улучшить опыт для всех, независимо от того, используют ли они Xbox One S, Smart TV или потоковая палка. Присоединяйтесь к нам, если это звучит как ваш варенье!
10 известных приложений React: примеры (2023)
Скорее всего, вы используете приложения React каждый день, просмотрев ваши любимые телешоу, просматривая социальные сети и проверяете электронную почту. Узнайте, какие известные компании построили свои приложения с ReactJS и почему.
16 января 2023 г
TL; DR
Оглавление
Пример H2
Пример H3
Пример H4
Пример H5
Пример H6
Введение
Позволять’Считается, что цифровой мир меняется, когда мы говорим. В такой реальности определенно трудно адаптироваться к тенденциям. Тем не менее, это именно то, что делают громкие имена в отрасли.
Основные приложения, как Facebook, Instagram, Netflix и другие постоянно улучшают свой опыт и адаптируются к новым рамках и тенденциям.
По состоянию на недавно, есть большое слово в уст в уста Reactjs И его впечатляющие черты.
В случае, если вы все еще убеждаете’Это слышал о потенциале ReactJs, они многочисленны. По сути, React стал очень популярным среди разработчиков, и есть много ресурсов, которые делают большинство технических достоинств – точно так же, как Nodejs и многочисленные другие связанные с ними фреймворки/инструменты JavaScript.
Доказательство его популярности лучше всего описывается приложениями, которые используют ReactJS – и сегодня мы показываем вам список самых впечатляющих приложений на основе ReactJS.
Что такое реагировать?
Короче говоря, React – это Библиотека JavaScript для создания пользовательских интерфейсов. Очень часто это’S неверно истолкован как инструмент, структура, язык. Поставщики, работающие с React, способны создавать большие веб -приложения, которые используют данные, которые могут меняться со временем, без перезагрузки страницы. Его главная цель – быть быстрым, простым и масштабируемым. Реагировать процессы только пользовательский интерфейс в приложениях.
Это просто время выполнения JavaScript. Легкий, быстрый и современный Способ выполнить код на вашем компьютере.
Почему интернет -гиганты выбирают приложения React?
#1 Facebook
Хотя частично, Facebook использует Reactjs. Их веб -страница построена с React, как сценарий, который смешивается в коде приложения. Мобильное приложение также построено с версией React, называемой Nate Native, которая аналогична, хотя и отвечает за отображение нативных компонентов iOS и Android вместо элементов DOM.
Интересно, что Facebook был местом, где была изначально создана библиотека ReactJS, поэтому для приложения очевидно, что приложение может его использовать. Facebook в настоящее время открыл бета -версию своей полностью переписанной ReactJS, называемого React Fiber.
#2 Instagram
Использование Reactjs в Instagram огромно. Доказательством этого является многочисленные функции, включая геолокации, API Google Maps, точность поисковых систем, а также теги, которые выскакивают без хэштегов. Это все в API приложения – и действительно впечатляет.
Instagram полностью основан на ReactJs библиотека и позволила фанатам полностью адаптироваться к своим удивительным функциям.
#3 Netflix
Версия React также работает с Netflix-специально на их платформе под названием Gibbon, которая используется для низкоэффективных телевизионных устройств вместо DOM, используемых в веб-браузерах. Netflix даже опубликовал официальный пост в блоге, объясняющий, как библиотека ReactJS помогает скорости запуска, производительности времени выполнения, модульности и различных других преимуществ.
Как инженеры пользовательского интерфейса в штате Netflix в сообщении в блоге:
Наше решение принять React повлияло на ряд факторов, особенно: 1) скорость запуска, 2) производительность времени выполнения и 3) модульность.
#4 New York Times
Пару месяцев назад The New York Times разработала отличный новый проект, который имитирует разные взгляды звезд на красной ковровой дорожке Оскара. Очевидно, этот проект’S интерфейс был встроен в React и позволяет пользователям фильтровать галерею разных фотографий с 19 лет хорошим образом. Повторное использование этого проекта-только одна из впечатляющих функций, которые мы можем поблагодарить ReactJs за.
Джастин Хейдеман поддерживает эти причины в своем сообщении в блоге на Nytimes Open, заявив, что:
В нашем приложении мы создаем легкие магазины с одной ответственностью. Магазин отвечает за управление конкретным запросом данных.
#5 Yahoo! Почта
Удивительно (или нет), Yahoo!’S Mail Client также использует React. Поскольку Facebook владеет Yahoo! В настоящее время есть идея твердой и единой архитектуры, и именно поэтому React была включена в как можно больше битов, как можно. Архитектура, которая специально построена с React, как ее кусок, можно увидеть здесь – и Yahoo! Разработчики суммируют это как проще работать с кодом и намного лучше.
Инженерам, работающим на почтовой платформе Yahoo, требовалось много обновлений. Как говорится в сообщении в блоге на Tumblr:
- Предсказуемый поток ~ Легкая отладка
- Независимо развертываемые компоненты
- Краткая кривая обучения
- Нет зависимости от больших библиотек платформ
- React реализует односторонний поток реактивных данных
- Виртуальный DOM позволяет рендеринг на стороне клиента и сервера
- Код в JavaScript
- Растущее и активное сообщество
#6 Ханская академия
Многие части Академии Хана в настоящее время основаны на React. Один из их разработчиков JavaScript, Джоэл Бергет, поделился своим личным опытом с Библиотека ReactJS и то, как она отличается от традиционной основы Сценарий, который они ранее использовали.
Он, очевидно, определяет его как достойное обновление и тщательно проходит большинство важных функций, включая элемент эффективным образом, и устранение ненужных повторных ресурсов.
#7 WhatsApp
Хотя до того, как он был официально запущен, было несколько бета WhatsApp использует ReactJS Для построения пользовательских интерфейсов из Facebook, как и в этом использовании.JS и скорость.JS как некоторые из его наиболее эффективных двигателей.
По состоянию на недавно совершенно новое веб-приложение WhatsApp также использовало React, как и опыт Facebook Web, упомянутый выше
#8 браузер Vivaldi
Одной из технологий, стоящих за популярным браузером Vivaldi, является библиотека ReactJS. Двигатель, который используется этот браузер, называется, называется ‘Мигание’ и почти такой же, как Google’S Chrome, построенный на HTML5, ReactJS, JS, CSS3 и многих других двигателях.
#9 Codecademy
По состоянию на август 2014 года Codecademy решил полностью включить Facebook’S Библиотека. ReactJS, очевидно, была частью этого – и все еще является одним из ключевых сценариев, основанных на приложении.
От заголовка до меню и даже навигации, использование ReactJS – это все на CodeAcademy, созданное как логическое решение, которое упаковывает все компоненты для различных произведений.
По словам всех в CodeAcademy, некоторые из аспектов реагирования, которые они ценят, включают в себя тот факт, что Скрипт проверен в битве, легко думать, делает SEO легким и совместим с устаревшим кодом и достаточно гибким для будущего.
Кроме того, он провоцирует строительство сообщества и позволяет вам перестать беспокоиться о шаблоне.
Как говорится в своем блоге в блоге на infoq:
React-это легкая, мощная, проверенная на битва библиотека для создания пользовательских интерфейсов с JavaScript. Это’S не полная структура, а скорее мощный инструмент, который вполне может изменить способ, которым вы приближаетесь к фронтальной разработке. Мы’VE обнаружил, что это невероятно полезный инструмент для нашего фронтального разработки, и мы’очень доволен нашим выбором.
#10 Dropbox
Dropbox переключился на ReactJS более года назад. В то время, когда React стал очень популярным среди разработчиков приложений.
Ресурсы, которые являются частью этой структуры, эффективно используются и Dropbox, в значительной степени способствуя успеху этой удивительной облачной службы хранения и онлайн-решения для резервного копирования.
React Apps = идеальный пользовательский опыт
В конце концов, пониженный риск, повышение эффективности и эффективности ReactJS ReactJS, и многочисленные организационные преимущества были причиной для громких имен в приложениях для обновления до ReactJS и эксплуатировать удивительные преимущества, предлагаемые этим сценарием.
И даже несмотря на то, что каждое обновление фреймворта говорит о времени и затратах, оно абсолютно стоит того, когда дело доходит до создания идеального пользовательского опыта – будь то в Интернете или мобильном приложении.
Ресурсы:
- https: // yahooeng.Tumblr.com/post/101682875656/Evolving Yahoo-Mail (изображение)
- https: // Twitter.com/reacteurope/status/558097823330492416 (изображение)