[119]
24 Окт 2018, 15:59

React Native и React.js — что и как, в чем разница, где применять

При поддержке Facebook, Instagram и авторитетного сообщества разработчиков, React является одной из наиболее используемых библиотек JavaScript в настоящее время. Согласно Libscore, сейчас React используется во многих известных проектах, таких как Netflix, Airbnb, Walmart, HelloSign и Imgur – и это далеко не полный список.

Разработка React.js никоим образом не похожа на разработку мобильных приложений с помощью React native , и они преследуют разные цели. Попробуем объяснить все основные различия между этими двумя PL и предоставить подход к выбору правильного варианта для конкретного проекта.

Разница между React.js и React Native

React.js — это библиотека JavaScript, в то время как React Native — это платформа для разработки мобильных приложений

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

В то время как React Native — это платформа разработки мобильных приложений, которая создает мобильные приложения с помощью React.js. Она позволяет создавать богатый мобильный пользовательский интерфейс из декларативных компонентов. React Native предлагает такие функции, как Hot Reloading, для разработки приложений быстрее и с меньшими усилиями. React Native библиотеки были выпущены Facebook в 2015 году, что дало архитектуру React приложениям для Android, iOS и Windows.

 

И то, и другое повышает эффективность разработки, но в разных направлениях

React.js специализируется на своей способности обеспечить отличную производительность и полностью управляемый цикл рендеринга для своих компонентов. С помощью простой настройки распределения, создания и использования многоразовых компонентов он позволяет разработчикам иметь больше возможностей для использования и создания основных абстракций. Это оказывается полезным для low-level компонентов, таких как кнопки, а также для элементов более высокого уровня, таких как выпадающие списки.

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

 

React.js использует Virtual DOM, в то время как React Native использует собственные API

React.js использует виртуальную DOM для создания лучшего UX. Построение DOM требует времени, поскольку страницы сегодня большие. Но, React.js быстрее выполняет эту работу, используя виртуальную DOM. Таким образом, React.js использует абстрактную копию объектной модели документа и выставляет изменения для одного компонента, не влияя на остальную часть пользовательского интерфейса. Это то, что и делает React.js одним из лучших решений для быстрого обновления и создания динамических UI.

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

 

React.js улучшает SEO для вашего сайта, в то время как React Native — это только UI

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

С другой стороны, поскольку React Native не используется для веб-сайтов, это не имеет никакого отношения к SEO. Он сосредоточен исключительно на создании мобильного интерфейса. По сравнению с другими платформами разработки мобильных приложений, React Native полностью ориентирован на пользовательский интерфейс, что делает его больше похожим на библиотеку JavaScript, а не на фреймворк. В результате пользовательский интерфейс получается очень  отзывчивым. Это значит, что приложение будет иметь более быстрое время загрузки, чем обычное гибридное приложение, и более плавное ощущение при взаимодействии с UI.

 

React.js объединяет технологии, в то время как код React Native может сочетаться с любым существующим приложением

React использует HTML и JS, следуя правилу, что все время они идут рука об руку. Эта идея расширилась за счет CSS, который исключает множество проблем, связанных с worldwide scope и изоляцией переменных / областей.

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

Кроме того, React.js использует HTML и CSS, а React Native — нет. React.js использует <p> и <div>, в то время как React Native использует <text> и <view> соответственно. Вот пример, чтобы показать это:

Для React.js:

function tick() {
const element = (
<div>
<p>Hello, world!</p>
</div>
);
ReactDOM.render(element, document.getElementById('root'));
}
setInterval(tick, 1000);

Для React Native:

import React, { Component } from 'react';
import { Text, View } from 'react-native';
export default class HelloWorldApp extends Component {
render() {
return (
<View>
<Text>Hello world!</Text>
</View>
);
}
}

 

Навигация: разный подход для React.js и React Native

Это момент, в они используют разный подход, но результат довольно похож. Веб-приложения, созданные в React.js, используют React-router для навигации, а React Native имеет совершенно уникальную библиотеку-навигатор для этой цели.

по материалам DZone

Комментарии (0)

Добавить комментарий

Войдите, чтобы написать о чем-нибудь...
Вход Регистрация
Web.onRails
Здесь вы можете спросить или написать обо всём, что касается Веб-разработки.
написать о чем-нибудь...
Метки:
Лучшее
[52]
16 Окт 2011, 15:38
Вывести все элементы POST
[просмотров 1208]
[49]
17 Сен 2011, 15:13
FileZilla перетаскивание файлов
[просмотров 1125]
[74]
31 мая 2011, 11:48
Python проверка существования переменной
[просмотров 1087]
[58]
29 мая 2012, 12:08
Узнать версию PHP из командной строки
[просмотров 1082]
[315]
16 Июл 2011, 20:03
Python работа с MySQL
[просмотров 1073]
[2]
26 Июн 2018, 23:10
Как в React сделать поле input file с кнопкой?
[просмотров 991]
[119]
21 Июл 2011, 14:04
Python Imaging Library (PIL)
[просмотров 984]