J'ai commencé à apprendre React par curiosité et je voulais connaître la différence entre React et React Native - mais je n'ai pas pu trouver de réponse satisfaisante en utilisant Google. React et React Native semblent avoir le même format. Ont-ils une syntaxe complètement différente?
javascript
reactjs
react-native
javascript-framework
shiva kumar
la source
la source
<h1>
,<p>
, etc. Où application native vue rend-native composants réagissent comme<View>
,<Text>
,<Image>
,<ScrollView>
, de sorte que vous ne pouvez pas réutiliser directement votre code composant d'interface utilisateur à moins que vous retouchez / remplacer tous les éléments.Réponses:
ReactJS est une bibliothèque JavaScript, prenant en charge à la fois le Web frontal et s'exécutant sur un serveur, pour créer des interfaces utilisateur et des applications Web.
React Native est un framework mobile qui se compile en composants d'application natifs, vous permettant de créer des applications mobiles natives pour différentes plates-formes (iOS, Android et Windows Mobile) en JavaScript qui vous permet d'utiliser ReactJS pour construire vos composants et implémente ReactJS sous le capuche.
Les deux suivent l'extension de syntaxe JSX vers JavaScript.
Les deux sont open source par Facebook.
la source
Voici le projet React .
Chez Facebook, ils ont inventé React pour que JavaScript puisse manipuler le site Web DOM plus rapidement en utilisant le modèle DOM virtuel.
L'actualisation complète du DOM est plus lente par rapport au modèle de dom virtuel React , qui actualise uniquement certaines parties de la page (lire: actualisation partielle).
Comme vous pouvez le comprendre dans cette vidéo , Facebook n'a pas inventé React car ils ont immédiatement compris que le rafraîchissement partiel serait plus rapide que le rafraîchissement conventionnel. À l'origine, ils avaient besoin d'un moyen de réduire le temps de reconstruction des applications Facebook et, heureusement, cela a donné vie au rafraîchissement partiel du DOM.
React native n'est qu'une conséquence de React. Il s'agit d'une plate-forme pour créer des applications natives à l'aide de JavaScript.
Avant React native, vous deviez connaître Java pour Android ou Objective-C pour iPhone et iPad pour créer des applications natives.
Avec React Native, il est possible d'imiter le comportement de l'application native en JavaScript et à la fin, vous obtiendrez du code spécifique à la plate-forme en sortie. Vous pouvez même mélanger le code natif avec le JavaScript si vous avez besoin d'optimiser davantage votre application.
Comme Olivia Bishop l'a dit dans la vidéo , 85% de la base de code native React peut être partagée entre les plateformes. Ce sont les composants que les applications utilisent généralement et la logique commune.
15% du code est spécifique à la plateforme. Le JavaScript spécifique à la plate-forme est ce qui donne une saveur à la plate-forme (et fait la différence dans l'expérience).
Ce qui est cool, c'est ce code spécifique à la plate-forme - il est déjà écrit, il vous suffit donc de l'utiliser.
la source
Réagir:
React Native:
Donc, fondamentalement, React est une bibliothèque d'interface utilisateur pour la vue de votre application Web, en utilisant javascript et JSX , React native est une bibliothèque supplémentaire au-dessus de React, pour créer une application native pour
iOS
et lesAndroid
appareils.Exemple de code React :
Exemple de code natif React :
Pour plus d'informations sur React , visitez leur site officiel créé par l'équipe facebook:
https://facebook.github.io/react
Pour plus d'informations sur React Native , visitez le site Web React Native ci-dessous:
https://facebook.github.io/react-native
la source
ReactJS est un cadre pour construire une hiérarchie de composants d'interface utilisateur. Chaque composant a un état et des accessoires. Les données circulent du haut vers les composants de bas niveau via des accessoires. L'état est mis à jour dans le composant de niveau supérieur à l'aide de gestionnaires d'événements.
React natif utilise le framework React pour créer des composants pour les applications mobiles. React native fournit un ensemble de composants de base pour les plates-formes iOS et Android. Certains des composants de React Native sont Navigator, TabBar, Text, TextInput, View, ScrollView. Ces composants utilisent les composants natifs iOS UIKit et Android UI en interne. React native permet également à NativeModules d'utiliser du code écrit en ObjectiveC pour iOS et Java pour Android dans JavaScript.
la source
Premièrement, les similitudes: React et React Native (RN) ont été conçus pour créer des interfaces utilisateur flexibles. Il y a des tonnes d'avantages à ces cadres, mais le plus fondamental est qu'ils sont faits pour le développement de l'interface utilisateur. Facebook a développé RN quelques années après React.
Réagissez: Facebook a conçu ce cadre pour ressembler presque à l'écriture de votre JavaScript à l'intérieur de votre HTML / XML, c'est pourquoi les balises sont appelées " JSX " (JavaScript XML) et sont similaires aux balises de type HTML familières telles que
<div>
ou<p>
. Une caractéristique de React est les balises en lettres majuscules qui désignent un composant personnalisé, tel que<MyFancyNavbar />
, qui existe également dans RN. Cependant, React utilise le DOM . Le DOM existe pour HTML, donc React est utilisé pour le développement web.React Native: RN n'utilise pas HTML et n'est donc pas utilisé pour le développement Web. Il est utilisé pour ... pratiquement tout le reste! Développement mobile (iOS et Android), appareils intelligents (par exemple montres, téléviseurs), réalité augmentée, etc. Comme RN n'a pas de DOM avec lequel interagir, au lieu d'utiliser le même type de balises HTML que celles utilisées dans React, il utilise ses propres balises qui sont ensuite compilées dans d'autres langues. Par exemple, au lieu des
<div>
balises, les développeurs RN utilisent la<View>
balise intégrée de RN , qui se compile dans un autre code natif sous le capot (par exempleandroid.view
sur Android etUIView
sur iOS).En bref: ils sont très similaires (pour le développement de l'interface utilisateur) mais utilisés pour différents supports.
la source
Alors que React.js est une bibliothèque Javascript parent pour développer des applications Web.
Pendant que vous utilisez des balises comme
<View>
,<Text>
très fréquemment dans React-Native, React.js utilise des balises HTML Web comme<div>
<h1>
<h2>
, qui ne sont que des synonymes dans le dictionnaire des développements Web / mobiles.Pour React.js, vous avez besoin de DOM pour le rendu du chemin des balises html, tandis que pour l'application mobile: React-Native utilise AppRegistry pour enregistrer votre application.
J'espère que c'est une explication facile pour les différences / similitudes rapides dans React.js et React-Native.
la source
Nous ne pouvons pas les comparer exactement. Il existe des différences dans les cas d'utilisation .
(Mise à jour 2018)
ReactJS
React a pour principal objectif le développement Web.
React Native
Une extension de React , nichée sur le développement mobile.
J'espère que je vous ai aidé :)
la source
Dans un sens simple, React et React native suivent les mêmes principes de conception, sauf dans le cas de la conception d'une interface utilisateur.
Quoi qu'il en soit, c'est une excellente bibliothèque pour créer une interface utilisateur pour mobile et web.
la source
React est une bibliothèque JavaScript déclarative, efficace et flexible pour la création d'interfaces utilisateur.Vos composants indiquent à React ce que vous souhaitez rendre - puis React mettra à jour et restituera efficacement les bons composants lorsque vos données changent. Ici, ShoppingList est une classe de composants React ou un type de composant React.
Une application React Native est une véritable application mobile. Avec React Native, vous ne créez pas une «application Web mobile», une «application HTML5» ou une «application hybride». Vous créez une véritable application mobile qui ne se distingue pas d'une application créée à l'aide d'Objective-C ou de Java. React Native utilise les mêmes blocs de construction d'interface utilisateur fondamentaux que les applications iOS et Android classiques.
Plus d'informations
la source
ReactJS est un framework de base, destiné à construire un composant isolé basé sur un modèle réactif, vous pouvez le considérer comme le V de MVC, bien que je voudrais dire que réagir apporte une sensation différente, surtout si vous êtes moins familier avec le concept réactif .
ReactNative est une autre couche qui est censée avoir un composant défini pour la plate-forme Android et iOS qui sont communs. Le code ressemble donc essentiellement à ReactJS car il s'agit de ReactJS, mais il se charge nativement sur les plates-formes mobiles. Vous pouvez également relier des API plus complexes et relatives à la plate-forme avec Java / Objective-C / Swift selon le système d'exploitation et l'utiliser dans React.
la source
React Native est principalement développé en JavaScript, ce qui signifie que la plupart du code dont vous avez besoin pour commencer peut être partagé sur plusieurs plateformes. React Native effectuera le rendu à l'aide de composants natifs. Les applications React Native sont développées dans le langage requis par la plateforme ciblée, Objective-C ou Swift pour iOS, Java pour Android, etc. Le code écrit n'est pas partagé entre les plateformes et leur comportement varie. Ils ont un accès direct à toutes les fonctionnalités offertes par la plateforme sans aucune restriction.
React est une bibliothèque JavaScript open source développée par Facebook pour créer des interfaces utilisateur. Il est utilisé pour gérer la couche d'affichage pour les applications Web et mobiles. ReactJS utilisé pour créer des composants d'interface utilisateur réutilisables.C'est actuellement l'une des bibliothèques JavaScript les plus populaires dans le domaine informatique et elle a une base solide et une grande communauté derrière elle.Si vous apprenez ReactJS, vous devez avoir une connaissance de JavaScript, HTML5 et CSS.
la source
React est l'abstraction de base de React Native et React DOM , donc si vous allez travailler avec React Native, vous aurez également besoin de React ... même avec le Web, mais au lieu de React Native, vous aurez besoin de React DOM.
Étant donné que React est l'abstraction de base, la syntaxe générale et le flux de travail sont les mêmes, mais les composants que vous utiliserez sont très différents, vous devrez donc apprendre ces différences, cela est en ligne avec React, appelé moto, qui est "Apprendre une fois à écrire n'importe où", car si vous connaissez React (abstraction de base), vous pouvez simplement apprendre les différences entre les plates-formes sans apprendre un autre langage de programmation, la syntaxe et le flux de travail.
la source
React-Native est un framework, où ReactJS est une bibliothèque javascript que vous pouvez utiliser pour votre site Web.
React-native fournit des composants de base par défaut (images, texte), où React fournit un tas de composants et les fait fonctionner ensemble.
la source
React Js est une bibliothèque Javascript où vous pouvez développer et exécuter des applications Web plus rapides à l'aide de React.
React Native vous permet de créer des applications mobiles en utilisant uniquement JavaScript, il est utilisé pour le développement d'applications mobiles. plus d'informations ici https://facebook.github.io/react-native/docs/getting-started.html
la source
En ce qui concerne le cycle de vie des composants et toutes les autres cloches et sifflets, il est essentiellement le même.
La différence est principalement le balisage JSX utilisé. React en utilise un qui ressemble au html. L'autre est le balisage utilisé par react-native pour afficher la vue.
la source
React Native est destiné aux applications mobiles tandis que React est destiné aux sites Web (front-end). Les deux sont des cadres inventés par Facebook. React Native est un framework de développement multiplateforme, ce qui signifie que l'on pourrait écrire presque le même code pour IOS et Android et cela fonctionnerait. Personnellement, j'en sais beaucoup plus sur React Native, donc je vais en rester là.
la source
React Js manipule avec HTML Dom. Mais React natif manipule avec le composant ui natif mobile (iOS / android).
la source
ReactJS est une bibliothèque javascript qui est utilisée pour créer des interfaces web. Vous auriez besoin d'un bundler comme webpack et essayez d'installer les modules dont vous auriez besoin pour construire votre site web.
React Native est un framework javascript et il est livré avec tout ce dont vous avez besoin pour écrire des applications multi-plateformes (comme iOS ou Android). Vous auriez besoin que xcode et android studio soient installés pour créer et déployer votre application.
Contrairement à ReactJS, React-Native n'utilise pas HTML mais des composants similaires que vous pouvez utiliser sur iOS et Android pour créer votre application. Ces composants utilisent de vrais composants natifs pour créer les applications ios et android. En raison de cela, les applications React-Native semblent réelles contrairement aux autres plates-formes de développement hybrides. Les composants augmentent également la réutilisabilité de votre code car vous n'avez pas besoin de recréer la même interface utilisateur sur iOS et Android.
la source
En termes simples, ReactJS est la bibliothèque parente qui retourne quelque chose à restituer selon l'environnement hôte (navigateur, mobile, serveur, bureau .. etc.). Outre le rendu, il fournit également d'autres méthodes telles que les crochets de cycle de vie, etc.
Dans le navigateur, il utilise une autre bibliothèque react-dom pour rendre les éléments DOM. Dans le mobile, il utilise des composants React-Native pour rendre les composants d'interface utilisateur natifs spécifiques à la plate-forme (IOS et Android). DONC,
react + react-dom = développement web
react + react-native = développement mobile
la source
REACT est une bibliothèque Javascript pour construire une application web à grande / petite interface comme Facebook.
REACT NATIVE est un framework Javascript pour développer une application mobile native sur Android, IOS et Windows Phone.
Les deux sont open source par Facebook.
la source
Voici les différences que je connais:
la source
En résumé: React.js pour le développement Web tout en React-Native pour le développement d'applications mobiles
la source
ReactJS
React Native
la source
React Js - React JS est une bibliothèque javascript front-end c'est une grande bibliothèque pas un framework
des composants d'interface utilisateur réutilisables
ReactNative - React Native est un cadre d'application mobile open source.
la source
Un peu tard pour la fête, mais voici une réponse plus complète avec des exemples:
Réagir
React est une bibliothèque d'interface utilisateur basée sur des composants qui utilise un "DOM fantôme" pour mettre à jour efficacement le DOM avec ce qui a changé au lieu de reconstruire l'arborescence DOM entière pour chaque changement. Il a été initialement conçu pour les applications Web, mais peut désormais être utilisé pour les mobiles et 3D / VR.
Les composants entre React et React Native ne peuvent pas être échangés car React Native est mappé à des éléments d'interface utilisateur mobile natifs, mais la logique métier et le code non lié au rendu peuvent être réutilisés.
ReactDOM
Initialement inclus dans la bibliothèque React, il a été fractionné une fois que React était utilisé pour d'autres plates-formes que le Web. Il sert de point d'entrée au DOM et est utilisé en association avec React.
Exemple:
React Native
React Native est un framework mobile multiplateforme qui utilise React et communique entre Javascript et son homologue natif via un "pont". Pour cette raison, beaucoup de structuration de l'interface utilisateur doit être différente lors de l'utilisation de React Native. Par exemple: lors de la création d'une liste, vous rencontrerez des problèmes de performances majeurs si vous essayez d'utiliser
map
pour construire la liste au lieu de React NativeFlatList
. React Native peut être utilisé pour créer des applications mobiles IOS / Android, ainsi que pour des montres intelligentes et des téléviseurs.Expo
Expo est le go-to lors du démarrage d'une nouvelle application React Native.
Remarque: Lorsque vous utilisez Expo, vous ne pouvez utiliser que les API natives qu'ils fournissent. Toutes les bibliothèques supplémentaires que vous incluez devront être en pur javascript ou vous devrez éjecter l'expo.
Même exemple avec React Native:
Différences:
onClick
transformer enonPress
, React Native utilise des feuilles de style pour définir les styles d'une manière plus performante, et React Native utilise flexbox comme structure de mise en page par défaut pour garder les choses réactives.React360
Il convient également de mentionner que React peut également être utilisé pour développer des applications 3D / VR. La structure des composants est très similaire à React Native. https://facebook.github.io/react-360/
la source
reactjs utilise un react-dom pas le navigateur dom tandis que react native utilise un dom virtuel mais les deux utilisent la même syntaxe c'est à dire si vous pouvez utiliser reactjs alors vous pouvez utiliser react native.parce que la plupart des bibliothèques que vous utilisez dans reactjs sont disponibles dans react native comme votre navigation React et d'autres bibliothèques communes qu'ils ont en commun.
la source
<h1>
,<p>
, etc. Où rend les composants natifs de vue de l' application native comme réagissent<View>
et<Text>
.En réponse au commentaire de @poshest ci-dessus, voici une version React Native du code Clock précédemment publié dans React (désolé, je n'ai pas pu commenter directement la section, sinon j'aurais ajouté le code ici):
Exemple de code natif React
Notez que le style est entièrement mon choix et ne cherche pas à répliquer directement les balises
<h1>
et<h2>
utilisées dans le code React.la source
Certaines différences sont les suivantes:
1- React-Native est un framework qui permet de créer des applications mobiles, où ReactJS est une bibliothèque javascript que vous pouvez utiliser pour votre site Web.
2- React-Native n'utilise pas HTML pour rendre l'application pendant que React l'utilise.
3- React-Native utilisé pour développer uniquement Mobile App tandis que React utilise pour site Web et Mobile.
la source
React Native
Il s'agit d'un cadre pour la création d'applications natives à l'aide de JavaScript.
Il se compile en composants d'application natifs, ce qui vous permet de créer des applications mobiles natives.
React js
Il prend en charge à la fois le Web frontal et s'exécute sur un serveur, pour créer des interfaces utilisateur et des applications Web.
Cela nous permet également de créer des composants d'interface utilisateur réutilisables.
Vous pouvez réutiliser les composants de code dans React JS, ce qui vous fait gagner beaucoup de temps.
la source
React.js, souvent appelé React ou ReactJS, est une bibliothèque JavaScript chargée de construire une hiérarchie de composants d'interface utilisateur ou en d'autres termes, responsable du rendu des composants d'interface utilisateur. Il fournit une prise en charge à la fois frontale et côté serveur.
React Native est un cadre pour la création d'applications natives à l'aide de JavaScript. React Native compile en composants d'application natifs, ce qui vous permet de créer des applications mobiles natives. Dans React JS, React est l'abstraction de base de React DOM pour la plate-forme Web, tandis qu'avec React Native, React est toujours l'abstraction de base mais de React Native. La syntaxe et le workflow restent donc similaires, mais les composants sont différents.
la source