इस प्रोजेक्ट के बारे में
Fastify एक Node.js के लिए वेब फ्रेमवर्क है जो न्यूनतम ओवरहेड के साथ एक मजबूत डेवलपर अनुभव प्रदान करने पर केंद्रित है। यह Hapi और Express से प्रेरित है और प्रदर्शन के साथ-साथ सुरक्षा सत्यापन और एर्गोनोमिक विकास पर जोर देता है।
README में वर्णित मुख्य विशेषताएं:
- अत्यधिक प्रदर्शनकारी: परियोजना बताती है कि यह कोड जटिलता के आधार पर प्रति सेकंड 76 हजार से अधिक अनुरोधों को सेवा दे सकता है, और Express, hapi, Restify, Koa और कच्चे http.Server के खिलाफ सिंथेटिक "hello world" बेंचमार्क तुलना प्रकाशित करता है। README नोट करता है कि ये सिंथेटिक बेंचमार्क फ्रेमवर्क ओवरहेड को मापते हैं और आपके स्वयं के एप्लिकेशन को बेंचमार्क करने की सलाह देते हैं।
- विस्तार योग्य: हुक, प्लगइन और डेकोरेटर फ्रेमवर्क का विस्तार करने की अनुमति देते हैं।
- स्कीमा-आधारित: JSON Schema की सिफारिश की जाती है (अनिवार्य नहीं) मार्गों को सत्यापित करने और आउटपुट को सीरियलाइज़ करने के लिए; स्कीमा आंतरिक रूप से प्रदर्शनकारी कार्यों में संकलित की जाती हैं।
- लॉगिंग: लॉगिंग लागत को कम करने के लिए Pino को लॉगर के रूप में उपयोग करता है।
- डेवलपर अनुकूल: प्रदर्शन और सुरक्षा का त्याग किए बिना अभिव्यक्त होने के लिए डिज़ाइन किया गया।
आरंभ करना:
- `npm init fastify` के साथ एक प्रोजेक्ट स्कैफोल्ड करें, जो Fastify Create (Fastify CLI की generate कार्यक्षमता पर निर्मित) डाउनलोड और चलाता है, फिर विकास के लिए `npm i`, `npm run dev` या उत्पादन के लिए `npm start` चलाएं।
- मौजूदा प्रोजेक्ट में `npm i fastify` के साथ जोड़ें।
- मूल उपयोग: `Fastify({ logger: true })` के साथ इंस्टैंशिएट करें, `fastify.get('/', ...)` जैसे मार्ग घोषित करें, और `fastify.listen({ port: 3000 }, callback)` के साथ शुरू करें। कॉलबैक और async-await दोनों शैलियाँ दिखाई गई हैं।
- नोट: `.listen` डिफ़ॉल्ट रूप से localhost से बाइंड होता है; कंटेनरों को `0.0.0.0` की आवश्यकता हो सकती है, जिसमें सुरक्षा जोखिम होते हैं।
दस्तावेज़ीकरण में शामिल हैं: Getting Started, Guides, Server, Routes, Encapsulation, Logging, Middleware, Hooks, Decorators, Validation and Serialization, Fluent Schema, Lifecycle, Reply, Request, Errors, Content Type Parser, Plugins, Testing, Benchmarking, writing good plugins, HTTP2, Long Term Support, TypeScript support, Serverless और Recommendations।
पारिस्थितिकी तंत्र और समुदाय: Fastify टीम द्वारा बनाए रखा गया कोर प्लगइन, समुदाय-समर्थित प्लगइन, लाइव उदाहरणों का एक मल्टीरेपो, और एक Discord सर्वर। समर्थन प्रश्न Fastify सहायता रिपॉजिटरी में जाते हैं। संस्करण 3 और निचले स्तर के अंत-जीवन हैं; असमर्थित संस्करणों के लिए वाणिज्यिक सुरक्षा सुधार एक साथी के माध्यम से पेश किए जाते हैं, और एक समर्थित संस्करण मैट्रिक्स दीर्घकालिक समर्थन के अंतर्गत प्रलेखित है।
यह परियोजना OpenJS Foundation में एक At-Large Project है, MIT लाइसेंस के तहत है, और उत्पादन निर्भरता लाइसेंस (MIT, ISC, BSD-3-Clause, BSD-2-Clause) सूचीबद्ध करती है। मुख्य शाखा v6 रिलीज़ को ट्रैक करती है, जिसमें v5 के लिए 5.x शाखा है।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.