ReactJS

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
React
React-icon.svg
Тип бібліотека JavaScript
Розробник Facebook, Instagram та співтовариство
Перший випуск 2013
Стабільний випуск 15.4.0 (16 листопада 2016; 368 днів тому[1] )
Версії 16.1.1[2]
Репозиторій github.com/facebook/react
Платформа багатоплатформова
Операційна система крос-платформова програма
Написано на JavaScript
Розмір 128 Кб мінімізована верся
559 Кб версія для розробки
Стан розробки Активний
Ліцензія BSD License
reactjs.com

React.js, здебільшого називають Reactвідкрита JavaScript бібліотека для створення інтерфейсів користувача, яка покликана вирішувати проблеми часткового оновлення вмісту веб-сторінки, з якими стикаються в розробці односторінкових застосунків. Розробляється Facebook, Instagram і спільнотою індивідуальних розробників.[3][4][5]

React дозволяє розробникам створювати великі веб-застосунки, які використовують дані, котрі змінюються з часом, без перезавантаження сторінки. Його мета полягає в тому, щоб бути швидким, простим, масштабованим. React обробляє тільки користувацький інтерфейс у застосунках. Це відповідає видові у шаблоні модель-вид-контролер (MVC), і може бути використане у поєднанні з іншими JavaScript бібліотеками або в великих фреймворках MVC, таких як AngularJS. Він також може бути використаний з React на основі надбудов, щоб піклуватися про частини без користувацького інтерфейсу побудови веб-застосунків.

В даний час React використовують Khan Academy,[6] Netflix,[7] Yahoo,[8] Airbnb,[9] Sony,[10] Atlassian[11] та інші.

Історія[ред.ред. код]

Фреймворк створено Джорданом Волком (Jordan Walke), програмістом з Facebook. Автор працював над проектом під впливом XHP, фреймворку HTML для PHP.[12] 2011-го року реліз з'явився у новинах Facebook, за рік — у блозі Instagram.[13] Також фреймворк був представлений як проект з відкритим початковим кодом на конференції розробників JSConf US, що проходила у Сполучених Штатах у травні 2013 року. На конференції React.js Conf, влаштовану Фейсбуком у березні 2015-го, проект було представлено як відкрите програмне забезпечення.

Особливості[ред.ред. код]

Одностороння передача даних[ред.ред. код]

Властивості передаються в рендерер компоненту, як властивості html тега. Компонент не може напряму змінювати властивості, що йому передані, але може їх змінювати через callback функції. Такий механізм називають «властивості донизу, події нагору».

Віртуальний DOM[ред.ред. код]

React підтримує віртуальний DOM, а не покладається виключно на DOM браузера. Це дозволяє бібліотеці визначити, які частини DOM змінилися, порівняно (diff) зі збереженою версією віртуального DOM, і таким чином визначити, як найефективніше оновити DOM браузера.[14][15] Таким чином програміст працює зі сторінкою, вважаючи що вона оновлюється вся, але бібліотека самостійно вирішує які компоненти сторінки треба оновити.

JSX[ред.ред. код]

Компоненти React зазвичай написані на JSX.[16] Код написаний на JSX компілюється у виклики методів бібліотеки React. Розробники можуть так само писати на чистому JavaScript. JSX нагадує іншу мову, яку створили у компанії Фейсбук для розширення PHP, XHP.

Не лише рендеринг HTML в браузері[ред.ред. код]

React використовують не лише для рендерингу HTML в браузері. Наприклад, Facebook має динамічні графіки які рендеряться в теги <canvas>,[17] Netflix та PayPal використовують ізоморфне завантаження для рендерингу ідентичного HTML на сервері та клієнті.[18][19]

Посилання[ред.ред. код]