Mozilla का छोड़ा हुआ वेब इंजन 'Servo' प्रोजेक्ट फिर से शुरू किया जा रहा है

Mozilla का Rust-आधारित Servo ब्राउज़र इंजन, जिसे लंबे समय से Gecko/Blink के एक आशाजनक लेकिन छोड़े गए विकल्प के रूप में देखा जाता रहा है, फिर से जीवित किया जा रहा है और Tauri के ज़रिए डेस्कटॉप ऐप्स के लिए एक संभावित embedded engine के रूप में नई रुचि खींच रहा है। टिप्पणीकार इसकी performance, security, और browser-engine विविधता में भूमिका पर चर्चा करते हैं, जबकि mature embedding APIs की कमी और Electron तथा Chromium-आधारित समाधानों के प्रभुत्व जैसी व्यावहारिक बाधाओं को भी रेखांकित करते हैं। बातचीत में Mozilla की Servo की मूल cancellation के आसपास की रणनीतिक गलतियाँ, native और web-based desktop tooling के व्यापक trade-offs, और यह आशा भी शामिल है कि Servo की नई stewardship इसे मौजूदा webviews के लिए एक व्यवहार्य, lightweight विकल्प बनाने को प्राथमिकता देगी।

Servo का उद्देश्य और रीबूट का संदर्भ

  • टिप्पणीकार इस बात पर असहमत हैं कि Servo का मुख्य उद्देश्य क्या था:
    • एक नया Rust इंजन, जो अंततः Gecko की जगह ले सके।
    • नई इंजन तकनीकों को आज़माने का एक टेस्टबेड, और फिर उन्हें Firefox में पोर्ट करना (जैसे Quantum-युग के बदलाव)।
  • कई लोग इस रीबूट का स्वागत करते हैं, खासकर इसलिए क्योंकि Mozilla द्वारा Servo टीम को निकाल दिए जाने और इसे दान कर देने पर पहले निराशा हुई थी।
  • कुछ लोग डरते हैं कि अगर फंडिंग या ध्यान फिर से डगमगाया, तो इतिहास खुद को दोहरा सकता है।

Tauri, WebView, और “Electron लेकिन Rust में”

  • Tauri, सिस्टम WebViews के विकल्प के रूप में Servo के साथ प्रयोग कर रहा है।
  • सिस्टम WebViews की समस्याएँ: अविश्वसनीयता (खासकर Windows पर “debloat” ट्वीक के साथ), प्लेटफ़ॉर्म असंगतियाँ, और Chromium-आधारित इंजन बंडल करने पर बड़े इंस्टॉलर।
  • उम्मीद है कि Servo-आधारित विकल्प छोटा और अधिक नियंत्रित होगा (फीचर्स Cargo के जरिए compile किए गए)।
  • आलोचक ध्यान देते हैं कि यह फिर से Electron मॉडल की ओर ले जाता है (हर ऐप के साथ बंडल किया गया इंजन), बस Rust में।

नेटिव बनाम Web-Tech डेस्कटॉप ऐप्स

  • तेज़ विभाजन:
    • एक पक्ष Electron-शैली के “browser-in-a-box” ऐप्स को फूला हुआ, RAM-खाऊ, और “race to the bottom” कहता है।
    • दूसरा पक्ष तर्क देता है कि वेब स्टैक्स नौकरी बाज़ार पर हावी हैं, क्रॉस-प्लेटफ़ॉर्म विकास लागत कम करते हैं, और कई ऐसे ऐप्स संभव बनाते हैं जो अन्यथा शायद मौजूद ही न होते।
  • उल्लिखित विकल्प: Qt/QML, GTK, wxWidgets, Flutter, React Native, Tauri, NodeGui, Sciter, आदि, लेकिन माना जाता है कि Electron की तुलना में इनका उपयोग बहुत कम है।
  • कुछ लोग ऐप स्टोर्स में बेहतर लेबलिंग चाहते हैं (जैसे “native app” बैज), Electron पर प्रतिबंध लगाने के बजाय।

Gecko/Servo को एम्बेडेबल इंजन के रूप में

  • कई टिप्पणीकार Gecko/Servo-आधारित Electron या Chromium Embedded Framework जैसे विकल्प चाहते हैं।
  • Firefox के बाहर Gecko का उपयोग दर्दनाक बताया गया है; Gecko-आधारित पुराने ऐप्स और ब्राउज़र या तो खत्म हो गए या WebKit/Blink में चले गए।
  • इस बात पर निराशा है कि Servo खुद को embeddable के रूप में प्रस्तुत करता है, लेकिन उसके पास CEF-जैसा मज़बूत सार्वजनिक API नहीं है; embedding के उदाहरण मौजूद हैं, लेकिन उन्हें अपर्याप्त माना जाता है।

Rust, Parallelism, और Performance पर बहस

  • एक दृष्टिकोण: Servo और Rust ने parallel CSS style calculation को सफल बनाया, जिसे Gecko में C++ प्रयास हासिल नहीं कर सके, और इससे Firefox को एक अनोखा performance edge मिला।
  • विरोधी दृष्टिकोण: सफलता का श्रेय Rust से अधिक greenfield redesign को जाता है; ऐसे समान पैटर्न C++ में भी संभव हैं।
  • कुछ लोग इस विचार को खारिज करते हैं कि Rust अपने आप सुरक्षा और प्रदर्शन देता है; अन्य ब्राउज़र में इसके compile-time guarantees और security लाभों पर ज़ोर देते हैं।

Mozilla का प्रबंधन और रणनीति

  • कई टिप्पणियाँ Mozilla की leadership की आलोचना करती हैं, खासकर executive pay, side projects, और ब्राउज़र पर ध्यान की कथित कमी को लेकर।
  • अन्य लोग इसका प्रतिवाद करते हैं, Mozilla के व्यापक ecosystem (जैसे Thunderbird) की ओर इशारा करते हैं और इससे असहमत हैं कि foundation के बिना दुनिया बेहतर होती।