Drømmen om at have en enkelt ramme til at dække alle platforme har været blandt os i årevis, og for mange af os virkede det næsten umuligt at komme hertil.
Et par år senere er React Native vokset massivt, siden det blev open-source af Facebook tilbage i 2015. I dag har store spillere som Facebook, Bloomberg, Uber Eats og Walmart valgt React Native til at bygge deres mobile apps.
Så hvad er bedre for din næste fantastiske mobilapp, React Native, eller Native App Development?
For et par måneder siden havde vi den samme diskussion i huset med en af vores partnere. Vi kiggede på to forskellige apps, der begge kunne udvikles native eller cross-platform. Den ene involverede udelukkende iOS-udvikling, og den anden skulle fungere på begge platforme, Android og iOS. Nu forventer de fleste af vores kunder, at vi i denne slags situationer leverer et direkte svar på forhånd med solid information for at opretholde vores position. Sandheden svaret på dette spørgsmål afhænger af det projekt, du planlægger at bygge.
Når vi tager tilfældet med en mobilapplikation, som vi gerne vil arbejde på begge platforme både iOS og Android, er React Native praktisk som en strømlinet, cross-platform framework, der giver dig mulighed for at udvikle to forskellige apps med den samme kodebase uden at gå på kompromis med din brugers oplevelse. Dette betyder simpelthen, at du ikke behøver at oprette en iOS- og Android-app separat, og i stedet vil en enkelt kodebase have output fra to forskellige apps. Det betyder også, at når der er en fejl, behøver vi kun at rette det én gang, hvilket gør hele dette React Native-spil elsket af hold af udviklere over hele verden.
Så ja, React Native er ikke en ramme, der passer til alle, og der er tilfælde, hvor vi ikke anbefaler udvikling på tværs af platforme som den bedste mulighed. Hvis du skifter vinkel, hvis du ønsker at bygge en iOS-mobilapplikation og senere tilføje en Android-applikation til den, er tilgangen ikke den samme.
Fra vores perspektiv kommer React Native med en enorm fordel ved at skære ned på udviklingsomkostningerne. Vores erfaring fortæller os, at udviklingsomkostningerne i de fleste tilfælde reduceres med 30% pr. Platform.
Udover denne store konkurrencefordel, som React Native bringer til bordet, er der et par vigtige ting, vi gerne vil have dig til at overveje, før du træffer nogen beslutning vedrørende den tekniske stak i din mobilapp. Dette er også nogle af de hyppigst stillede spørgsmål, vi får vedrørende React Native. Tag en kop af din yndlingskaffe og læs dette igennem med os.
Påvirker React Native udseendet og følelsen af min mobilapp?
Det rigtige svar er, at det afhænger af den samlede kompleksitet af brugeroplevelsen.
En betydelig fordel, som native mobilapps bringer til bordet, er adgang til alle hovedsageligt native funktionaliteter samt nogle andre animationsværktøjer. Der er ingen mellemvej, og du kan drage fordel af alt, hvad platformen har at tilbyde. For nogle apps, som er lidt mere sofistikerede i deres UX, kan dette forbedre den samlede brugeroplevelse, appen har at tilbyde. Selvom React Native har den animerede API, som er en ret god løsning, siger nogle, at det stadig er langt bag de oprindelige muligheder.
I en nøddeskal giver React Native simpelthen ikke al magt til komplekse animationer og UX, som en indbygget app ville. Alligevel, for enkle apps, medmindre kvaliteten af koden er dårlig, bør brugeren ikke være i stand til at se forskellen.
Påvirker React Native den fremtidige skalerbarhed af min mobilapp?
Vi anbefaler at komme ind på skalerbarhed som et diskussionspunkt længe før du faktisk begynder at opbygge en app. Det giver ikke kun dit digitale produkt en god start, men det hjælper med at sikre, at du ikke behøver at understøtte de økonomiske omkostninger ved muligvis at omskrive din app senere i tiden, da produktet får mere trækkraft.
På nuværende tidspunkt burde React Native have alle mulighederne for skalering med omkring 80% af de apps på markedet. Når det er sagt, er der ingen grund til, at React Native skal stå i vejen for din apps skalerbarhed, og der er et par gode eksempler derude på markedet for at bevise det.
Hvorfor er nogle mennesker skuffede over React Native?
Fordi for apps, der er ressourceintensive og kræver meget interaktion, kan Java, Swift og Objective-C være bedre muligheder. Messaging-apps som Facebook Messenger kan være et godt eksempel her, da de i de fleste tilfælde tillader en høj grad af tilpasning og har en masse baggrundsbehandling.
Der er også apps som batterimonitorer og medieafspillere eller forskellige antivirusprogrammer, der er mere velegnede til modersmål.
Airbnb droppede React Native. Skal jeg også?
Det korte svar er - ingen — men det bliver mere kompliceret end dette.
Hvis vi kigger på tilfældet med Airbnb, droppede de React Native efter at have forsøgt at introducere det i en rimelig stor app, der allerede er skrevet i native code.
Omkring 2009, Airbnb var bare en webbaseret platform med stigende trafik på mobile enheder.
I 2012, indså Airbnb's udviklingsteam, at for at holde trit med den stigende trafik, de havde på mobile enheder, skulle de til sidst begynde at investere i et team af iOS- og Android-udviklere. I næsten fire år har deres team bygget iOS- og Android-apps ved hjælp af dedikerede mobiludviklingsressourcer.
Fire år senere, i 2016 landskabet har ændret sig på en sådan måde, at de måtte komme med en hurtigere løsning på det stadig mere mobile behov på markedet. Allerede at have et ret stort team af erfarne React-ressourcer fra deres webudviklingsteam, at skifte til React Native i stedet for at ansætte iOS- og Android-udviklere, virkede som en god idé. De begyndte at introducere React Native i deres allerede eksisterende kodebase, og indtil i dag blev 15-20% af deres apps skrevet i React Native.
I 2019, Airbnb indså, at det tager mere tid og ressourcer at introducere React Native ind i en allerede eksisterende kodebase, da de ofte stødte på funktionshuller, der skulle udfyldes med indbygget kode.
I tilfældet med Airbnb var overgangen fra 0 til 1 langt dyr end forventet. Pointen her?
Sammenfattende bør React Native nu have alle muligheder for at dække funktionaliteter for mindst 80% på markedet. Den dag i dag er det blevet meget brugt af mange store mærker, der er derude, og i nogle tilfælde kan det være den smarteste mulighed for at udvikle en mobilapp til både Android og iOS.
Hvis dit team overhovedet ikke har nogen erfaring med at arbejde med React Native, ville et alternativ måske være at ansæt en React Native udvikler.
Gik vi glip af noget?
Sørg for, at du slip en linje eller getintouch@rebeldot.com.
Er du nysgerrig efter at vide, hvordan det er at være en rebel? Kom og tag en kop kaffe.
Vi leder efter oprørsfolk til Bliv medlem af vores kontorer i København, Cluj og Oradea.