O loʻo aofia ai le Rust i gagana autu mo le atinaʻeina o faʻavae Android

Google ua fa'asalalauina le fa'aofiina o le Rust programming language i totonu o gagana fa'atagaina mo le atina'eina o le Android platform. O le Rust language compiler na aofia i le Android source tree i tua i le 2019, ae o le lagolago mo lenei gagana na tumau faʻataʻitaʻiga. O nisi o vaega muamua Rust na fuafuaina mo le Android e aofia ai faʻatinoga fou o le Binder interprocess communication mechanism ma le Bluetooth stack.

O le faʻaofiina o le Rust na faʻatinoina o se vaega o se poloketi e faʻamalosia ai le saogalemu, faʻaleleia auala saogalemu polokalame ma faʻateleina le lelei o le faʻamalamalamaina o faʻafitauli pe a galue ma manatua i le Android. O loʻo maitauina e tusa ma le 70% o faʻafitauli mataʻutia uma e iloa i le Android e mafua mai i mea sese pe a galue ma le mafaufau. O le fa'aaogaina o le Rust, lea e taula'i atu i le saogalemu o manatuaga ma le fa'atonuina o mea e manatua ai, o le a fa'aitiitia ai le lamatiaga o fa'afitauli e mafua mai i mea sese e manatua e pei o le avanoa e aunoa ma se totogi ma le pa'u pa'u.

E fa'amalosia e le 'ele le saogalemu o manatuaga i le taimi fa'aopoopo e ala i le siakiina o fa'amatalaga, le umiaina o mea faitino ma le su'esu'eina o mea i le olaga atoa (va'aiga), ma e ala i le iloiloina o le sa'o o mea e manatua i le taimi e ta'avale ai. E maua ai foi e le ele le puipuiga mai le tele o numera, e manaʻomia ai le faʻavaeina o tau fesuiaʻi aʻo leʻi faʻaaogaina, e sili atu le taulimaina o mea sese i totonu o le faletusi masani, faʻaaogaina le manatu o faʻamatalaga e le mafai ona suia ma fesuiaiga e ala i le faaletonu, ma ofoina atu le malosi o le taina e faʻaitiitia ai mea sese.

I le Android, o loʻo tuʻuina atu le saogalemu o manatuaga i gagana ua uma ona lagolagoina Kotlin ma Java, ae e le talafeagai mo le atinaʻeina o vaega o le polokalama ona o le maualuga maualuga. Rust e mafai ai ona ausia le faʻatinoga latalata i le C ma C ++ gagana, lea e mafai ai ona faʻaaogaina mo le atinaʻeina o vaega maualalo o le faʻavae ma vaega mo le fegalegaleai ma meafaigaluega.

Ina ia mautinoa le saogalemu o le C ma le C++ code, Android e faʻaogaina le faʻaesea o le sandbox, suʻesuʻega faʻataʻitaʻi, ma suʻega fuzzing. O le gafatia o le fa'amavaeina o le sandbox e fa'atapula'aina ma ua o'o i le tapula'a o latou gafatia (o le isi vaevaega i fa'agasologa e le talafeagai mai le va'aiga o le fa'aaogaina o punaoa). Fa'atapula'a o le fa'aogaina o le sandbox e aofia ai le tele o tau fa'asili ma le fa'ateleina o le fa'aaogaina o mafaufauga e mafua mai i le mana'omia o le fa'atupuina o faiga fou, fa'apea fo'i ma fa'atuai fa'aopoopo e feso'ota'i ma le fa'aogaina o le IPC.

I le taimi lava e tasi, o le sandbox e le faʻaumatia ai faʻafitauli i le code, ae naʻo le faʻaitiitia o tulaga lamatia ma faʻalavelaveina le osofaʻiga, talu ai o le faʻaogaina e manaʻomia ai le faʻamaonia o le tasi, ae o le tele o faʻafitauli. Metotia e faʻavae i luga o faʻataʻitaʻiga faʻamaonia e faʻatapulaʻaina ina ia mafai ai ona iloa mea sese, e tatau ona faia ni tulaga mo le faʻafitauli e faʻaalia ai. E le mafai ona ufiufi uma filifiliga e mafai, o le tele o mea sese e le iloa.

Mo faiga faiga i le Android, Google e tausisi i le "tulafono o le lua", e tusa ai ma soʻo se tulafono faʻaopoopo e le tatau ona sili atu i le lua o le tolu tulaga: galue ma faʻamatalaga faʻaoga e leʻi faʻamaonia, faʻaaogaina se gagana polokalame le saogalemu (C / C ++), ma tamo'e e aunoa ma le fa'amama fa'amamao (maua fa'aeaina o avanoa). O lenei tulafono e fa'aalia ai o le tulafono mo le fa'agaioiina o fa'amatalaga i fafo e tatau ona fa'aititia i ni fa'amanuiaga laiti (tu'ufua) pe tusia i se gagana fa'apolokalame fa'amautu.

Google e le fa'amoemoe e toe tusi le C/C++ code o iai i Rust, ae o lo'o fuafua e fa'aoga le gagana lea e atia'e ai le code fou. E talafeagai le fa'aogaina o le Rust mo le code fou aua, i le fuainumera, o le tele o bugs e aliali mai i le code fou pe na suia talu ai nei. Aemaise lava, e tusa ma le 50% o mea sese manatua i le Android o loʻo maua i le code na tusia i lalo ifo o le tausaga talu ai.

O loʻo aofia ai le Rust i gagana autu mo le atinaʻeina o faʻavae Android


puna: opennet.ru

Faaopoopo i ai se faamatalaga