Я начал изучать React из любопытства и хотел узнать разницу между React и React Native - хотя не смог найти удовлетворительного ответа с помощью Google. React и React Native, похоже, имеют одинаковый формат. У них совершенно другой синтаксис?
javascript
reactjs
react-native
javascript-framework
Шива Кумар
источник
источник
<h1>
,<p>
и т.д. Где реагирующих родной делает собственные компоненты вид приложения , как<View>
,<Text>
,<Image>
,<ScrollView>
, так что вы не можете непосредственно повторно использовать ваш UI код компонента , если вы не переделывают / заменить все элементы.Ответы:
ReactJS - это библиотека JavaScript, поддерживающая как интерфейсную сеть, так и работающую на сервере, для создания пользовательских интерфейсов и веб-приложений.
React Native - это мобильная инфраструктура, которая компилируется с нативными компонентами приложений, позволяя создавать собственные мобильные приложения для различных платформ (iOS, Android и Windows Mobile) на JavaScript, что позволяет использовать ReactJS для создания компонентов и реализует ReactJS под капот.
Оба следуют расширению синтаксиса JSX для JavaScript.
Оба с открытым исходным кодом на Facebook.
источник
Вот проект React .
В Facebook они изобрели React, чтобы JavaScript мог быстрее управлять DOM веб-сайта с помощью виртуальной модели DOM.
Полное обновление DOM медленнее по сравнению с моделью React virtual-dom , которая обновляет только части страницы (читай: частичное обновление).
Как вы можете понять из этого видео , Facebook не изобрел React, потому что они сразу поняли, что частичное обновление будет быстрее, чем обычное обновление. Первоначально им нужен был способ сократить время перестройки приложений Facebook, и, к счастью, это привело к частичному обновлению DOM.
Реагировать родной - это всего лишь следствие React. Это платформа для создания собственных приложений с использованием JavaScript.
До React родной вам нужно было знать Java для Android или Objective-C для iPhone и iPad, чтобы создавать собственные приложения.
С React Native можно имитировать поведение нативного приложения в JavaScript, и в конце вы получите специфический для платформы код в качестве вывода. Вы можете даже смешать нативный код с JavaScript, если вам нужно еще больше оптимизировать свое приложение.
Как сказала Оливия Бишоп в видео , 85% базы собственного кода React может быть разделено между платформами. Это будут компоненты, которые приложения обычно используют, и общая логика.
15% кода зависит от платформы. Специфичный для платформы JavaScript - это то, что дает платформу вкус (и имеет значение в опыте).
Крутая вещь - это специфичный для платформы код - он уже написан, так что вам просто нужно его использовать.
источник
React:
React Native:
Таким образом, в основном React - это библиотека пользовательского интерфейса для просмотра вашего веб-приложения, использующая javascript и JSX , React native - это дополнительная библиотека поверх React для создания нативного приложения
iOS
иAndroid
устройств.Реагировать пример кода:
Реагируйте на пример собственного кода:
Для получения дополнительной информации о React посетите их официальный сайт, созданный командой Facebook:
https://facebook.github.io/react
Для получения дополнительной информации о React Native посетите веб-сайт React native ниже:
https://facebook.github.io/react-native
источник
ReactJS - это структура для построения иерархии компонентов пользовательского интерфейса. Каждый компонент имеет состояние и реквизит. Данные передаются от компонентов верхнего уровня к низкоуровневым с помощью реквизита. Состояние обновляется в компоненте верхнего уровня с использованием обработчиков событий.
React native использует React Framework для создания компонентов для мобильных приложений. React native предоставляет базовый набор компонентов для платформ iOS и Android. Некоторыми компонентами в React Native являются Navigator, TabBar, Text, TextInput, View, ScrollView. Эти компоненты используют встроенные компоненты iOS UIKit и Android UI. React native также позволяет использовать NativeModules, где код, написанный на ObjectiveC для iOS и Java для Android, может использоваться в JavaScript.
источник
Во-первых, сходство: оба React & React Native (RN) были разработаны для создания гибких пользовательских интерфейсов. У этих фреймворков есть масса преимуществ, но самым фундаментальным для них является то, что они созданы для разработки пользовательского интерфейса. Facebook разработал RN через несколько лет после React.
Реакция: Facebook разработал эту платформу так, чтобы она почти походила на написание вашего JavaScript внутри вашего HTML / XML, поэтому теги называются « JSX » (JavaScript XML) и похожи на знакомые HTML-подобные теги, такие как
<div>
или<p>
. Отличительной чертой React являются теги заглавной буквы, которые обозначают пользовательский компонент, например<MyFancyNavbar />
, который также существует в RN. Однако React использует DOM . DOM существует для HTML, поэтому React используется для веб-разработки.React Native: RN не использует HTML и поэтому не используется для веб-разработки. Он используется для ... практически всего остального! Разработка для мобильных устройств (как для iOS, так и для Android), интеллектуальные устройства (например, часы, телевизоры), дополненная реальность и т. Д. Поскольку у RN нет DOM для взаимодействия, вместо использования HTML-тегов того же типа, что и в React, он использует свои собственные теги, которые затем компилируются в другие языки. Например, вместо
<div>
тегов разработчики RN используют встроенный<View>
тег RN , который компилируется в другой встроенный код (например,android.view
на Android иUIView
на iOS).Вкратце: они очень похожи (для разработки пользовательского интерфейса), но используются для разных сред.
источник
React.js - это родительская библиотека Javascript для разработки веб-приложений.
В то время как вы используете теги наподобие
<View>
,<Text>
очень часто в React-Native, React.js использует подобные веб-html-теги<div>
<h1>
<h2>
, которые являются только синонимами в словаре веб / мобильных разработок.Для React.js вам нужен DOM для рендеринга путей html-тегов, а для мобильного приложения: React-Native использует AppRegistry для регистрации вашего приложения.
Я надеюсь, что это простое объяснение быстрых различий / сходств в React.js и React-Native.
источник
Мы не можем их точно сравнить. Есть различия в случае использования .
(Обновление 2018 года)
ReactJS
Основным направлением деятельности React является веб-разработка.
React Native
Расширение React , нишу на Mobile Development.
Надеюсь, я помог тебе :)
источник
В простом смысле React и React native следуют тем же принципам проектирования, за исключением случая разработки пользовательского интерфейса.
В любом случае, это отличная библиотека для создания пользовательского интерфейса для мобильных устройств и Интернета.
источник
React - это декларативная, эффективная и гибкая библиотека JavaScript для создания пользовательских интерфейсов. Ваши компоненты сообщают React, что вы хотите визуализировать, - тогда React будет эффективно обновлять и отображать только нужные компоненты при изменении ваших данных. Здесь ShoppingList - это класс компонента React или тип компонента React.
Приложение React Native - это настоящее мобильное приложение. С React Native вы не создаете «мобильное веб-приложение», «приложение HTML5» или «гибридное приложение». Вы создаете настоящее мобильное приложение, которое неотличимо от приложения, созданного с использованием Objective-C или Java. React Native использует те же основные строительные блоки пользовательского интерфейса, что и обычные приложения для iOS и Android.
Больше информации
источник
ReactJS - это базовая структура, предназначенная для построения компонента, изолированного на основе реактивного паттерна, вы можете думать о нем как о V от MVC, хотя я хотел бы сказать, что реакция дает другое ощущение, особенно если вы менее знакомы с реактивной концепцией ,
ReactNative - это еще один уровень, который должен иметь общий компонент для платформ Android и iOS. Таким образом, код выглядит в основном так же, как ReactJS, потому что это ReactJS, но изначально загружается на мобильных платформах. Вы также можете связать более сложный и относительный к платформе API с Java / Objective-C / Swift в зависимости от ОС и использовать его в React.
источник
React Native изначально разрабатывался на JavaScript, что означает, что большая часть кода, необходимого для начала работы, может использоваться на разных платформах. React Native будет рендерить, используя нативные компоненты. Приложения React Native разрабатываются на языке, который требуется для платформы, на которую они нацелены, Objective-C или Swift для iOS, Java для Android и т. Д. Написанный код не распространяется на разные платформы, и их поведение различается. Они имеют прямой доступ ко всем функциям, предлагаемым платформой, без каких-либо ограничений.
React - это библиотека JavaScript с открытым исходным кодом, разработанная Facebook для создания пользовательских интерфейсов. Он используется для обработки слоя представления для веб-приложений и мобильных приложений. ReactJS используется для создания повторно используемых компонентов пользовательского интерфейса. В настоящее время это одна из самых популярных библиотек JavaScript в области ИТ, и у нее прочная основа и большое сообщество. Если вы изучаете ReactJS, вам необходимо знать JavaScript, HTML5 и CSS.
источник
React - это базовая абстракция React Native и React DOM , поэтому, если вы собираетесь работать с React Native, вам также понадобится React ... то же самое с сетью, но вместо React Native вам понадобится React DOM.
Поскольку React является базовой абстракцией, общий синтаксис и рабочий процесс одинаковы, но компоненты, которые вы используете, очень разные, поэтому вам нужно будет изучить эти различия, что соответствует React, так называемому moto, который называется «Изучить один раз где угодно», потому что если вы знаете React (базовая абстракция), вы можете просто изучить различия между платформами, не изучая другой язык программирования, синтаксис и рабочий процесс.
источник
React-Native - это фреймворк, где ReactJS - это библиотека javascript, которую вы можете использовать для своего веб-сайта.
React-native предоставляет базовые компоненты по умолчанию (изображения, текст), где React предоставляет набор компонентов и заставляет их работать вместе.
источник
React Js - это библиотека Javascript, в которой вы можете разрабатывать и запускать более быстрые веб-приложения с помощью React.
React Native позволяет создавать мобильные приложения, используя только JavaScript, он используется для разработки мобильных приложений. дополнительная информация здесь https://facebook.github.io/react-native/docs/getting-started.html
источник
Что касается жизненного цикла компонентов и всех других наворотов, то он в основном одинаков.
Разница в основном заключается в используемой разметке JSX. React использует тот, который напоминает HTML. Другой - это разметка, которая используется реагирующим для отображения представления.
источник
React Native предназначен для мобильных приложений, а React для веб-сайтов (front-end). Оба являются фреймворками, придуманными Facebook. React Native - это кроссплатформенная среда разработки, означающая, что можно написать практически одинаковый код для IOS и Android, и это будет работать. Я лично знаю намного больше о React Native, поэтому я оставлю это на этом.
источник
React Js работает с HTML Dom. Но React native работает с компонентом UI для мобильных устройств (iOS / android).
источник
ReactJS - это библиотека javascript, которая используется для создания веб-интерфейсов. Вам понадобится такой пакет, как webpack, и попробуйте установить модули, необходимые для создания вашего сайта.
React Native - это инфраструктура javascript, которая поставляется со всем необходимым для написания мультиплатформенных приложений (таких как iOS или Android). Для сборки и развертывания вашего приложения вам потребуется установить xcode и android studio.
В отличие от ReactJS, React-Native не использует HTML, но аналогичные компоненты, которые вы можете использовать через IOS и Android для создания вашего приложения. Эти компоненты используют настоящие нативные компоненты для создания приложений для iOS и Android. Благодаря этому приложения React-Native выглядят реальными в отличие от других платформ разработки Hybrid. Компоненты также увеличивают возможность повторного использования вашего кода, поскольку вам не нужно снова создавать один и тот же пользовательский интерфейс на iOS и Android.
источник
Проще говоря, ReactJS - это родительская библиотека, которая возвращает что-то для отображения в соответствии с хост-средой (браузер, мобильный телефон, сервер, рабочий стол и т. Д.). Помимо рендеринга, он также предоставляет другие методы, такие как ловушки жизненного цикла и т. Д.
В браузере он использует другую библиотеку реагировать на элементы DOM. В мобильных устройствах он использует компоненты React-Native для визуализации собственных компонентов пользовательского интерфейса для платформы (как для IOS, так и для Android). ТАК,
реагировать + реагировать-дом = развитие сети
реагировать + реагировать-родной = развитие мобильных
источник
REACT - это библиотека Javascript для создания больших / маленьких веб-приложений с интерфейсом, таких как Facebook.
REACT NATIVE - это инфраструктура Javascript для разработки собственных мобильных приложений на Android, IOS и Windows Phone.
Оба с открытым исходным кодом Facebook.
источник
Вот различия, о которых я знаю:
источник
В итоге: React.js для веб-разработки и React-Native для разработки мобильных приложений
источник
ReactJS
React Native
источник
React Js - React JS - это библиотека javascript, большая библиотека, а не фреймворк
повторно используемых компонентов пользовательского интерфейса
ReactNative - React Native - это платформа мобильных приложений с открытым исходным кодом.
источник
Немного опоздал на вечеринку, но вот более полный ответ с примерами:
реагировать
React - это основанная на компонентах библиотека пользовательского интерфейса, которая использует «теневой DOM», чтобы эффективно обновлять DOM тем, что изменилось, вместо того, чтобы перестраивать все дерево DOM для каждого изменения. Первоначально он был создан для веб-приложений, но теперь может быть использован для мобильных устройств и 3D / vr.
Нельзя взаимозаменять компоненты между React и React Native, поскольку React Native сопоставляется с собственными мобильными элементами пользовательского интерфейса, но можно повторно использовать бизнес-логику и код, не связанный с визуализацией.
ReactDOM
Первоначально был включен в библиотеку React, но был выделен, когда React использовался для других платформ, а не только для веб. Он служит точкой входа в DOM и используется совместно с React.
Пример:
React Native
React Native - это кроссплатформенная мобильная платформа, которая использует React и обменивается данными между Javascript и его нативным аналогом через «мост». В связи с этим при использовании React Native многие структуры пользовательского интерфейса должны отличаться. Например: при создании списка вы столкнетесь с серьезными проблемами с производительностью, если попытаетесь использовать
map
его вместо React Native.FlatList
. React Native можно использовать для создания мобильных приложений для IOS / Android, а также для умных часов и телевизоров.Экспо
Expo - это начало работы с новым приложением React Native.
Примечание: при использовании Expo вы можете использовать только те API, которые они предоставляют. Все дополнительные библиотеки, которые вы включаете, должны быть чисто javascript или вам нужно будет выставить expo.
Тот же пример с использованием React Native:
Отличия:
onClick
превращениеonPress
, React Native использует таблицы стилей для более эффективного определения стилей, а React Native использует flexbox в качестве структуры макета по умолчанию, чтобы обеспечить адаптивность.React360
Стоит также отметить, что React также можно использовать для разработки 3D / VR-приложений. Структура компонентов очень похожа на React Native. https://facebook.github.io/react-360/
источник
activjs использует React-DOM, а не браузер DOM, в то время как React-Reative использует виртуальный DOM, но они используют один и тот же синтаксис, т. е. если вы можете использовать Reactjs, то вы можете использовать React-Native. Так как большинство библиотек, которые вы используете в Reactjs, доступны в React-Native как ваша реагирующая навигация и другие общие библиотеки, которые у них есть общие.
источник
<h1>
,<p>
и т. Д. Там, где Reaction-native отображает компоненты представления собственного приложения, например<View>
и<Text>
.В ответ на комментарий от @poshest выше приведена версия кода часов React Native, ранее опубликованная в React (извините, я не смог прокомментировать этот раздел напрямую, иначе я бы добавил туда код):
React Native code sample
Обратите внимание , что стиль полностью мой выбор и не стремится непосредственно копировать внешний
<h1>
и<h2>
теги , используемые в React код.источник
Некоторые различия заключаются в следующем:
1- React-Native - это платформа, которая использовалась для создания мобильных приложений, где ReactJS - это библиотека javascript, которую вы можете использовать для своего веб-сайта.
2- React-Native не использует HTML для визуализации приложения, в то время как React использует.
3- React-Native используется для разработки только мобильных приложений, а React - для веб-сайтов и мобильных устройств.
источник
React Native
Это фреймворк для создания нативных приложений с использованием JavaScript.
Он компилируется в нативные компоненты приложения, что позволяет вам создавать нативные мобильные приложения.
Реагировать JS
Он поддерживает как интерфейсную сеть, так и работает на сервере, для создания пользовательских интерфейсов и веб-приложений.
Это также позволяет нам создавать повторно используемые компоненты пользовательского интерфейса.
Вы можете повторно использовать компоненты кода в React JS, сэкономив вам много времени.
источник
React.js, часто называемый React или ReactJS, - это библиотека JavaScript, отвечающая за построение иерархии компонентов пользовательского интерфейса или, другими словами, за отображение компонентов пользовательского интерфейса. Он обеспечивает поддержку как внешнего интерфейса, так и серверной части.
React Native - это фреймворк для создания нативных приложений с использованием JavaScript. React Native компилирует в нативные компоненты приложения, что позволяет вам создавать нативные мобильные приложения. В React JS React является базовой абстракцией React DOM для веб-платформы, в то время как с React Native React остается базовой абстракцией, но React Native. Таким образом, синтаксис и рабочий процесс остаются одинаковыми, но компоненты разные.
источник