منصوبے کے بارے میں

سولڈ ایک اوپن سورس جاوا اسکرپٹ لائبریری ہے جو یوزر انٹرفیس بنانے کے لیے ہے۔ اس کا اہم ڈیزائن انتخاب ورچوئل DOM کو مسترد کرنا ہے: ٹیمپلیٹس کو حقیقی DOM نوڈس میں مرتب کیا جاتا ہے، اور اپ ڈیٹس باریک دانے دار رد عمل والے ردعمل کے ذریعے لاگو ہوتے ہیں، تاکہ جب کسی حالت کا ٹکڑا تبدیل ہوتا ہے تو صرف اس پر منحصر کوڈ دوبارہ چلتا ہے۔ رد عمل کا ماڈل - ڈویلپرز createSignal جیسے پریمیٹیوز کے ساتھ حالت کا اعلان کرتے ہیں، جو ایک ایکسیسر اور ایک سیٹر لوٹاتا ہے۔ اخذ کردہ قدریں سادہ فنکشنز کے طور پر ظاہر کی جاتی ہیں جو ایکسیسر کو کال کرتی ہیں، اور انحصار کی ٹریکنگ خودکار ہے — رد عمل والی حالت کو پڑھنا ارد گرد کے حساب کو اس سے سبسکرائب کرتا ہے۔ کمپوننٹس عام فنکشنز ہیں جو ایک بار عمل میں آتے ہیں تاکہ ویو سیٹ اپ ہو، جسے README "ایک بار رینڈر" ذہنی ماڈل کے طور پر بیان کرتا ہے۔ دستاویزات وضاحت کرتی ہیں کہ کمپائلر کس طرح جامد HTML کو ٹیمپلیٹ میں نکالتا ہے اور متحرک ایکسپریشنز داخل کرتا ہے تاکہ ایک ٹیکسٹ نوڈ اپ ڈیٹ ہو سکے بغیر اپنے پیرنٹ عنصر کو دوبارہ رینڈر کیے۔ فریم ورک کی خصوصیات - لائبریری JSX، فریگمنٹس، Context، Portals، Suspense، اسٹریمنگ سرور سائیڈ رینڈرنگ، ترقی پسند ہائیڈریشن، Error Boundaries اور کنکرنٹ رینڈرنگ فراہم کرتی ہے۔ بلٹ ان اسٹیٹ مینجمنٹ Context اور Stores کے ذریعے پیش کی جاتی ہے، اور Resources سرور سے لوڈ کردہ ڈیٹا کو دیگر رد عمل والی حالت کی طرح سمجھنے اور Suspense اور کنکرنٹ رینڈرنگ کے ساتھ ذمہ داری سے رینڈر کرنے کی اجازت دیتی ہیں۔ README اسٹریمنگ اور ترقی پسند ہائیڈریشن کے ساتھ SSR اور سرور لیس سپورٹ کو نوٹ کرتا ہے۔ مطابقت اور توسیع پذیری - سولڈ کو isomorphic (کلائنٹ اور سرور رینڈرنگ) اور یونیورسل کے طور پر بیان کیا گیا ہے، جس میں دوسرے ماحول میں استعمال کرنے کے لیے کسٹم رینڈررز دستیاب ہیں۔ اسے ویب کمپوننٹ دوست اور کسٹم عناصر تصنیف کرنے کے قابل قرار دیا گیا ہے، ساتھ میں ایک ساتھی solid-element پیکیج بھی۔ یہ JSX اور TypeScript کے ساتھ، اور Vite ایکو سسٹم کے ساتھ ضم ہوتا ہے؛ جاوا اسکرپٹ اور TypeScript کے لیے سرکاری ٹیمپلیٹس degit کے ذریعے سکیفولڈ کیے جا سکتے ہیں، اور Babel پری سیٹ (babel-preset-solid) کے علاوہ solid-js انحصار کی سفارش کی جاتی ہے، TypeScript کے لیے jsx: "preserve" اور jsxImportSource: "solid-js" درکار ہے۔ پروجیکٹ سائٹ پر ایک انٹرایکٹو پلے گراؤنڈ اور ایک ٹیوٹوریل واک تھرو فراہم کیا گیا ہے۔ بیان کردہ اہداف - README ایک چھوٹا، ٹری شی ایبل بنڈل اور بہترین ونیلا جاوا اسکرپٹ کے قریب کارکردگی کا دعوی کرتا ہے، JS Framework Benchmark اور بنڈل سائز موازنے کا حوالہ دیتا ہے۔ یہ سادگی، کمپوز ایبلٹی اور چند پوشیدہ اصولوں پر زور دیتا ہے، اعلانیہ کوڈ اور ریڈ رائٹ علیحدگی کی حوصلہ افزائی کرتا ہے، جبکہ نوٹ کرتا ہے کہ D3 جیسی مقامی جاوا اسکرپٹ لائبریریاں براہ راست استعمال کی جا سکتی ہیں کیونکہ تجریدیں کم سے کم ہیں۔ کمیونٹی اور سپورٹ - سپورٹ ڈیسک ٹاپ اور موبائل پر جدید Firefox, Safari, Chrome اور Edge کے آخری دو سالوں کو نشانہ بناتی ہے، سرور پر Node LTS اور حالیہ Deno اور Cloudflare Worker رن ٹائم کے ساتھ؛ IE اور اسی طرح کے غروب ہوتے براؤزرز کو واضح طور پر سپورٹ نہیں کیا جاتا۔ جانچ SauceLabs کے ذریعے معاون ہے۔ پروجیکٹ Discord اور Reddit کمیونٹیز، ایک شراکت دار بیس، ایک Open Collective فنڈنگ صفحہ، اور کمیونٹی پریمیٹیوز، کمپوننٹ لائبریریوں اور بلڈ ٹائم یوٹیلیٹیز کا بڑھتا ہوا ایکو سسٹم برقرار رکھتا ہے۔