-
Dioxus 0.6 जारी
- Dioxus एक Rust-आधारित फ़्रेमवर्क है, जिससे वेब, डेस्कटॉप और मोबाइल ऐप्स को एक ही codebase से बनाया जा सकता है
- इसका लक्ष्य Flutter से बेहतर फ़्रेमवर्क बनना है
- यह full-stack वेब सपोर्ट और type-safe server/client communication पर ज़ोर देता है, साथ ही तेज़ performance और बेहतर developer experience पर फोकस करता है
- इस 0.6 release का फोकस Dioxus को और आसान बनाना, developer experience को बेहतर करना और bugs को ठीक करना है
-
प्रमुख फीचर सुधार
- मोबाइल simulator support: Android और iOS simulators तथा devices पर apps चलाने की सुविधा जोड़ी गई।
- मैजिक hot reloading: formatted strings, properties और nested
rsx!{} के लिए hot reloading support।
- इंटरैक्टिव CLI: नए UX के साथ Dioxus CLI को फिर से लिखा गया है ताकि usability बेहतर हो।
- inline stack traces: WASM panic और logs को सीधे terminal में capture किया जाता है।
- native server functions: desktop और mobile apps के लिए inline server RPC support।
-
developer experience में सुधार
- toast और loading screen: वेब ऐप development के दौरान नए toast और loading screen जोड़े गए।
- autocomplete में सुधार: RSX के autocomplete फीचर में बड़ा सुधार।
- asset system stabilization: native apps में integrated link-based asset system को stable किया गया।
- streaming HTML: server से client तक suspense और error boundaries की streaming support।
- SSG और ISG: static site generation और incremental static regeneration support।
- error handling: event handlers, tasks और components में
? का उपयोग करके error handling।
- meta elements: document properties सेट करने के लिए नए Head, Title, Meta और Link elements जोड़े गए।
- synchronous
prevent_default: सभी platforms पर events को synchronously handle करना।
onresize event handler: IntersectionObserver के बिना element size को track करना।
onvisible event handler: IntersectionObserver के बिना element visibility को track करना।
- WGPU integration: WGPU surfaces और child windows के ऊपर Dioxus को overlay के रूप में render करना।
- dx bundle: web, iOS और Android के लिए पूरा
dx bundle support।
- json mode: third-party tools और CI/CD pipelines में उपयोग के लिए CLI messages को JSON में output करना।
- नए templates: cross-platform apps के लिए तीन नए starter templates।
- nightly tutorials और guides: Dioxus 0.6 और आगे के versions के लिए नए tutorials और guides।
- binary patching prototype: नए pure Rust hot reloading engine का prototype।
-
release जानकारी
- Dioxus 0.6 अब तक का सबसे बड़ा release है, जिसमें 350 से अधिक pull requests merge हुए और सैकड़ों issues हल किए गए।
- इसका उद्देश्य hot reloading, autocomplete और asset bundling की quality को काफी बेहतर करना है।
- Dioxus CLI को और robust तथा उपयोग में आसान बनाया गया है।
- mobile tooling को dioxus CLI में inline करके first-class mobile support देने का लक्ष्य है।
-
इंटरैक्टिव command-line tool
- Dioxus 0.6 पूरी तरह से बदला हुआ CLI experience देता है।
- नया CLI live progress bars, animations, interactive filter system और log levels को real time में बदलने जैसी सुविधाएँ देता है।
-
Android और iOS support
- Dioxus 0.6 में dioxus CLI अब
dx serve --platform ios/android को default रूप से support करता है।
- यह mobile platforms के लिए first-class support देता है, और Android तथा iOS simulator targets desktop जैसी ही सुविधाएँ support करते हैं।
-
hot reloading engine में बदलाव
- Dioxus के hot reloading engine में बड़े स्तर पर सुधार किए गए हैं।
- formatted strings, nested rsx blocks, component properties और simple Rust expressions के लिए hot reloading support दिया गया है।
-
autocomplete फीचर में बदलाव
rsx! {} के autocomplete फीचर में बड़ा सुधार किया गया है।
- Rust-analyzer के साथ integration बेहतर किया गया है ताकि autocomplete अनुभव और अच्छा हो।
-
inline WASM stack traces और tracing integration
- WASM apps के लिए tracing integration दिया गया है, जो panic और logs को capture करके terminal पर भेजता है।
-
toast और loading screen
- वेब ऐप development के दौरान build progress दिखाने वाला loading screen और build status बताने वाले toast उपलब्ध कराए गए हैं।
-
full-stack desktop और mobile
- native apps और server functions को integrate करके desktop और mobile targets पर server functions को default रूप से काम करने योग्य बनाया गया है।
-
Manganis asset system stabilization
- नए asset system Manganis को stable किया गया है और कई bugs तथा performance issues को ठीक किया गया है।
-
suspense और HTML streaming
- async UI के लिए एक नया core primitive, suspense boundary, पेश किया गया है।
- Dioxus full-stack server से हर suspense boundary को stream करता है, ताकि पूरे page load का इंतज़ार किए बिना हर chunk को stream किया जा सके।
-
static site generation और ISG
- static site generation और incremental static generation support के ज़रिए SEO बेहतर होता है और user load time कम होता है।
-
document elements: Title {}, Link {}, Stylesheet, Meta {}
- HTML document object के साथ interact करने वाले special elements दिए गए हैं, जिनसे अतिरिक्त JavaScript के बिना document properties सेट की जा सकती हैं।
-
प्रश्नचिह्न error handling
Element अब Option के बजाय Result में बदल गया है, जिससे Rust की सामान्य error handling को components में उपयोग किया जा सकता है।
-
synchronous prevent_default
- इसे बेहतर बनाया गया है ताकि सभी event handling को synchronously किया जा सके और अब
dioxus_prevent_default property की ज़रूरत न रहे।
-
onresize और onvisible event handlers
- elements के size और visibility को track करने वाले special handlers दिए गए हैं, जिनसे JavaScript के बिना rich interactions बनाए जा सकते हैं।
-
hybrid WGPU overlay
- Dioxus desktop के "child window" फीचर के माध्यम से existing windows पर native Dioxus apps को overlay के रूप में integrate किया जा सकता है।
-
web, iOS और Android bundle support
dx bundle में web और mobile support जोड़ा गया है, जिससे अलग-अलग targets के लिए bundling की जा सकती है।
-
CI / CLI के लिए JSON output
- CLI के JSON output mode के ज़रिए logging को JSON format में प्राप्त किया जा सकता है।
-
नए starter templates
- cross-platform apps के लिए तीन नए starter templates दिए गए हैं।
-
nightly docs, tutorials और नए guides
- docs और tutorials को बड़े पैमाने पर फिर से व्यवस्थित किया गया है, ताकि बुनियादी बातों को कवर किया जा सके और deployment पर ज़ोर दिया जा सके।
-
in-place binary patching preview
- Rust code के लिए hot reloading जोड़ने के उद्देश्य से एक प्रयोग किया जा रहा है।
-
छोटे बदलाव
- इसमें system tray support, custom event loop,
dioxus-document और dioxus-history का separation, eval API simplification जैसे कई छोटे बदलाव शामिल हैं।
-
0.5 से 0.6 में upgrade
- कुछ API changes हैं, लेकिन ज़्यादातर मामलों में इन्हें आसानी से ठीक किया जा सकता है।
-
निष्कर्ष
- यह release कई समस्याओं को हल करता है और कई फीचर्स को बेहतर बनाता है, जिससे Dioxus 0.6 अब तक का सबसे polished release बनता है।
- आगे चलकर फोकस नए features से ज़्यादा tutorial videos, documentation, bug fixes, performance improvements और community collaboration पर रहेगा।
3 टिप्पणियां
मैं हाल ही में tauri इस्तेमाल कर रहा था, लगता है इसे भी एक बार आज़माना पड़ेगा
Dioxus - React से प्रेरित Rust के लिए cross-platform UI लाइब्रेरी
Dioxus 0.5 - Rust से विकसित web, desktop, mobile ऐप्स
Hacker News राय
एक उपयोगकर्ता ने नए रिलीज़ को आज़माने का अपना अनुभव साझा करते हुए बताया कि उन्होंने
cargo installका उपयोग करके प्रोजेक्ट बनाया औरdx serveचलाया, लेकिन compiler error आया। उनका मानना था कि अगर standard Rust workflow इस्तेमाल किया गया होता, तो debugging आसान होती।vदबाकर विस्तृत logs चालू किए जा सकते हैं, लेकिन इससे कोई अतिरिक्त स्पष्ट जानकारी नहीं मिली.एक अन्य उपयोगकर्ता ने कहा कि वह हर 6 महीने में Rust GUI framework आज़माता है, लेकिन demo या playground डाउनलोड करते समय errors आ जाते हैं। उनका मानना है कि long-term investment का फैसला सावधानी से करना चाहिए.
यह उल्लेख किया गया कि Dioxus ही एकमात्र web platform technology tool है जो बहुत कम JavaScript का उपयोग करते हुए cross-platform capabilities दे सकता है। WGPU rendering stack की प्रगति को सकारात्मक रूप से देखा गया.
यह कहा गया कि Dioxus का ecosystem कमज़ोर है और इसमें component libraries नहीं हैं। virtual DOM को लेकर भी भरोसा कम है। प्रतिस्पर्धी Leptos को ट्रैक और उपयोग किया जा रहा है.
एक उपयोगकर्ता ने कहा कि वह server side पर Dioxus का उपयोग कर रहा है, और components लिखने का तरीका तथा developer experience बहुत अच्छा है.
एक उपयोगकर्ता ने कहा कि Lustre को खोजने और अपनाने के बाद, The Elm Architecture के अलावा कुछ और इस्तेमाल करने का इरादा नहीं है। वह Rust के Iced का उपयोग करके scenario editor का prototype बना रहा है, और System76 द्वारा Cosmic बनाने में इसके उपयोग के कारण उस पर भरोसा करता है.
इसे सबसे आशाजनक नई technology framework बताया गया, और कहा गया कि अगर यह सफल हुआ तो बाकी सभी frameworks को बदल सकता है। इसका फोकस performance पर है, और Rust security तथा performance की बुनियाद देता है.
यह कहा गया कि चूँकि Dioxus ने venture capital जुटाया है, इसलिए भविष्य दाँव पर लगाने से पहले सावधान रहना चाहिए। copyright assignment या CLA की आवश्यकता है या नहीं, और contributors में से कितनों को वेतन मिलता है, इस बारे में पर्याप्त जानकारी नहीं है.
सुझाव दिया गया कि पोस्ट के शीर्षक का contrast पेज की background के साथ बेहतर मेल खाने के लिए सुधारा जा सकता है। Qt की मौजूदा स्थिति, accessibility, और HiDPI स्क्रीन हैंडलिंग से तुलना के बारे में पूछा गया। यह भी कहा गया कि C++ और Python के अलावा अन्य भाषाओं के लिए quality bindings की कमी है, और अगर बेहतर bindings और tools हों तो यह अधिक लोकप्रिय हो सकता है.
नए hot reloading feature को शानदार बताया गया, और कहा गया कि अन्य Rust web frameworks में UI updates का इंतज़ार करना एक बड़ी समस्या रही है.