programmatūra · 5 min · 12.07.2026

Vercel Labs izlaiž Native SDK 0.4.4 — Zig dzinējs darbvirsmas lietotnēm bez pārlūka

Vercel Labs 11. jūlijā izlaida darbvirsmas ietvara Native SDK versiju 0.4.4. Ietvars native lietotnes zīmē ar paša dzinēju — bez Chromium, bez WebView un bez interpretatora. Kods rakstīts galvenokārt Zig valodā, kas repozitorijā aizņem 84,9%; platformu daļas ir Objective-C, C un C++. Licence ir Apache 2.0.

Skeleta lietotne, ko izveido komanda native init, sakompilējas vienā binārā, kas ir daži megabaiti liels. Salīdzinājumam Electron katrai lietotnei līdzi ved veselu pārlūka dzinēju, tāpēc pat vienkārša lietotne sākas ar simtiem megabaitu diskā un lielu atmiņas patēriņu. Tauri jau samazina šo slodzi, izmantojot operētājsistēmas WebView, bet Native SDK iet soli tālāk un renderē pats.

Kā ietvars zīmē logus

Native SDK dzinējs, kā teikts projekta README, zīmē katru pikseli īstos operētājsistēmas logos. Uz macOS tas notiek caur Metal, kopā ar native izvēlnēm, sistēmas teknes ikonu un dialogiem. Uz Linux strādā programmatūras renderētājs reālos logos. WebView šeit ir tikai viena no kompozīcijas virsmām. Pamatā strādā paša dzinējs.

Paša renderētājs nozīmē, ka Native SDK pati zīmē pogas, sarakstus un teksta laukus, tā vietā lai paļautos uz pārlūka HTML dzinēju. Ieguvums ir mazs bināris un zems atmiņas patēriņš. Cena ir tā, ka komandai katrs saskarnes elements jāuztur pašai, un web ekosistēmas gatavie komponenti šeit nestrādā.

Kad Vercel Labs jūnijā projektu atvēra, InfoQ to aprakstīja kā Zig čaulu ap operētājsistēmas WebView, kurā saskarni būvē ar web ietvariem, tādiem kā Next.js vai Svelte. Repozitorijs kopš tā laika ir pārgājis uz paša deklaratīvo marķējumu un renderēšanu. Projekts joprojām ir pirms 1.0, un tā autori brīdina, ka API vēl mainās.

Modelis, ziņa, atjauninājums

Skatus apraksta deklaratīvā .native marķējumā, kas piesaistās lietotnes stāvoklim. Loģika ir tīrs Zig kods funkcijā update. Marķējumu sakompilē un iegulst binārā jau būvēšanas laikā, tāpēc darbības laikā parsētājs nav vajadzīgs.

Notikumi rada ziņas, ziņas atjaunina stāvokli, un stāvoklis attēlo saskarni.

Šis model/message/update cikls atgādina Elm valodas pieeju: viss plūst vienā virzienā un ir deterministisks. Tas ļauj Native SDK piedāvāt ieraksti-un-atskaņo testēšanu, kur lietotnes sesiju var precīzi atkārtot. Iebūvētie komponenti ietver pogas, cilnes, teksta laukus, dialogus, diagrammas un virtuālus sarakstus, kas velk vairāk nekā 100 000 rindu, nezaudējot ātrumu.

Karstā pārlāde un bezgalvas UI testi native lietotnēm nav pašsaprotami, jo parasti tos sagaida web pasaulē. Native SDK tos ienes darbvirsmā, un ieraksti-un-atskaņo pieeja ļauj kļūdu reproducēt tieši tajā pašā soļu secībā.

Ko platformas jau atbalsta

Dziļākais atbalsts ir macOS, kur strādā Metal renderēšana un native saskarnes elementi. Linux ir pilnībā atbalstīts ar programmatūras renderētāju. Windows pagaidām tiek pārbaudīts CI vidē uz Win32 resursdatora, ar IME kompozīciju teksta ievadei. Mobilās platformas ir eksperimentālas: iOS ir pierādīts simulatorā, bet Android tiek kompilēts krustām.

Versija 0.4.4 iznāca 11. jūlijā, un numurs zem 1.0 nozīmē, ka lauzumi starp laidieniem ir iespējami. Kas produkcijā vēlas stabilitāti, tam pagaidām jārēķinās ar biežām izmaiņām.

Rīki un drošība

Rīkkopu instalē caur npm install -g @native-sdk/cli. Pēc tam native init izveido projektu, native dev palaiž to ar koda karsto pārlādi, native check validē kodu bez būvēšanas, native test dzen bezgalvas UI testus, un native build saliek optimizētu laidienu.

Piekļuvi operētājsistēmas iespējām sargā tā sauktās guarded capabilities. Paziņojumi, starpliktuve, dialogi un akreditācijas dati katrs prasa atļauju, tāpēc saskarnes daļa netiek pie failiem vai sistēmas izsaukumiem bez skaidras reģistrācijas Zig pusē. Modelis atgādina to, ko dara Deno un Tauri.

No kurienes tas nāk

Vercel līdz šim bija pazīstams ar mākoņa hostingu un Next.js, tāpēc Zig izvēle darbvirsmas ietvaram ir jauns virziens. Valoda dod ātru inkrementālu kompilāciju un tiešu saderību ar C bibliotēkām bez atsevišķa FFI slāņa. Tieši šī iezīme ļauj Native SDK dzinējam tikt pie grafikas un logu API bez liela starpslāņa.

Ietvars ir Apache 2.0 un pieejams GitHub. Jaunākais laidiens 0.4.4 ir datēts ar 11. jūliju, un nākamie ir gaidāmi drīz, jo autori strādā pie Windows un mobilā atbalsta.

Kur tas varētu noderēt

Ietvars der lietotnēm, kur svarīga maza pēda un ātra palaišana: rīki izstrādātājiem, sistēmas paneļi, vieglas produktivitātes lietotnes. Zig un deklaratīvais marķējums prasa citu prasmju kopumu, tāpēc web komanda, kas gaida React, vispirms saskarsies ar atšķirīgu domāšanas veidu.

Pagaidām lielākais ierobežojums ir platformu gatavība. macOS ir lietojams jau tagad, Linux tāpat, bet Windows atbalsts vēl ir CI līmenī, un mobilās versijas ir eksperiments. Kam vajag vienu kodu visām platformām šodien, ar Native SDK to vēl nedabūs.

Avoti

komentārisaruna

Komentāri

Šim rakstam vēl nav komentāru. Esi pirmais, kurš dalās ar savu viedokli.

Pievieno komentāru

Tavs e-pasts netiks publicēts. Obligātie lauki atzīmēti.

vēl no programmatūrasaistītie