
Firefox — це веб-браузер із відкритим вихідним кодом, розроблений для різних платформ, його роботу координують Mozilla та Mozilla Foundation.
Servo — це механізм візуалізації, розроблений Mozilla Цей механізм, який в основному використовується у веб-браузері Firefox, виділяється своєю швидкістю, безпекою та високою ефективністю. Servo написаний на Rust і використовує механізм веб-дизайну під назвою Quantum CSS (або Stylo), щоб забезпечити оптимальну продуктивність під час обробки та відтворення веб-вмісту.
На додаток до його використання у Firefox, Servo також було досліджено в небраузерних програмах web, а також у створенні інтерфейсів користувача для інтерактивних графічних і мультимедійних програм.
Проте, Його прийняття було досить обмеженим через що наразі процес виконання веб-сторінки в Servo починається в його компоненті сценарію, де ініціюється процес завантаження та виконання циклу подій HTML. Це виконання вимагає тісної інтеграції між рушієм сценарію та навколишнім рушієм веб-сайту, у цьому випадку, SpiderMonkey.
Ось тут і з’являється нещодавня пропозиція, який спрямований на покращення модульності Servo за допомогою ефективної інтеграції з SpiderMonkey, JavaScript Mozilla та механізмом виконання Wasm. Серворозробники прагнути зменшити залежність від API низького рівня механізму JavaScript SpiderMonkey, розроблено Mozilla та використовується в Servo для підтримки JavaScript і WebAssembly.
Довгострокова мета полягає в тому, щоб перейти до API вищого рівня та рівня абстракції для взаємодії з різними механізмами JavaScript, таким чином усуваючи небезпечні прямі виклики коду SpiderMonkey, зроблені в небезпечних блоках. Ця еволюція дозволить Servo не залежати виключно від SpiderMonkey і запропонує сумісність з іншими двигунами JavaScript і WebAssembly, такими як механізм V8, який використовується в Chrome.
Si Bien У Servo є абстракції та інтерфейси для значної частини його інтеграції з SpiderMonkey, Існують області, де модульність порушується через прямі та небезпечні виклики API низького рівня, тому ми прагнемо покращити рівні абстракції та зменшити залежність від конкретних деталей реалізації SpiderMonkey.
Una Ключовим рішенням для покращення модульності в Servo є заміна прямих низькорівневих викликів API з безпечними та чудовими конструкціями. Зазначається, що за допомогою добре розроблених абстракцій це може забезпечити більш гнучку та модульну інтеграцію.
На додаток до нього, і щодо Firefox також варто згадати це у нічних версіях Firefox, яка стане основою для версії Firefox 126 14 травня, Додано можливість автоматичного перекладу виділених фрагментів тексту на сторінці, функція, яка раніше дозволяла лише переклад усієї сторінки.
Крім того, нічні версії Вони також пропонують можливість перекладу на мови, які в стабільних версіях можуть використовуватися лише як вихідні мови для перекладу. Система перекладу, інтегрована у Firefox, відповідає за виконання цих перекладів у локальній системі користувача без використання зовнішніх хмарних служб. Ця система базується на механізмі Bergamot з відкритим кодом, який є оболонкою для фреймворку машинного перекладу Marian. Для ефективного й точного перекладу Bergamot використовує рекурентні нейронні мережі (RNN) і мовні моделі на основі трансформаторів.
Як такий, Чи буде нова функція ввімкнена за замовчуванням, не підтверджено в остаточній версії Firefox 126, але очікується, що спочатку він буде ввімкнено за замовчуванням у нічних версіях і на ранній бета-фазі. Користувачі зможуть вручну активувати цю функцію через about:config, двічі клацнувши browser.translations.select.enable, щоб змінити його значення на true. Після активації під час виділення тексту на веб-сторінці в контекстному меню з’явиться новий запис, який дозволить перекласти вибраний фрагмент.
Якщо ви є зацікавлений дізнатися більше про це, Ви можете перевірити деталі У наступному посиланні.