Обзор ReactJS
ReactJs – это JS фреймворк, представленный разработчиками Facebook. Существует много разнящихся между собой мнений по поводу пользы и целесообразности использования данного продукта. В преимуществах и недостатках ReactJs мы и предлагаем разобраться.

О свойствах
Сравнивать ReactJs с Angular или другими MVC фреймворками не имеет смысла, так как ReactJs – это только представление. React – это язык шаблонов в сочетании с несколькими функциями, которые позволяют отрисовать HTML, т.е. результат работы React – это HTML.
ReactJs реализует концепции реактивного программирования: изменение результата работы зависит от состояния компонентов. Так, A = B + C, и результат A всегда будет зависеть от значений B и C.
ReactJs постоянно работает с DOM, перерисовывая его при изменении условий (та часть DOM, которую меняет ReactJs, называется компонентом). Ранее подобная практика сильно бы отразилась на производительности приложения, но разработчики ReactJs подошли к решению данного вопроса кардинально: они полностью переписали DOM на Javascript.
Важной особенностью ReactJs является использование JSX. Это надстройка на JS, позволяющая использовать про-XML синтаксис в Javascript коде. JSX – это сочетание javascript и html, которые в связке являются непривычным синтаксисом для большинства разработчиков. Стандартом считается разделение JS части от разметки, что усложняет слежение за изменениями HTML -> JS -> HTML. JSX позволяет видеть все процессы в одном месте, не отвлекаясь на сложности грамотного и валидного кода. После компиляции JSX получается чистый JS.
О минусах
С какими сложностями могут столкнуться разработчики, начинающие знакомство с ReactJS:
- Сложная документация
На сайте разработчика туториал разбросан по разным вкладкам, информация не структурирована. Однако если с ReactJS работает целая команда, эту проблему удается быстро решить. А изучать документацию рекомендуем на devdocs.io, на ресурсе информация представлена в более структурированном виде.
- Не все стандартные браузеры поддерживают React
Для преодоления этой проблемы предлагается использовать дополнительные плагины, например, библиотеку ES5-shim для поддержки IE8. Существуют и другие расширения для ReactJs, однако, учитывая вес фреймворка, их использование лучше свести к минимуму.
- Большинство виджетов - свои
ReactJs достаточно молодой фреймворк, поэтому все, даже стандартные виджеты вам придется прописывать заново. Нужен кастомный выпадающий список или lightbox? Для таких простых задач вам придется написать немало кода.
О плюсах
Разработка UI ведется на основе отдельных компонентов - за подобными проектами стоит будущее разработки.
С ReactJs удобно работать в команде, на нем приятно писать и легко тестировать.
Если на вашем проекте требуется квалифицированная помощь с ReactJs, напишите нам на hello@wave-access.com
Расскажем подробнее о наших проектах!
Свяжитесь с нами:
hello@wave-access.com
+1 866 311 24 67 (США)
+45 20 55 6222 (Дания)
+49 721 957 3177 (Германия)