App-udvikling på tværs af platforme: hvad det er, og hvorfor har vi brug for det.
Hvis vi skulle vælge 10 tilfældige mennesker fra hele verden, ville vi snuble over unikke tankesæt, interessante personligheder og forskellige likes og dislikes.
Imidlertid, den ene ting, som disse mennesker vil have til fælles, er, at hver af dem sandsynligvis vil eje en smartphone fyldt med snesevis af apps og en stabil internetforbindelse.
Derfor vil enhver virksomhed drage fordel af en professionelt udseende, omkostningseffektiv mobilapp, der kan køre på både Android og iOS.
Det er her appudvikling på tværs af platforme er praktisk: det har vundet solid terræn på de oprindelige tilgange, og det har givet et enkelt team mulighed for at udvikle en app, der vil tilfredsstille alle brugere.
Derudover drager den fordel af hurtigere og mere intuitiv UI-udvikling og genanvendelig forretningslogik.
Der er flere valg til at udvikle en omkostningseffektiv mobilapp, der kan køre på både Android og iOS, hver af dem kommer sammen med visse fordele og ulemper. Vi er her for at undersøge React Native, og hvorfor det er et solidt valg for en virksomhed, der ønsker at udvikle en mobilapp i 2022, men vi vil også undersøge alternativerne og hvad de bringer til bordet.
Hvorfor er udvikling af apps på tværs af platforme blevet så populær?
Før vi dykker ned i detaljer om begge rammer på tværs af platforme, skal vi først forstå, hvorfor denne tilgang har fået så meget opmærksomhed og stjålet rampelyset fra native teknologier.
Indbygget appudvikling refererer til oprettelse af en app, der kun kører på mål-operativsystemet. Derfor, hvis din app skulle kunne downloades både i Google Play Store og Apple AppStore, skal du ansætte to separate teams, der hver arbejder på en app.
Mens en native tilgang har sine fordele, bør flere synspunkter tages i betragtning af alle, der ønsker at udvide til mobilmarkederne.
Den mest åbenlyse (og den mest smertefulde) henviser naturligvis til omkostningerne ved en sådan opsætning. To teams ville arbejde samtidigt på det samme produkt (sammenlignet med et enkelt team på tværs af platforme, der ville udvikle en app, der kører på alle platforme). To hold er dyrere end et enkelt.
Derudover kan der også forekomme uoverensstemmelser mellem platformene. Brugere ønsker at se konsistens, og de ønsker ikke at føle sig begrænset af deres platform, når de skal bruge en app.
Hvad er React Native?
React Native er en open-source JavaScript-ramme, der muliggør din React udviklere at bruge deres viden til at skrive smukke og effektive mobilapps på tværs af platforme, alt dette hurtigt.
Det blev udviklet af Facebook og udgivet i 2015. Det bruger de samme arbejdsprincipper som React: en komponentbaseret struktur, varm genindlæsning og et stort økosystem af udviklerværktøjer.
Det understøttes af hele JavaScript-samfundet og drager således fordel af mange udviklere, der deler deres viden og løsninger for at lette udviklingen for andre.
I de følgende afsnit vil vi undersøge nogle af fordelene (sammen med ulemperne) ved at vælge React Native til udvikling af en mobilapp.
Det bakkes op af et magtfuldt samfund, og det kan i høj grad reducere omkostningerne og den tid, der er nødvendig for udviklingen.
Derudover, når man starter med en monorepo-tilgang, udviklere vil tænke på arkitekturen på en sådan måde, at koden, der ville være fælles mellem en webapplikation og en mobilapp, vil blive delt mellem projekterne. Derfor reducerer vi behovet for at omskrive al den logik (netværksopkald, statsstyring, modeller).
Hvad er alternativerne til React Native i 2022?
Selvfølgelig skal vi påpege, at der er andre løsninger på tværs af platforme, som man kunne gå efter i stedet for React Native. At spørge „hvilken der er bedst“ vil ikke føre til et endeligt svar, da valg af den passende teknologi til udvikling af et produkt kommer med meget at tage i betragtning.
En virksomhed skal tage højde for budgettet, den tildelte tidsramme, appens kompleksitet samt de brugere, de forsøger at nå, og hvad der er vigtigt for disse brugere.
flagre er sandsynligvis den mest populære teknologi på tværs af platforme, der repræsenterer en solid deltager til React Native.
Vi vil dog undersøge, hvorfor det måske ikke er helt klar til nogle scenarier, og hvorfor i disse scenarier vil valg af en mere moden teknologi give de fleste fordele for virksomheden og brugerne.
Bortset fra Flutter er Xamarin også værd at nævne, da det er udviklet af Microsoft og har fleksibilitet og skalerbarhed. Det er dog ikke egnet til UI-tunge applikationer, og det mangler et stærkt og talrigt samfund.
NativeScript er en anden teknologi fra JavaScript-familien, men dens største ulempe består af risikoen for at bruge buggy plugins, og selvfølgelig samfundet, der ikke er tæt så stort som React Natives.
Vil Flutter dræbe React Native?
Kort svar: nej, Flutter dræber ikke React Native i 2022.
Én teknologi får ikke bare en anden til at forsvinde, som React Native har været det stærkeste valg i de sidste par år. flagre er faktisk blevet mere og mere et buzzword i tech-samfundet, men en teknologi, der er skrevet ved hjælp af JavaScript, forsvinder ikke så let.
Ser man på det store billede, vil hver teknologi på tværs af platforme mere eller mindre bringe de samme fordele til bordet: lavere udviklingsomkostninger, hurtigere udviklingstempo, ensartet brugergrænseflade og lettere kodevedligeholdelse).
Derfor er vi nødt til at se nærmere, når vi vurderer, hvilken teknologi der er egnet til en opstart eller en stor virksomhed.
Flutter er udviklet af Google, det er nyere end React Native (derfor er det stadig længere væk fra det niveau af modenhed, der er nødvendigt i en produktionsklar app), og koden er skrevet ved hjælp af Dart (et sprog, der er udviklet af Google og ikke engang tæt på JavaScripts popularitet i øjeblikket).
Et af de vigtigste aspekter, der bør overvejes, når det kommer til Flutter, er, hvor meget støtte udviklingsteamet finder online. En af ulemperne ved et mindre samfund - såvel som et mindre brugt programmeringssprog - består i de knappere resultater, når man googler et problem, der blokerer udviklingen.
Udviklere er mere tilbøjelige til at vedtage noget, der er kendt for dem. Det er lettere at finde nye tilføjelser til teamet i form af JavaScript-udviklere, der ikke har arbejdet med React Native - men kender programmeringssproget perfekt - såvel som webudviklere, der kender React, men ikke har arbejdet med React Native endnu.
En sådan overgang udføres let, og det reducerer omkostningerne og de omkostninger, der er involveret, når mindre erfarne mennesker bringes ind i et team. Det er nemt at lære React Native i 2022, og onlineressourcerne er rigelige for alle interesserede.
Er React Native døende?
React Native vil ikke forsvinde snart. JavaScript har eksisteret siden 1995, og det giver ingen tegn på at gå på pension snart - det var det mest populære programmeringssprog på Stack Overflows årlige undersøgelse i de sidste par år.
Da det drager fordel af stærk backup fra et talrigt og dedikeret samfund, vil udviklerne let finde løsninger på eventuelle problemer, open source-pakker, der kan integreres i applikationer (hvilket fører til et bedre udviklingstempo), samt muligheden for at genbruge den samme forretningslogiske kodebase til udvikling af en webapplikation ved hjælp af React (ved hjælp af monorepo-metoden).
Flutter er den største konkurrent til React Native, mange er bange for, at det vil dræbe React Native i 2022. Disse bekymringer har deres rod i den nylige popularitetsgevinst, som Flutter har set i den seneste periode.
Da jeg ikke er her for at sige, at en teknologi er bedre eller værre end en anden, vil jeg holde mig til fakta og på en objektiv måde præsentere grundene til, at React Native stadig har meget mere modenhed at tilbyde, ud over et nyttigt samfund og et utalligt antal open source-pakker.
Flutters fordele er stort set de samme som React Natives: hurtigere udviklingstid, smukt UI-design og nem fejlfinding.
På den anden side kan Flutter-apps lide af, at størrelsen på resultatet er større, hvilket er mere forbrugende for hukommelsen og batteriet på en smartphone.
Derudover er det stadig umodent og er derfor ikke et sikkert valg.
Er React Native stadig ydende i 2022?
Før vi diskuterer ydelsen af denne ramme, og om en app vil være i stand til at håndtere 2022's forventninger til en glat og moderne følelse, er vi nødt til at forstå, hvordan brugergrænsefladen gengives, og hvordan den adskiller sig fra andre teknologier på tværs af platforme.
Hvordan virker React Native?
Bag kulisserne, React Native opretter en iOS-app og en Android-app. Når du kører en sådan app på en mobilenhed, vil der være to tråde, der tager sig af forretningslogikken, og en, der gengiver brugergrænsefladen: JavaScript-tråden og UI-tråden.
Den første vil fortælle den anden hvad, hvor og hvornår hver komponent skal gengives.
En af de største fordele ved React Natives UI-system er, at brugergrænsefladen gengives ved hjælp af native views - hvorimod andre teknologier (såsom Cordova) ville generere HTML til brugergrænsefladen og gengive den inde i en WebView.
Det virker måske ikke problematisk, men noget ville altid føles 'væk' for nogen, der bruger en app, der er udviklet ved hjælp af den anden tilgang.
Under React Natives hætte trykker brugeren på en knap, denne handling forstås af hovedtråden og sendes som en besked til JavaScript-tråden. Her håndteres logikken, så ændres brugergrænsefladen i overensstemmelse hermed.
Denne brobaserede kommunikation er den største bekymring for dem, der kritiserer React Natives ydeevne.
Vi vil dog ikke have nogen ydelsesproblemer i normale brugsscenarier - broen håndterer kommunikationen ret hurtigt.
Prøv dette: hvor mange gange kan du trykke på din skærm på et sekund? Sandsynligvis ikke nok til at forårsage ydeevneproblemer, det er helt sikkert.
React Native kan udvikle glatte og hurtige apps, der kan køre ved 60 FPS.
Et scenarie, hvor ydeevnen kan lide, involverer manglende opmærksomhed fra udvikleren.
React Natives brugergrænseflade kan ses som et trælignende hierarki.
Lad os sige, at dette websted er den øverste komponent. Dens blade vil bestå af overskriften og brødteksten på hjemmesiden. Bladene i overskriften er firmaets logo, hjemmesidens titler osv.
Hvis tilstanden for rodkomponenten (øverste) skulle ændres, gengives hvert enkelt blad ned til det sidste igen. Selv i dette scenarie vil det blotte øje ikke bemærke noget, da disse gengivelser sker for hurtigt til at blive bemærket. Sådanne fejl er dog ikke tilrådelige, og de er heller ikke godkendt af RebelDot.
Bruges React Native af nogen tech-giganter?
Vi kan med sikkerhed sige, at en React Native-app vil være ydende. Det kører problemfrit og smukt, og ydeevne vil ikke være et problem for de fleste forretningskrav.
Den populære kryptoudvekslingsplatform Coinbase har besluttet at omskrive sin app ved hjælp af React Native. Under hensyntagen til, hvor vigtig ydeevne og vedligeholdelighed er for en virksomhed, der opererer på blockchain - og hvis omsætning er 1.8 milliarder dollars i første kvartal af 2022 - kan vi med sikkerhed sige, at React Natives ydeevne vil tilfredsstille alle.
Wix er et andet husstandsnavn, når du spørger dig selv, hvilke andre store navne der bruger React Native. Dette har ført til mange online React Native open source-pakker, der letter udviklernes liv, da Wix-ingeniører har besluttet at hjælpe samfundet med deres løsninger til nogle vanskelige (men almindelige) scenarier (såsom visning og tilpasning af en kalender i din app).
Andre tech-giganter såsom Facebook, Instagram, Skype, Pinterest, Uber Eats, Oculus, Shopify, Discord, Tesla (og Listen fortsætter) har besluttet, at React Native er det passende valg til deres krav.
Derfor er det måske ikke nødvendigt at bekymre sig om resultater, når sådanne milliardvirksomheder har besluttet, at denne ramme opfylder deres behov.
Det faktum, at sådanne virksomheder har satset på at komme videre med React Native i 2022, er en erklæring om dets stabilitet, hurtige udviklingstempo, platformkonsistens samt lavere omkostninger.
Dette er en teknologi, der konstant er vokset og modnet i løbet af de sidste år, og det gavner både udviklerne og projektlederne.
Konklusion.
Vi har undersøgt den aktuelle tilstand af appudvikling på tværs af platforme og navigeret gennem nogle grunde til, at React Native stadig vil være et solidt valg.
Dets samfund og dets muligheder for genbrug af kode skal ikke ses over af en virksomhed, der sigter mod at reducere omkostningerne uden at gå på kompromis med kvaliteten.
React Native er ydende og let at lære, dets UI-system er fleksibelt, robust, og let at bruge - og det genererer moderne og professionelt udseende mobilapps.
Selvom vi ikke foregiver, at det ikke har sine ulemper, er vi stadig stærkt overbeviste om, at dets fordele og hvad det har at tilbyde, vil tilfredsstille en opstart og en virksomhed, der har til formål at skabe kraftfulde og kvalitetsprodukter.
Når det er sagt, på grund af dens intuitive arkitektur, live genindlæsning og hurtige udviklingstider samt god ydeevne og genanvendelighed af kode mellem platforme (iOS, Android, web), kan vi med sikkerhed sige det React Native er det bedste valg til appudvikling på tværs af platforme i 2022.