В чем разница между React Native и React?

Я начал изучать реагировать из любопытства и хотел узнать разницу между React и React Native-хотя не смог найти удовлетворительного ответа с помощью Google. React и React Native, похоже, имеют одинаковый формат. У них совершенно другой синтаксис?

24 ответов


ReactJS - это библиотека JavaScript, поддерживающая как интерфейсный веб, так и запущенный на сервере, для создания пользовательских интерфейсов и веб-приложений.

Реагировать Уроженца - это мобильная платформа, которая компилируется в собственные компоненты приложений, позволяя создавать собственные мобильные приложения (iOS, Android и Windows) в JavaScript, что позволяет использовать ReactJS для создания компонентов и реализует ReactJS под капотом.

оба открыты из Facebook.


Google не может объяснить это вам, как вы сказали, но Google был бы так счастлив, если бы они изобрели React.

здесь реагировать проект (https://github.com/facebook/react).

в Facebook, они изобрели реагировать таким образом, JavaScript может быстрее управлять веб-сайтом DOM с помощью виртуальной модели DOM.

полное обновление DOM медленнее по сравнению с React virtual-DOM model, которая обновляется только части страницы (читать: частичное обновление).

Как вы можете понять из этого видео, Facebook не изобрел React, потому что они сразу поняли, что частичное обновление будет быстрее, чем обычное. Первоначально им нужен был способ сократить время восстановления приложения Facebook, и, к счастью,это привело к частичному обновлению DOM.

реагировать уроженца ( https://github.com/facebook/react-native ) это просто следствие реакции. Это платформа для создания собственных приложений с использованием JavaScript.

до реагировать уроженца вам нужно было знать Java для Android или Objective-C для iPhone и iPad для создания собственных приложений.

с помощью React Native можно имитировать поведение собственного приложения в JavaScript, и в конце вы получите код платформы в качестве вывода. Вы даже можете смешать машинный код С JavaScript, если вам нужно оптимизировать дальнейшее применение.

Как сказала Оливия Бишоп в видео, на 85%реагировать уроженца база кода может быть разделена между платформами. Это будут компоненты, которые обычно используют приложения, и общая логика.

15% кода зависит от платформы. Специфичный для платформы JavaScript-это то, что придает платформе вкус ( и делает разницу в опыте ).

самое классное, что этот код платформы-это уже написано, так что вам просто нужно использовать его.


реагировать:

React-декларативная, эффективная и гибкая библиотека JavaScript для создание пользовательских интерфейсов.

Родной Реагировать:

React Native позволяет создавать мобильные приложения, используя только JavaScript. Он использует тот же дизайн, что и React, позволяя создавать богатый мобильный интерфейс из декларативного комплектующие.
С React Native вы не создаете " мобильное веб-приложение", в "базе HTML5 app", или "гибридное приложение". Вы создаете настоящее мобильное приложение, которое неотличимый от приложения, построенного с помощью Objective-C или Java. Реагировать Native использует те же основные строительные блоки пользовательского интерфейса, что и обычная iOS и Приложения для Android. Вы просто положить эти строительные блоки вместе, используя JavaScript и реагировать.
React Native позволяет быстрее создавать приложение. Вместо перекомпиляции вы можете мгновенно перезагрузить приложение. С горячим перезагрузка, вы даже можете запустить новый код, сохраняя приложение государство. Попробуйте-это волшебный опыт.
Родной Реагировать плавно сочетается с компонентами, написанными на языке Objective-C, Java или Быстрый. Это просто, чтобы упасть до собственного кода, если вам нужно оптимизировать несколько аспектов приложения. Также легко построить часть ваше приложение в React Native и часть вашего приложения с использованием собственного кода непосредственно-вот как работает приложение Facebook.

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

реагировать код:

import React, { Component } from 'react';
import ReactDOM from 'react-dom';

class Clock extends React.Component {
  constructor(props) {
    super(props);
    this.state = {date: new Date()};
  }

  componentDidMount() {
    this.timerID = setInterval(
      () => this.tick(),
      1000
    );
  }

  componentWillUnmount() {
    clearInterval(this.timerID);
  }

  tick() {
    this.setState({
      date: new Date()
    });
  }

  render() {
    return (
      <div>
        <h1>Hello, world!</h1>
        <h2>It is {this.state.date.toLocaleTimeString()}.</h2>
      </div>
    );
  }
}

ReactDOM.render(
  <Clock />,
  document.getElementById('root')
);


Реагировать Уроженца код:

import React, { Component } from 'react';
import { Text, View } from 'react-native';

class WhyReactNativeIsSoGreat extends Component {
  render() {
    return (
      <View>
        <Text>
          If you like React on the web, you'll like React Native.
        </Text>
        <Text>
          You just use native components like 'View' and 'Text',
          instead of web components like 'div' and 'span'.
        </Text>
      </View>
    );
  }
}

подробнее о реагировать посетите официальный сайт facebook:

https://facebook.github.io/react

подробнее о Реагировать Уроженца, посетите веб-сайт React native здесь:

https://facebook.github.io/react-native


ReactJS-это платформа для построения иерархии компонентов пользовательского интерфейса. Каждый компонент имеет состояние и реквизит. Потоки данных от верхних компонентов к низкоуровневым через упорки. Состояние обновляется в компоненте верхнего уровня с помощью обработчиков событий.

React native использует React framework для создания компонентов для мобильных приложений. React native предоставляет базовый набор компонентов для платформ iOS и Android. Некоторые из компонентов в React Native: Navigator, TabBar, Text, TextInput, Вид, Представление ScrollView. Эти компоненты используют собственные компоненты iOS UIKit и Android UI внутренне. React native также позволяет NativeModules, где код, написанный в ObjectiveC для iOS и Java для Android, может использоваться в JavaScript.


  1. React-Native-это платформа для разработки приложений Android и iOS, которая разделяет 80% - 90% кода Javascript.

В То Время Как Реагировать.js является родительской библиотекой Javascript для разработки веб-приложений.

  1. в то время как вы используете теги типа <View>, <Text> очень часто в React-Native, React.js использует веб-теги html, такие как <div> <h1> <h2>, которые являются только синонимами в словаре web / mobile развития.

  2. Для React.js вам нужен DOM для рендеринга HTML-тегов, а для мобильного приложения: React-Native использует AppRegistry для регистрации вашего приложения.

Я надеюсь, что это простое объяснение быстрых различий/сходств в React.js и React-родные.


React-декларативная, эффективная и гибкая библиотека JavaScript для создания пользовательских интерфейсов.Ваши компоненты сообщают React, что вы хотите визуализировать – тогда React будет эффективно обновлять и визуализировать только правильные компоненты при изменении данных. Здесь ShoppingList-это класс компонента React или тип компонента React.

A React Native app-настоящее мобильное приложение. С помощью React Native вы не создаете "мобильное веб-приложение", "приложение HTML5" или "гибридное приложение". Вы строите настоящий мобильный приложение, которое неотличимо от приложения, построенного с использованием Objective-C или Java. React Native использует те же фундаментальные строительные блоки пользовательского интерфейса, что и обычные приложения для iOS и Android.

Подробнее


ReactJS-это базовая структура, предназначенная для создания компонента, изолированного на основе реактивного шаблона, вы можете думать об этом как о V от MVC, хотя я хотел бы заявить, что react приносит другое ощущение, особенно если вы менее знакомы с реактивной концепцией.

ReactNative-это еще один слой, который должен иметь компонент set для платформы Android и iOS, которые являются общими. Таким образом, код выглядит в основном так же, как ReactJS, потому что ReactJS, но он загружается изначально в мобильном телефоне платформы. Вы также можете связать более сложный и платформенный относительный API с Java / Objective-C/Swift в зависимости от ОС и использовать его в React.


Реагировать Уроженца в основном разработан в JavaScript, что означает, что большая часть кода, который вам нужно начать, может быть разделена между платформами. React Native будет отображаться с использованием собственных компонентов. React Native apps разрабатываются на языке, требуемом целевой платформой, Objective-C или Swift для iOS, Java для Android и т. д. Написанный код не является общим для всех платформ, и их поведение меняется. Они имеют прямой доступ ко всем функциям, предлагаемым платформой без ограничений.

реагировать - это библиотека JavaScript с открытым исходным кодом, разработанная Facebook для создания пользовательских интерфейсов. Он используется для обработки слоя представления для веб-и мобильных приложений. ReactJS используется для создания повторно используемых компонентов пользовательского интерфейса.В настоящее время это одна из самых популярных библиотек JavaScript в области ИТ, и она имеет прочную основу и большое сообщество за ней.Если вы изучаете ReactJS, вам нужно иметь знания JavaScript, HTML5 и CSS.


React-Native-это фреймворк, где ReactJS-это библиотека javascript, которую вы можете использовать для своего сайта.

React-native предоставляет основные компоненты по умолчанию (изображения, текст), где React предоставляет кучу компонентов и заставляет их работать вместе.


в отношении жизненного цикла компонента и все остальные навороты это в основном то же самое.

разница в основном является JSX разметки. React использует тот, который напоминает html. Другой-разметка, которая используется react-native для отображения представления.


во-первых, сходство: оба react & react-native (RN) были разработаны, чтобы позволить разработчикам создавать гибкие пользовательские интерфейсы. Есть тонны преимуществ для этих рамок, но самый фундаментальный вывод заключается в том, что они сделаны для UI-разработки.

реагировать: Facebook (который разработал RN через несколько лет после react) разработал эту структуру, чтобы быть почти как написание JavaScript внутри вашего HTML / XML, поэтому теги называются "JSX " (JavaScript XML) (например, знакомые HTML-подобные теги, такие как <div> или <p>). Отличительной чертой React являются теги с заглавными буквами, которые обозначают пользовательский компонент, например <MyFancyNavbar />, что также верно для RN. Однако, где они отличаются в том, что React использует дом. Поскольку DOM существует для HTML, React поэтому используется для веб-разработки.

Родной Реагировать: RN не использует HTML, и поэтому он не используется для web развитие. Он используется для... практически все остальное! Мобильная разработка (как iOS, так и Android), смарт-устройства (например, часы, телевизоры), дополненная реальность и т. д. Поскольку RN не имеет DOM для взаимодействия, вместо использования тех же тегов HTML, используемых в React, он использует свои собственные теги, которые затем компилируются на другие языки. Например, вместо <div> теги, разработчики RN будут использовать встроенный RN <View> тег, который будет компилироваться в другой собственный код под капотом (например,android.view на Android; и UIView на iOS).

короче: они очень похожи (для разработки пользовательского интерфейса), но используются для разных сред.


React Native предназначен для мобильных приложений, а React-для веб-сайтов(front-end). Оба фреймворка придуманы Facebook. React Native-это кросс-платформенная платформа для разработки, то есть можно написать почти один и тот же код для IOS и Android, и он будет работать. Я лично знаю гораздо больше о React Native, поэтому я оставлю его на этом.


реагировать является базовой абстракцией Реагировать Уроженца и реагировать DOM, поэтому, если вы собираетесь работать с React Native, Вам также понадобится React... то же самое с интернетом, но вместо React Native вам понадобится React DOM.

поскольку React является базовой абстракцией, общий синтаксис и рабочий процесс одинаковы, но компоненты, которые вы будете использовать, очень разные, поэтому вам нужно будет изучить эти различия, это встроено в React так называемый moto, который "учится писать в любом месте", потому что если вы знаете React(базовая абстракция), вы можете просто узнать различия между платформой, не изучая другой язык программирования, синтаксис и рабочий процесс.


React Js-это библиотека Javascript, где вы можете разрабатывать и запускать более быстрые веб-приложения с помощью React .

React Native позволяет создавать мобильные приложения, используя только JavaScript, он используется для разработки мобильных приложений . подробнее здесь https://facebook.github.io/react-native/docs/getting-started.html


объясняя очень просто, React и React native придерживаются тех же принципов проектирования, за исключением проектирования пользовательского интерфейса.

  1. React native имеет отдельный набор тегов для определения пользователя интерфейс для мобильных устройств, но react использует html-css для определения интерфейсов
  2. обе системы основной целью является повторное использование пользовательских интерфейсов
  3. как следует компонент на основе architecute

в любом случае это отличный фреймворк для создания пользователя интерфейса для мобильных и web


реагировать.js

реагировать.js, часто называемый React или ReactJS, - это библиотека JavaScript, ответственная за построение иерархии компонентов пользовательского интерфейса или, другими словами, за рендеринг компонентов пользовательского интерфейса. Он обеспечивает поддержку как frontend, так и на стороне сервера.

Реагировать Уроженца

React Native-это платформа для создания собственных приложений с использованием JavaScript. React Native компилируется в собственные компоненты приложения, которые позволяет создавать собственные мобильные приложения. В React JS React является базовой абстракцией React DOM для веб-платформы, в то время как с React Native React по-прежнему является базовой абстракцией, но React Native. Таким образом, синтаксис и рабочий процесс остаются похожими, но компоненты отличаются.

реагировать.js был разработан Facebook для удовлетворения его потребности в динамическом и высокопроизводительном пользовательском интерфейсе (UI). В 2011 году Джордан Уолк и его команда из Facebook выпустили React JS library, библиотека JavaScript, которая объединила скорость JavaScript и новый способ рендеринга страниц, что привело к отзывчивому и динамическому вводу пользователем. В 2015 году, через два года после команды с открытым исходным кодом реагировать.js и его популярность росли, они выпустили React Native.


ReactJS-это библиотека JavaScript, которая используется для создания веб-интерфейсов. Вам понадобится пакет, такой как webpack, и попробуйте установить модули, необходимые для создания вашего сайта.

React Native-это фреймворк, и он поставляется со всем необходимым для написания встроенных приложений для ios и android. Для создания и запуска приложения вам понадобятся Xcode и Android studio.

В отличие от ReactJS, React-Native не использует HTML, но аналогичные компоненты, которые вы можете использовать через ios и Android для создания приложения. Эти компоненты используют реальные собственные компоненты для создания приложений ios и android. Благодаря этому приложения React-Native чувствуют себя реальными в отличие от других гибридных платформ разработки. Компоненты также увеличивают повторное использование кода, так как вам не нужно снова создавать тот же пользовательский интерфейс на ios и android.

Я бы рекомендовал всем разработчикам ios и android повеселиться с этой библиотекой.


реагировать библиотека Javascript для создания Большого / Малого веб-приложения интерфейса, такого как Facebook.

РЕАГИРОВАТЬ РОДНОЙ является JavaScript framework для разработки собственного мобильного приложения на Android, IOS и Windows Phone.

оба с открытым исходным кодом на Facebook.


Реагировать Уроженца очень похоже на ReactJS в некотором роде, но есть различия, которые вам нужно знать, прежде чем запускать свое первое родное приложение. Это гибрид рамок разработки мобильных приложений, доступный для iOS и Android. ReactJS и React Native похожи в одном отношении, но в других они совершенно разные. ReactJS является ядром React Native, понимание первого является ключевым.

ReactJs часто называемый React или ReactJS является Библиотека JavaScript отвечает за построение иерархии компонентов пользовательского интерфейса или, другими словами, за визуализацию компонентов пользовательского интерфейса. Он обеспечивает поддержку как frontend, так и на стороне сервера. Реагировать.js-это только V часть MVC framework, библиотека, предназначенная для рендеринга ваших представлений.


React Native для мобильных устройств и React для веб-приложений


вот различия, о которых я знаю:

  1. у них разные HTML-теги: React Native используется для обработки текста и вместо React.
  2. React Native использует сенсорные компоненты вместо обычной кнопки элемент.
  3. React Native имеет компоненты ScrollView и FlatList для отрисовки списков.
  4. React Native использует AsyncStorage в то время как React использует локальное хранилище.
  5. в собственных маршрутизаторах React функция как стек, в то время как в React мы используем компоненты маршрута для отображения навигации.

React-это платформа, используемая для разработки веб-приложений.

React native-это платформа, используемая для разработки мобильных приложений (iOS и Android).


в Facebook они изобрели React, чтобы JavaScript мог манипулировать сайт DOM быстрее использует виртуальные модели DOM. Вот реакция проект ( https://github.com/facebook/react ). Полное обновление DOM медленнее по сравнению с моделями виртуальных dom, которые обновляется только часть страницы (читай: частичное обновление).

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

родной язык React (https://github.com/facebook/react-native) это просто следствие реакции. Это платформа для создания собственного приложения с помощью Яваскрипт.

до React native вам нужно было знать Java для Android или Objective-C для iPhone и iPad для создания собственного приложения.

С помощью React Native можно имитировать поведение native приложения в JavaScript и в конце, вы получите конкретную платформу код на выходах. Вы даже можете смешать собственный код с JavaScript, если вам нужно оптимизировать приложения дальше.


мы не можем сравнить их. Есть различия в usecase.

( обновление 2018 )


ReactJS

имеет как main фокус : Веб-Разработки

    • виртуальный DOM React быстрее, чем обычная модель полного обновления, так как виртуальный DOM обновляет только части страницы.
    • вы можете повторное использование компонентов кода в React JS, экономя вам много времени. ( как вы можете в RN тоже )
    • как бизнес: рендеринг ваших страниц полностью, от сервера до браузера будет улучшение SEO вашего веб-приложения.
    • это улучшает скорость отладки создание жизни вашего разработчика облегчающий.
    • вы можете использовать гибридную разработку мобильных приложений, как Cordova или Ionic для создания мобильных приложений тоже с ReactJS, но более эффективно создавать мобильные приложения с React Native из многих точек.

ReactNative

расширение react, niched на Мобильная Разработка.

    • его основное внимание - >это все о Мобильный Пользовательский Интерфейс.
    • iOS & Android прикрыли.
    • многоразовые реагировать родной интерфейс компоненты и модули, которые позволяют гибридным приложениям отображать изначально.
    • нет необходимости в капитальном ремонте вашего старого приложения. Все, что вам нужно сделать, это добавьте собственные компоненты пользовательского интерфейса React в существующий код приложения, без необходимости переписывать.
    • не использует HTML для отображения приложения. Предоставляет альтернативные компоненты, которые работают аналогичным образом, поэтому их нетрудно понять.
    • поскольку ваш код не отображается на HTML-странице, это также означает, что вы не сможет повторно использовать библиотеки, которые вы ранее использовали с ReactJS что делает любой вид HTML, SVG или Canvas.
    • React-Native не сделан из веб-элементов и не может быть стилизован таким же образом. до свидания CSS анимации

надеюсь, я помог вам :)