, Цхромиум пројекат ће подржати коришћење Ц++ Руст библиотека треће стране у Цхромиум-у
Гугл је недавно објавио да тим који стоји иза пројекта Chromium ради на додавању производног Rust алата свом систему за изградњу.
За оне који још увек нису свесни Руста, требало би да га добро упамте јер је овај програмски језик, који је Мозилла развила посебно за употребу у писању претраживача, почео да продире и да буде прихваћен у многим важним пројектима, један од њих је Руст Кернел. Линук.
Ово ће нам омогућити да укључимо Руст код у Цхроме бинарни фајл током следеће године. Циљ је да се крене од малог и постави јасна очекивања за која ће се библиотеке узети у обзир када буду спремне.
Логично је, дакле, да и Chromium коначно почиње да развија ову технологију. За Google, увођење Rust-а у Chromium ће испунити циљ пружања лакшег и безбеднијег начина за постизање „правила два“, које се састоји у убрзавању развоја и побољшању безбедности Chrome-а. Штавише, побољшава безбедност елиминисањем грешака у меморији и смањењем густине грешака у коду.
Знамо да Ц++ и Руст могу веома добро да раде заједно, захваљујући алатима као што су цкк, аутоцкк биндген, цбиндген, дипломат и (експериментални) црубит. Међутим, постоје и ограничења. Можемо очекивати да ће се облик ових ограничења временом променити са новим или побољшаним алатима, али одлуке и описи овде су засновани на тренутном стању технологије.
Одлука је донета као део иницијативе за спречавање појављивања грешака у меморији у кодној бази Chrome-а. Према статистици датој пре две године, 70% критичних и опасних безбедносних проблема у Chromium-у је последица грешака у меморији.
Коришћење Rust језика, који се фокусира на безбедно управљање меморијом и омогућава аутоматско управљање меморијом, смањиће ризик од рањивости узрокованих проблемима као што су приступ меморијском подручју након што је ослобођено и препуњавање бафера.
Циљ довођења Руст-а у Цхромиум је да се обезбеди лакши (без ИПЦ-а) и безбеднији (мање сложен Ц++ уопште, без безбедносних грешака у меморији) начин да се задовољи правило два, како би се убрзао развој (мање кода за писање , мање дизајнерских докумената, мање безбедносних закрпа) и за побољшање безбедности (више линија кода без безбедносних грешака у меморији, мања густина грешака кода) Цхроме-а. Поред тога, компанија је уверена да можемо да користимо Руст библиотеке треће стране да бисмо постигли овај циљ.
Почетком 2022. године, Chromium тим је већ експериментисао са Rust-ом и, након неколико месеци, закључио је да језик у почетку није погодан као замена за C++ за сложене задатке са асинхроним кодом који мора да ради уз постојећи код.
Стога је планирана употреба Rust-а у Chromium-у у почетку очигледно ограничена . С једне стране, интероперабилност ће ићи само у једном смеру: од C++ до Rust-а. С друге стране, у почетку је дозвољена само употреба библиотека трећих страна. Оне функционишу као самосталне компоненте и независне су од интерних компоненти Chromium-а. Библиотеке морају имати једноставан API за свој специфични задатак. Chromium тим ће затим прегледати библиотеке.
Коначно, вреди напоменути да ће додавање подршке у Chromium-у омогућити да се Rust код портује на Chrome бинарне датотеке почев од следеће године. Одлука је првенствено вођена безбедносним разлозима: Rust нуди већу безбедност при писању у меморију него C++ и забрањује потенцијално штетна понашања као што су читање неписаних променљивих, приступање вредностима изван ограничења постављених низовима, дереференцирање нултих или неважећих показивача и коришћење неважећих итератора.
Ако сте заинтересовани да сазнате више, детаље можете пронаћи на следећем линку.