Вы согласитесь со мной, что React изменил ход фронтенд-разработки.

Эта замечательная библиотека значительно упростила создание пользовательских интерфейсов для разработчиков и, возможно, является одним из лучших фреймворков на свете.

React не просто внезапно стал известным и полезным, он прошел через несколько этапов, прежде чем стал мощной библиотекой, которая есть у нас сегодня.

Давайте посмотрим на эволюцию библиотеки React.

До 2013 года:

Потребность в такой библиотеке, как React, родилась в Facebook Ads Org. По мере того, как Facebook становился больше - для базы кода, которая начиналась с простого, количество функций увеличивалось, количество инженеров, работающих над продуктом, увеличивалось, а база кода - больше.

При таком росте обслуживание кода стало очень трудным, а функции приложения быстро замедлили работу.

так в чем была проблема? Вот:

При некоторых изменениях в приложении, куда поступают новые данные, потребовались небольшие изменения ниже в базовом дереве кода для повторного рендеринга всего приложения - так называемые каскадные обновления.

Но поскольку кодовая база росла, делать эти каскадные обновления стало труднее. Было сложно даже сказать, какие изменения потребовались для повторного рендеринга приложения.

Они вызвали необходимость срочного решения. Джордан Уолк построил прототип, чтобы упростить этот процесс (он еще не назывался React, он назвал его FaxJS, и именно здесь все началось.

В то время существовал XHP, который представляет собой структуру компонентов HTML для PHP, используемую в Facebook. XHP служил слоем рендеринга пользовательского интерфейса для Facebook Lite, отлично работал для создания настраиваемых и многоразовых HTML-элементов.

XHP послужил вдохновением для создания React.

React сотворил чудо для Facebook Ads Org, и новое приобретение компании Instagram вызвало интерес к React и подтолкнуло к тому, чтобы он был отделен от кодовой базы и стал открытым.

2013:

Пришло время для React с открытым исходным кодом, и во время JS ConfUS, проходившего с 29 по 31 мая, Джордан Уокер представил React миру.

По словам Джордана: «Одна из вещей, к которой мы стремились при создании нашей компонентной структуры, - это минимизировать количество разработчиков, сталкивающихся с мутациями, которым подвергается разработчик».

Следующим шагом было проповедовать React разработчикам по всему миру.

2014:

#ReactJsWorldTour появился по мере того, как все больше разработчиков приняли библиотеку React.

Чтобы подтолкнуть к принятию, React Developer Tools стал расширением инструментов разработчика Chrome, был разработан плагин React Hot Loader.

2015:

React v0.13 был выпущен в марте 2015 года. В этой версии React появилась новая функция - поддержка классов ES6.

В предыдущих версиях первые вызовы setState были синхронными; однако в новой версии они теперь были асинхронными.

В том же месяце выпуска React v0.13 миру был представлен React Native. React Native превратится в полезный фреймворк для создания мобильных приложений с использованием React.

React Native не стремился стать инструментом «напиши один раз, запусти где угодно», вместо этого он стремился стать инструментом «учись один раз, пиши где угодно». Это гарантирует, что один и тот же набор инженеров может создавать приложения для любой платформы, которую они выберут, без изменения синтаксиса.

Позже в этом году React переходит на Babel (компилятор JavaScript, который в основном используется для преобразования кода ECMAScript 2015+ в обратно совместимую версию JavaScript) в качестве предпочтительного компилятора.

React v0.14 выходит в октябре 2015 года, и в него было внесено одно существенное изменение. Это изменение повлекло за собой разделение основной библиотеки React на два пакета: React и React DOM.

Выпуск React v0.14 привел к снижению стоимости пакета react-tools и файла JSXTransformer.js, и Babel стал основным компилятором.

К 2015 году React получил необходимое признание и внедрялся некоторыми влиятельными компаниями, такими как NetFlix и Airbnb.

2016:

Если вы когда-нибудь задумывались, как React перешел от версии 0.XX (например, v0.14 в 2015 году) до версии XX.X (например, нынешней версии v16.3). Что ж, это случилось в 2016 году.

Первые новости о React в году пришли с выпуском React v15.0. Facebook перешел с v0.14 на v15.0. В React 15.0 было внесено несколько изменений, два из которых:

Это новая поддержка всех атрибутов SVG, поддерживаемых браузерами, и использование document.createElement вместо установки innerHTML для монтирования компонентов.

React получил большее признание благодаря выпуску библиотек на основе React, таких как MobX (используется для простого и масштабируемого управления состоянием) и BlueprintJS (который представляет собой веб-инструментарий на основе пользовательского интерфейса).

2017:

В сентябре 2017 года React выпустила версию v16.0. Благодаря новым функциям, таким как компоненты, которые теперь возвращают массивы и строки из рендеринга, вводятся границы ошибок (что улучшает обработку ошибок). Также был полностью переписан серверный рендерер.

React Fiber (повторная реализация основного алгоритма React) получает открытый исходный код на F8 2017.

2018:

В этом году React получил несколько новых функций. После множества запросов React включил события Pointer в библиотеку. События указателя позволят разработчикам легко обрабатывать события.

React Select v2.0 также был выпущен в этом году. Он служит элементом управления Select для React, позволяя разработчикам создавать мощные компоненты React.js, которые работают «из коробки».

Пока что самой большой новостью о React в этом году остается выпуск React 16.4.0. Чтобы не отставать от React, вы можете посмотреть выступление Дэна Абрамова Beyond React на JSConf Iceland 2018.

Вот некоторые основные моменты этого мероприятия:

  • Возможности грядущего React API под названием Suspense.
  • Введение в Reason и Reason React (используется для добавления синтаксиса и инструментов в стиле JavaScript в OCaml).
  • Использование MobX и React для создания мобильных игр.

Заключение:

Прошло пять лет с тех пор, как React был объявлен миру, и он претерпел поразительные изменения. В чем я не сомневаюсь, так это в том, что ситуация будет улучшаться, и все больше компаний будут использовать React в качестве технологии для решения своих проблем.

Автор Антон Шалейников