Dioxus 0.8 और Wails v3 Electron 42 के खिलाफ पलटवार करते हैं
Wails v3.0.0-alpha2.105, Dioxus 0.8 alpha, और Electron 42 सभी 2026 में कुछ हफ्तों के भीतर लॉन्च हुए, जिससे क्रॉस-प्लेटफॉर्म डेस्कटॉप ऐप्स कैसे बनाए जाते हैं यह फिर से परिभाषित हो गया।
एक पाँच-सप्ताह की दौड़ जिसने डेस्कटॉप फ्रेमवर्क का नक्शा फिर से तैयार किया
महज पाँच हफ्तों में, क्रॉस-प्लेटफॉर्म डेस्कटॉप विकास के लिए तीन सबसे अधिक देखे जाने वाले फ्रेमवर्क में से प्रत्येक एक महत्वपूर्ण मील का पत्थर पार कर गया। Electron 42 7 मई, 2026 को जारी किया गया था, जिसमें Chromium 148, Node.js 24, और macOS पर native WebAuthn Touch ID सपोर्ट मौजूद था। Dioxus 0.8.0-alpha.0 19 मई को आया, जिसने फ्रेमवर्क के नए GPU-त्वरित native-rendering चक्र को खोला और Rust Edition 2024 में माइग्रेशन को पूरा किया। फिर, 21 जून, 2026 को — इस लेख के प्रकाशन से एक दिन पहले — Wails प्रोजेक्ट ने v3.0.0-alpha2.105 जारी किया, यह अब तक का सबसे feature-complete alpha है, जिसमें iOS और Android मोबाइल सपोर्ट, नई प्रोजेक्ट्स के लिए TypeScript को डिफ़ॉल्ट भाषा के रूप में, और एक interactive setup wizard मौजूद है। यह अभिसरण संयोगपूर्ण नहीं है: डेस्कटॉप विकास वर्षों में अपनी सबसे गहरी architectural debate से गुज़र रहा है, और तीनों प्रोजेक्ट्स संकेत दे रहे हैं कि 2026 का mid-period उनके दर्शकों को व्यापक बनाने का समय है।
दांव असली हैं। करोड़ों दैनिक उपयोगकर्ता Electron पर निर्मित अनुप्रयोगों को चलाते हैं — VS Code, Slack, Discord, Notion, और 1Password इनमें शामिल हैं — जबकि Wails और Dioxus GitHub stars और समुदाय momentum जमा कर रहे हैं जो मुख्यधारा में अपनाई जाने से पहले आती है। मई 2026 में व्यापक रूप से साझा की गई Hacker News की चर्चा जिसमें एक डेवलपर ने पाँच प्रमुख क्रॉस-प्लेटफॉर्म फ्रेमवर्क्स की तुलना की थी, सैकड़ों comments को आकर्षित किया और केंद्रीय तनाव को crystal किया: Electron ecosystem maturity और developer familiarity में wins करता है, लेकिन binary size, memory footprint, और startup time पर हर metric में Wails और Dioxus के विरुद्ध हार जाता है।
Wails v3.0.0-alpha2.105: Go-Powered डेस्कटॉप मोबाइल Territory में पहुंचता है
21 जून, 2026 को जारी किया गया, Wails v3.0.0-alpha2.105 एक तेजी वाली release cadence का चरमोत्कर्ष है जिसमें v3 branch खुलने के बाद सौ से अधिक alpha tags देखे गए हैं। मुख्य addition comprehensive mobile support है: iOS और Android अनुप्रयोगों को अब desktop बिल्ड को शक्ति देने वाली एक ही Go codebase से बनाया जा सकता है, जिसमें native dialogs, clipboard access, biometric authentication, haptic feedback, geolocation, camera capture, और background execution सभी एक नए mobile feature bridge के माध्यम से जुड़े हैं। इस release का रास्ता incremental और deliberate था।
Alpha 101 (5 जून) ने iOS foundation को native message dialogs, real screen metrics, code-signing, और .ipa packaging के साथ स्थापित किया। Alpha 103 (15 जून) ने platform event model को reorganize किया, common:*, ios:*, और android:* namespaced event prefixes को mobile bridge के लिए introduce किया। Alpha 104 (18 जून) ने एक crash को patch किया जो तब trigger होता था जब bound Go methods iOS पर empty strings return करते थे। Alpha 105 ने application.System को introduce करके runtime platform detection के लिए, Windows minimisation crash और Linux GTK crash को ठीक करके, TypeScript को सभी starter templates में default language बनाकर, और developers के लिए एक guide publish करके चक्र को पूरा किया जो framework के bundled frontend tooling के बजाय एक custom Vite configuration को integrate करना चाहते हैं।
Wails v2 और v3 के बीच क्या बदला
Wails v2 आज सक्रिय production use में है, लेकिन v3 एक point-release upgrade नहीं है — यह एक structural rethink है। सबसे visible change multi-window support है: जहाँ v2 प्रत्येक application को एक single window तक सीमित करता था, v3 windows को first-class runtime objects के रूप में treat करता है जिन्हें created, destroyed, shown, hidden, और individually configured किया जा सकता है, floating palettes, secondary editor panes, notification panels, और अधिक complex UI surfaces को enable करते हुए। Build system को पूरी तरह से replace किया गया है: compilation details को एक monolithic CLI command के अंदर छुपाने के बजाय, v3 प्रत्येक build step को एक discrete tool command के रूप में expose करता है, Taskfile integration के माध्यम से orchestrated। Developers अब pipeline में किसी भी बिंदु पर customise कर सकते हैं — एक capability जो specialized signing या notarisation workflows वाली enterprise teams v2 के बाद से मांग रही थीं।
नया wails3 setup interactive wizard, जो experimentally alpha 102 में introduce किया गया था और alpha 105 में refined किया गया था, first-time users को step by step dependency checking और mobile toolchain installation के माध्यम से walk करता है, जो historically कठिन बनाता था कि Go-based cross-platform build environments को intimidating माना जाता था। Wizard अब एक --json flag भी accept करता है, machine-readable output enable करते हुए जो automated CI provisioning के लिए suitable है।
Wails के पीछे की Architecture
Wails desktop ecosystem में एक distinctive niche occupy करता है। Application backend को Go में लिखा जाता है, एक statically-typed compiled language जो छोटे, self-contained binaries produce करता है जिसमें कोई interpreter overhead नहीं है। Frontend को platform के native WebView द्वारा render किया जाता है — macOS पर WKWebView, Windows पर WebView2, और Linux पर WebKitGTK — एक bundled Chromium instance के बजाय। एक typical Wails application low single-digit megabytes में ship करता है Electron apps के लिए आवश्यक 120–150 MB minimum के बजाय, और startup time को tens of milliseconds में measure किया जाता है seconds के बजाय। Trade-off rendering consistency है: native WebViews को platforms और OS versions के बीच slightly अलग तरीके से behave करते हैं, कभी-कभी CSS या JavaScript workarounds की आवश्यकता होती है जो Electron, अपने fixed Chromium snapshot के साथ, पूरी तरह से avoid करता है।
"Go की concurrency model को desktop UI को power देने वाली backend logic को लिखना genuinely pleasant बनाता है। Channels और goroutines को cleanly event-driven interfaces पर map करते हैं।" — Wails community forum और Discord के पार एक recurring sentiment
Dioxus 0.8.0-alpha.0: GPU Rendering और Rust 2024 एक साथ आते हैं
DioxusLabs ने v0.8.0-alpha.0 को 19 मई, 2026 को tag किया, 0.8 development cycle को 0.7 series के अंतिम patch के लगभग चार महीने बाद खोलते हुए। Release को explicitly एक cycle की शुरुआत के रूप में positioned किया गया है न कि एक feature-complete preview के रूप में, लेकिन इसमें पहले से ही changes हैं जो एक dedicated migration guide की आवश्यकता के लिए काफी महत्वपूर्ण हैं — इसे 0.8 alpha की project के बाद से सबसे structurally breaking Dioxus alpha बनाते हुए।
dioxus-native GPU Renderer एक बड़ा कदम आगे बढ़ता है
0.8 alpha में सबसे architecturally significant change dioxus-native की maturation है, यह renderer जो Dioxus applications को wgpu का उपयोग करके entirely GPU पर paint करता है, Rust की WebGPU graphics API का implementation। Release notes incremental rendering, custom element support, और 0.7 preview के compared में substantially expanded rendering capabilities के साथ एक "huge quality upgrade" का वर्णन करते हैं। इसके साथ, Blitz project — एक modular HTML और CSS layout engine जिसे DioxusLabs team ने Rustweek 2026 पर publicly demonstrate किया था — dioxus-native के लिए layout backbone बन रहा है, familiar CSS primitives जैसे flexbox, grid, और text shaping को GPU renderer में लाते हुए runtime पर एक full browser engine की requirement के बिना।
इस direction की significance को overstate करना मुश्किल है। Tauri, वर्तमान में most popular Rust-based Electron alternative, अभी भी एक system WebView के अंदर अपना UI render करता है। Dioxus Rust ecosystem में एकमात्र major framework है जो एक credible path pursue कर रहा है जहाँ WebView entirely optional है: एक ही Dioxus component tree और signal-based state model को WebAssembly के via web को target कर सकते हैं, एक WebView के via desktop को, native GPU rendering के via desktop को, और mobile को — application logic की एक line को change किए बिना। जब dioxus-native stability तक पहुंचता है, यह Rust developers को एक single codebase path देगा जो runtime पर एक browser engine पर zero dependency produce करता है।
Rust Edition 2024 और objc2 Migration
0.8 alpha पूरे Dioxus codebase को Rust Edition 2024 में migrate करता है, 2021 के बाद से first significant language edition। नया edition cleaner async closure syntax, improved temporary lifetimes handling, और several ergonomic changes को match-ergonomics में introduce करता है जिस पर Rust 1.75 के बाद से चर्चा हुई है। इसके साथ, framework ने macOS और iOS पर legacy Objective-C FFI bindings को objc2 के साथ replace किया है, एक modern, memory-safe Rust crate जो Apple platform APIs को directly call करने के लिए है। Migration macOS backend में unsafe code की एक पूरी category को eliminate करता है और Dioxus को align करता है Tauri team, Servo project, और Apple platforms को target करने वाली अन्य major Rust projects द्वारा लिया जा रहा approach के साथ।
Hot-patching — Dioxus 0.7 में एक experimental feature के रूप में introduce किया गया था — अब 0.8 alpha CLI में enabled by default है। Feature developers को Rust source code को edit करने और running application में subsecond time में changes को reflect करने की allow देता है, application state को lose किए बिना। नए Cargo.toml hot-reload support और एक dynamic file watcher के साथ, 0.8 development loop अब उस speed को approach करता है जो JavaScript developers Vite-powered React या Svelte के साथ granted लेते हैं। एक compiled, statically-typed language के लिए, यह developer ergonomics में एक meaningful shift का प्रतिनिधित्व करता है।
0.8 Roadmap: FFI, Native Widgets, और 1.0 की ओर एक Push
GitHub Discussions पर published official 0.8 roadmap कई headline features को list करता है जो alpha अभी deliver नहीं करता। एक Swift, Kotlin, और Java FFI bridge Dioxus applications को एक web layer के through route किए बिना directly platform-native APIs को call करने की allow देगा — system camera sheets, contacts, HealthKit, और अन्य platform-specific capabilities के use को enable करते हुए। dioxus-native में Native widget integration macOS NSTableView या Windows ListView जैसे platform controls को Dioxus component tree के अंदर embed किए जाने की allow देगा, power-user interfaces के लिए accessibility और visual fidelity को improve करते हुए। Roadmap को भी camera, geolocation, OAuth, और local storage को cover करने वाले comprehensive native APIs को list किया जाता है, साथ ही VSCode और Cursor IDE integration भी जो Dioxus-specific diagnostics और component previews को directly editor में surface करेंगे। सबसे consequential roadmap item एक stated goal "1.0 core functionality for library authors" की है, एक signal जो project को उस kind of API stability की ओर बढ़ा रहा है जिसकी third-party component library authors को Dioxus minor versions के बीच breaking changes के डर के बिना ship करने से पहले की आवश्यकता है।
0.8 stable release के लिए कोई official timeline exist नहीं करता, लेकिन team को indicate किया गया है कि native API building blocks incrementally alpha releases के across land कर रहे हैं, community contributions के साथ — जिनके बारे में team कहता है कि 2026 की शुरुआत के बाद से accelerated हुए हैं — core team की expectation से features को faster push कर रहे हैं।
Electron 42 JavaScript Desktop के लिए Production Standard को Consolidate करता है
जबकि Dioxus और Wails alpha में iterate कर रहे हैं, Electron 42, 7 मई, 2026 को released, production desktop applications को define करता है JavaScript ecosystem के लिए। Release Chromium 148.0.7778.96, Node.js 24.15.0, और V8 14.8 के साथ ship करता है। Stable branch 16 जून, 2026 को v42.4.1 को reach किया, Chromium 148.0.7778.265 और Node.js 24.16.0 को update करते हुए। इसी समय, v43.0.0-beta.5 पहले से ही Chromium 150.0.7871.13 के साथ testing में है, suggesting कि Electron 43 2026 की late summer में stable को reach करेगा।
Electron 42 में Key Additions
Electron 42 में सबसे developer-facing change यह है कि framework कैसे अपने binary को manage करता है का restructuring। पहले, electron npm package एक postinstall script को execute करेगा जो npm install के तुरंत बाद Electron binary को download करता था। Version 42 में, binary को dynamically on first launch को download किया जाता है, Electron को --ignore-scripts flag के साथ install किए जाने को enable करते हुए — एक long-standing requirement enterprise deployments के लिए restricted CI environments में operating जहाँ postinstall scripts को security policy से block किया जाता है। Download को normally cache किया जाता है subsequent runs पर, इसलिए end users के लिए कोई runtime latency cost नहीं है।
WebAuthn Touch ID अब macOS पर एक first-class Electron API है। Developers को app.configureWebAuthn({ touchID: { keychainAccessGroup } }) के via biometric authentication को enable कर सकते हैं, एक capability जिसके लिए पहले एक custom native module को ship करने की आवश्यकता थी। View-layer animations view.setBounds() के via animation options के साथ arrive करते हैं, और एक नया view.setBackgroundBlur() method macOS system applications जैसे Finder और Notes use करते हैं को frosted-glass treatment को enable करता है pervasively। Notification front पर, Electron 42 deprecated NSUserNotification API से modern UNNotification system को migrate करता है, Notification.getHistory() को add करते हुए और id और groupId options के via grouping। Migration एक नई constraint के साथ आता है: macOS notifications अब application को code-signed होने की require करते हैं, जो unsigned development builds को को affect कर सकता है जो desktop notifications पर user feedback के लिए rely करते हैं।
Electron के Footprint पर Ongoing Debate
Electron 42 का Node.js 24 और Chromium 148 adoption का भी मतलब है कि हर Electron application अब एक browser engine को bundle करता है जो — अपने आप पर — most entire Wails या Tauri applications से larger है। एक minimal Electron app को disk पर roughly 120–150 MB में ship करता है; production applications जैसे Slack या Discord well over 300 MB को typical use में RAM में consume करते हैं कोई भी user data load करने से पहले। ये numbers incremental engine optimisations के बावजूद meaningfully change नहीं हुई हैं, और वे primary argument रहते हैं जो competing frameworks developer conversations में raise करते हैं। Teams के लिए जहाँ binary size या memory consumption एक hard product constraint है — embedded kiosks, low-memory devices, या expensive bandwidth को target करने वाली applications — Electron का footprint एक genuine disqualifier है न कि एक acceptable trade-off।
Architecture Showdown: Desktop के Future पर तीन अलग Bets
Electron, Wails, और Dioxus को together evaluate किया जाता है, वे तीन fundamentally अलग hypotheses को represent करते हैं कि 2026 में ideal cross-platform desktop runtime क्या दिखता है। उन hypotheses को understand करना choice को एक matter of preference से कम करता है और अधिक एक matter बनाता है कि कौन से trade-offs एक given project की constraints के साथ align करते हैं।
Electron: Universal UI Toolkit के रूप में Browser पर Bet करें
Electron की hypothesis यह है कि web platform पहले से ही best general-purpose UI toolkit है, और correct approach यह है कि एक controlled, versioned copy को Chromium के साथ एक Node.js runtime को bundle करना और developers को दोनों के लिए full access देना। कोई भी npm package, कोई भी CSS framework, कोई भी JavaScript bundler web की तरह exactly काम करते हैं। Cost यह है कि हर Electron application एक full browser के साथ ship करता है: Chromium plus Node.js plus application का अपना JavaScript bundle। Electron सही choice है जब development team पहले से ही JavaScript ecosystem में रहता है, binary weight को full npm registry के लिए access के लिए acceptable trade माना जाता है, और application को same product के एक web version के साथ feature parity को match करने की आवश्यकता होती है — जैसे VS Code, Notion, और Figma सभी करते हैं।
Wails: System WebView पर Bet करें Go Performance के साथ
Wails की hypothesis यह है कि modern operating systems पहले से ही एक capable, actively maintained WebView को ship करते हैं, और developers को इसे use करना चाहिए bundle करने के बजाय अपना खुद का। Frontend HTML, CSS, और JavaScript बना रहता है — React, Vue, Svelte, और TypeScript सभी out of the box काम करते हैं — लेकिन rendering को platform के WebView को delegate किया जाता है। Backend compiled Go है, जो एक native binary produce करता है जिसमें कोई interpreter dependency नहीं है। Applications को low megabytes में ship करते हैं, milliseconds में start करते हैं, और एक Electron equivalent के fraction को memory use करते हैं। TypeScript अब v3 starter templates में default के साथ और mobile expansion underway, Wails स्पष्ट रूप से उन developers को target कर रहा है जो JavaScript-like frontend productivity को Go backend performance के साथ चाहते हैं — same audience जो currently Flutter को mobile के लिए use करता है और desktop के लिए एक path चाहता है जो Dart को learn करने की आवश्यकता नहीं करता है।
Dioxus: Rust पर Bet करें और Browser को पूरी तरह से Skip करें
Dioxus सबसे radical position लेता है: क्या होगा अगर आपको browser की आवश्यकता नहीं थी — even एक system WebView भी नहीं? Framework का dioxus-native renderer UI को directly GPU पर draw करता है wgpu के via, एक Blitz-powered HTML और CSS layout engine के साथ जो browser के layout model का just enough reimplements करता है familiar styling primitives को बिना browser runtime के काम करने देता है। Result एक application है जिसमें browser engine पर zero dependency है, एक single native binary, instant startup, और ability platforms पर run करने के लिए जहाँ एक WebView को embed करना difficult या impossible है। Risk यह है कि dioxus-native अभी भी maturing है — 0.8 alpha एक major step forward represent करता है, लेकिन full rendering parity एक browser engine के साथ एक work in progress रहता है। Framework को भी Rust को knowing की आवश्यकता है, जो एक steeper learning curve carry करता है Go की तुलना में, और far steeper एक JavaScript की तुलना में। लेकिन teams के लिए जो पहले से ही Rust में काम कर रहे हैं, Dioxus एक truly portable, browser-free applications के लिए एक path offer करता है जो web के लिए भी WebAssembly को compile करते हैं।
Community Momentum और आगे क्या आता है
सभी तीन projects 2026 की पहली आधी में community engagement में measurable acceleration दिखाते हैं। Dioxus GitHub repository 25,000 stars को pass कर गया है, और 0.8 roadmap discussion thread को external contributors को attract किया है जिनके pull requests ने — core team के according में — native API building blocks की delivery को schedule से ahead push किया है। Wails 30,000 stars को cross कर गया है और इसका Discord server 2026 में किसी भी prior year से अधिक visibly active है। Electron, उस phase को pass कर गया जहाँ star counts relevant signals हैं, instead अपने installed base से benefit करता है: tens of millions users daily Electron applications को run करते हैं, और framework की governance OpenJS Foundation के under enterprise adopters को long-term stability guarantees देता है जो newer projects अभी भी offer नहीं कर सकते।
अगले major milestones को watch करने के लिए: Electron 43 beta में है (v43.0.0-beta.5 इस writing के अनुसार) Chromium 150 के साथ और expected है कि 2026 के late summer से पहले stable को reach करे। Dioxus 0.8 stable का कोई committed date नहीं है, लेकिन team incrementally native API improvements को alpha cycle के through release कर रहा है। Wails v3 अठारह months से अधिक alpha में रहा है; recent tags में alpha को alpha2 naming में shift करना suggest करता है कि project एक second, अधिक stability-focused phase में entering कर रहा है beta से पहले। TypeScript को अब default के साथ, mobile support landed, और setup wizard shipping के साथ, v3 एक stable release के लिए किसी भी prior point में अपने development में closer है।
Developers के लिए जो आज एक framework choose कर रहे हैं, community consensus forums, Discord servers, और Hacker News threads के across जो इन releases को discuss किया जाता है consistently है May और June 2026 में: Electron को choose करें अगर आपकी team JavaScript-native है और binary size एक hard constraint नहीं है; Wails को choose करें अगर आप web-stack frontend productivity को Go backend performance के साथ चाहते हैं और minimal shipping weight; Dioxus को choose करें अगर आप Rust में build कर रहे हैं और एक single codebase चाहते हैं जो web, desktop, और mobile को एक browser engine के लिए tying your runtime के बिना target कर सके। इनमें से कोई भी choice गलत नहीं है, लेकिन unintended between उनके बीच — performance, ecosystem, और maturity में — narrowing faster 2026 में किसी भी prior year से है।
स्रोत
- Wails v3 Release History — GitHub
- Wails v3 Changelog — wails.io
- Dioxus v0.8.0-alpha.0 Release Notes — GitHub
- Dioxus 0.8 Roadmap Discussion — GitHub
- Electron 42.0.0 Release Announcement — electronjs.org
- Electron Release Dashboard — releases.electronjs.org
- Hacker News: Comparing Electron, Tauri, Dioxus, Flutter, and Wails — Hacker News
- Electron 37.0.0 Release Announcement — electronjs.org