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


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

24 364

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 Native вы не создаете " мобильное веб-приложение", an " HTML5 приложение", или"гибридное приложение". Вы создаете настоящее мобильное приложение, которое неотличимо от приложения, построенного с использованием 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 родной сайт здесь:

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

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

React native использует React framework для создания компонентов для мобильных приложений. React native предоставляет базовый набор компонентов для платформ iOS и Android. Некоторые компоненты в React Native-это навигатор, панель вкладок, текст, TextInput, Вид, Представление ScrollView. Эти компоненты используют собственные компоненты пользовательского интерфейса iOS UIKit и Android внутри. 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. На Это Реагировать.Яш вам нужен дом для визуализации пути HTML-теги, в то время как для мобильного приложения: реагировать родной использует AppRegistry, чтобы зарегистрировать приложение.

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

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

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

Подробнее

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

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

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

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

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

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

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

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

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

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

React Native: 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, поэтому я оставлю его на этом.

реагировать является базовой абстракцией React Native и React 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. оба следуют компонентной архитектуре

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

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

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

React Native

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


ReactJS

основная фокус:Веб-Разработки

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

ReactNative

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

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

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