Hvad er den største forskel mellem React, ReactdOM og React Native?


Svar 1:

Både React Native og ReactDOM er brugerdefinerede rendere (ReactDOM til internettet, React Native for iOS og Android). React er et lag oven på disse renderere, der giver dig mulighed for at skrive deklarative, komponerbare komponenter.

React Native bruger React til at transformere dit Javascript og JSX for at få dem til at arbejde på både iOS og Android. Det er hurtigt at opbygge, har regelmæssige opdateringer, et enormt samfund og stor støtte (takket være sit forhold til Facebook). Derudover har det en fantastisk udvikleroplevelse, hvor du kan drage fordel af varm genindlæsning (se ændringer live, mens du ændrer UI-koden). Sultne efter mere viden om React Native? Se Netgurus artikel om fordele og ulemper ved React Native.

ReactDOM er ikke noget, du ofte bruger, når du arbejder med React, men det er vigtigt at bemærke, at denne abstraktion giver enorme fordele under hætten som optimering af render. React and React Native er begge meget konservative om, hvornår man skal lave en faktisk gengivelse til DOM (eller det oprindelige visningshierarki). Dette opnås takket være VirtualDOM, som en React-forsoner ser på, hver gang din tilstand ændres for at sammenligne snapshots og beslutte, om en ny gengivelse er nødvendig. Dette ser måske ikke ud som meget, men er faktisk det, der muliggør den erklærende karakter af JSX og tilbyder betydelige ydeevneoptimeringer.


Svar 2:

React er en ramme / motor til at manipulere dom-objekter.

ReactDOM er en implementering af browser-DOM-abstraktion til React.

React Native er en ramme, der bruger ReactJS og native til operativsystem DOM-implementering til React. Det samler også al koden til native til operativsystemets binære kode.


Svar 3:

For at gennemgå React Native skal den sammenlægges med Native Development.

Hvis du vil oprette en app til din virksomhed, bliver du nødt til at overveje React Native vs Native udvikling for at træffe et valg.

Valget skal træffes mellem apps, der har fremragende brugergrænseflade og UX, og dem, der er tværgående platform.

Da fokuspunktet på dit spørgsmål er React Native, vil jeg gerne oplyse nogle af dets fordele og ulemper, som jeg har forstået gennem årene.

Fordele ved reaktiv indfødt udvikling:

1. Enkelt kodebase

Med React Native kan en enkelt kodebase bruges til både Android og iOS. Dette gør livet lettere for udviklere, da de ikke behøver at lære forskellige sprog eller forstå forskellige platforme.

2. Lav udviklingstid

Da en udvikler skal skrive en enkelt kode, sparer det meget tid og kræfter for udviklingsholdet.

3. Let overgang for webudviklere

En React Native-appudvikling er baseret på JavaScript-rammen. Dette gør overgangen fra at være en webudvikler til en mobiludvikler meget lettere.

4. Open Source

Da React Native er open source, kan koden inspiceres. Derfor kan rammen forbedres ved at rette fejl og opdatere funktioner.

5. Varm genindlæsning

Et af de interessante træk ved React Native er Hot Reloading. Det tillader en reaktiv native udvikler at injicere nyere versioner af filer, de redigerer, mens appen kører. Dette hjælper udviklere med at modtage hurtig feedback om de foretagne ændringer.

Ulemper ved reaktiv indfødt udvikling

1. Understøtter ikke alle API'er

Selvom nogle populære native API'er understøttes af React Native, understøtter det ikke andre vigtige API'er og funktionaliteter. For at få adgang til disse funktionaliteter bruges native moduler.

2. Begrænsede tredjepartsbiblioteker

Sammenlignet med native platforme har React Native et mindre samfund, som der er mangel på tredjepartsbiblioteker på.

3. Interaktion med indfødte elementer

Dette er sandsynligvis de største ulemper ved React Native-udviklingen, at det ikke giver noget omfang at bruge de oprindelige elementer på en enhed som kamera eller stemmecorder.