Po 6 metų kūrimo „React Native“ komanda pristatė visiškai perrašytą sistemos architektūrą (0,76) – reikšmingiausią atnaujinimą nuo „React Native“ įkūrimo. Tai didelio darbo, siekiant pagerinti platformos našumą, stabilumą ir funkcijas, rezultatas.

Pagrindiniai pakeitimai

Naujoji versija visiškai palaiko modernias „React“ funkcijas, įskaitant „Suspense“, „Transitions“ ir automatinį paketų sudarymą. „React Native“ pagaliau turi visavertį „useLayoutEffect“ – dabar „leyout“ tvarkymas dabar yra sinchroniškas ir nuspėjamas. Tai leidžia teisingai išdėstyti vartotojo sąsajos elementus be tarpinių būsenų ir vaizdinių artefaktų.

Našumo patobulinimai

Tiltas tarp JavaScript ir vietinio kodo buvo visiškai pašalintas. Dabar bendravimas vyksta tiesiogiai per „JavaScript“ sąsają (JSI), kuri žymiai pagreitina programos veikimą ir paleidimą. Naujasis atvaizdavimo įrenginys gali vienu metu apdoroti kelis komponentų medžius skirtingose ​​gijose su skirtingais prioritetais. Tai leidžia pertraukti žemo prioriteto naujinimus, kad būtų galima apdoroti vartotojo įvestį, užtikrinant reaguojančią sąsają net atliekant sudėtingus skaičiavimus.

Techniniai patobulinimai

Savoji modulių sistema buvo visiškai pertvarkyta. Dabar pasiekiama sinchronizuota prieiga prie savųjų sąsajų su visa tipo sauga tarp JavaScript ir savojo kodo. Dabar galima rašyti kelių platformų C++ kodą, kuris veikia visose palaikomose platformose: iOS, Android, Windows ir macOS. Moduliai įkeliami atsainiai, ženkliai sumažinant programėlės paleidimo laiką ir atminties sąnaudas.

Vaizdo išlyginimas, anksčiau pasiekiamas tik „Android“, dabar veikia ir „iOS“ dėl bendro C++ atvaizdavimo priemonės. Šis optimizavimas automatiškai supaprastina giluminius komponentų medžius ir pagerina atvaizdavimo našumą.

Įrodyta gamyboje

Naujoji architektūra jau aktyviai naudojama pagrindinėse programose: Facebook, Instagram, Expensify, Kraken ir BlueSky. „Facebook“ ir „Instagram“, skirti „Meta Quest“, taip pat yra sukurti remiantis nauja architektūra. Tai parodo jo pasirengimą naudoti bet kokio masto ir sudėtingumo projektuose.

Migracijos procesas

Daugumą programų bus galima atnaujinti su tokiomis pat pastangomis kaip ir įprastas leidimas. Daugiau nei 850 populiarių bibliotekų jau palaiko naują architektūrą, įskaitant visas bibliotekas, kuriose kas savaitę atsisiunčiama daugiau nei 200 tūkst. Dėl automatinio suderinamumo su senąja architektūra sluoksnio perkėlimas gali būti laipsniškas – nereikia iš karto perrašyti visos programos.

Populiarios bibliotekos, tokios kaip react-native-mmkv ir Reanimated, jau pastebėjo reikšmingus patobulinimus nuo perėjimo prie naujos architektūros. MMKV tapo visiškai kelių platformų C++ moduliu su patobulinta tipo sauga, o Reanimated 4 įgijo galimybę valdyti animacijas ir išdėstymą skirtingose ​​gijose.

Tolesnė plėtra

„React Native“ komanda planuoja tobulinti įtaisytuosius komponentus ir išplėsti šiuolaikinių žiniatinklio standartų palaikymą. „Event Loop“ dabar veikia pagal HTML standarto žiniatinklio specifikacijas, kurios ateityje leis naudoti API, pvz., „microtasks“, „MutationObserver“ ir „IntersectionObserver“.

Praktinė informacija

Naudojamų bibliotekų suderinamumą galima patikrinti reactnative.directory. Oficialioje dokumentacijoje yra išsamus perkėlimo vadovas. Jei kyla problemų, visada yra galimybė išjungti naują architektūrą per projekto konfigūraciją.

Jei tekste radote klaidą, siųskite pranešimą autoriui pažymėdami klaidą ir paspausdami Ctrl-Enter.

Norėdami komentuoti, turite būti prisijungę.

Draugai: - Marketingo paslaugos - Teisinės konsultacijos - Skaidrių skenavimas - Fotofilmų kūrimas - Karščiausios naujienos - Ultragarsinis tyrimas - Saulius Narbutas - Įvaizdžio kūrimas - Veidoskaita - Nuotekų valymo įrenginiai -  Padelio treniruotės - Pranešimai spaudai -