इस प्रोजेक्ट के बारे में

Solid यूजर इंटरफेस बनाने के लिए एक ओपन-सोर्स जावास्क्रिप्ट लाइब्रेरी है। इसका मुख्य डिज़ाइन वर्चुअल DOM को अस्वीकार करना है: टेम्प्लेट को वास्तविक DOM नोड्स में संकलित किया जाता है, और अपडेट्स को फाइन-ग्रेन्ड रिएक्टिव प्रतिक्रियाओं के माध्यम से लागू किया जाता है, ताकि जब स्टेट का कोई हिस्सा बदलता है, तो केवल उस पर निर्भर कोड ही दोबारा चलता है। रिएक्टिव मॉडल डेवलपर्स createSignal जैसे प्रिमिटिव्स के साथ स्टेट घोषित करते हैं, जो एक एक्सेसोर और एक सेटर लौटाते हैं। व्युत्पन्न मानों को साधारण फ़ंक्शंस के रूप में व्यक्त किया जाता है जो एक्सेसोर को कॉल करते हैं, और निर्भरता ट्रैकिंग स्वचालित होती है। कंपोनेंट्स सामान्य फ़ंक्शंस होते हैं जो व्यू सेट करने के लिए एक बार निष्पादित होते हैं। दस्तावेज़ीकरण बताता है कि कैसे कंपाइलर स्थिर HTML को टेम्प्लेट में निकालता है और गतिशील अभिव्यक्तियों को सम्मिलित करता है ताकि एक सिंगल टेक्स्ट नोड अपने पैरेंट एलिमेंट को दोबारा रेंडर किए बिना अपडेट हो सके। फ्रेमवर्क फीचर्स यह लाइब्रेरी JSX, फ्रैगमेंट, कॉन्टेक्स्ट, पोर्टल्स, सस्पेंस, स्ट्रीमिंग सर्वर-साइड रेंडरिंग, प्रोग्रेसिव हाइड्रेशन, एरर बाउंड्रीज़ और समवर्ती रेंडरिंग प्रदान करती है। इन-बिल्ट स्टेट मैनेजमेंट कॉन्टेक्स्ट और स्टोर्स के माध्यम से पेश किया जाता है, और रिसोर्सेज सर्वर-लोडेड डेटा को अन्य रिएक्टिव स्टेट की तरह व्यवहार करने की अनुमति देते हैं। संगतता और विस्तारशीलता Solid को आइसोमोर्फिक और यूनिवर्सल बताया गया है, जिसमें अन्य वातावरणों में उपयोग के लिए कस्टम रेंडरर्स उपलब्ध हैं। यह वेब-कंपोनेंट फ्रेंडली है और कस्टम एलिमेंट्स बनाने में सक्षम है। यह JSX, टाइपस्क्रिप्ट और Vite इकोसिस्टम के साथ एकीकृत होता है। प्रोजेक्ट साइट पर एक इंटरैक्टिव प्लेग्राउंड और ट्यूटोरियल उपलब्ध है। निर्धारित लक्ष्य README एक छोटे, ट्री-शेकेबल बंडल और अनुकूलित वैनिला जावास्क्रिप्ट के करीब प्रदर्शन का दावा करता है। यह सरलता, संयोजन क्षमता और कम छिपे हुए नियमों पर जोर देता है, और घोषणात्मक कोड को प्रोत्साहित करता है। समुदाय और समर्थन समर्थन डेस्कटॉप और मोबाइल पर आधुनिक फ़ायरफ़ॉक्स, सफ़ारी, क्रोम और एज के पिछले दो वर्षों के संस्करणों को लक्षित करता है, साथ ही सर्वर पर Node LTS और हालिया Deno और Cloudflare Worker रनटाइम्स को लक्षित करता है। IE और इसी तरह के पुराने ब्राउज़रों का समर्थन नहीं किया जाता है। प्रोजेक्ट Discord और Reddit समुदायों, एक योगदानकर्ता आधार और एक ओपन कलेक्टिव फंडिंग पेज के माध्यम से समर्थित है।