कोई भी सॉफ़्टवेयर डेवलपर, बेहतर तरीके से बिल्ड, टेस्ट, और पैकेज कर सकता है किसी भी साइज़ या जटिलता के साथ, किसी भी प्रोजेक्ट के लिए, ऐसी टूलिंग की मदद लें जिसे इस्तेमाल करना आसान हो और विस्तार.
इंजीनियर इस बात पर भरोसा कर सकते हैं कि वे डिवाइस बनाने से जुड़ी बुनियादी बातों को हल्के में लें. सॉफ़्टवेयर डेवलपर संलेखन कोड की रचनात्मक प्रक्रिया पर ध्यान केंद्रित करते हैं, क्योंकि बनाने और टेस्ट करने की प्रोसेस को हल कर दिया जाए. बिल्ड सिस्टम को की ज़रूरतों के हिसाब से नई भाषाओं या संगठन की ज़रूरतों को पूरा करने में मदद करते हैं, तो उपयोगकर्ताओं का फ़ोकस में बिना किसी चिंता के, अपने इस्तेमाल के उदाहरण में जोड़े जा सकते हैं. प्लंबिंग के पुराने तरीके को नया रूप दे पाए.
इंजीनियर किसी भी प्रोजेक्ट में आसानी से योगदान दे सकते हैं. ऐसा डेवलपर जो नए प्रोजेक्ट पर काम करना शुरू करें, तो प्रोजेक्ट का क्लोन बनाएं और बिल्ड. इसके लिए लोकल कॉन्फ़िगरेशन की कोई ज़रूरत नहीं होती है, यह सिर्फ़ काम करता है. के साथ क्रॉस-प्लैटफ़ॉर्म की मदद से रिमोट तरीके से एक्ज़ीक्यूट किया जा सकता है. ये किसी भी मशीन पर कहीं भी काम कर सकते हैं और उनके बदलावों की पूरी तरह से जांच कर लेता है. इंजीनियर नए प्रोजेक्ट के लिए बिल्ड को तेज़ी से कॉन्फ़िगर कर सकते हैं या धीरे-धीरे कॉन्फ़िगर कर सकते हैं मौजूदा बिल्ड को माइग्रेट करें.
प्रोजेक्ट, किसी भी साइज़ के कोड बेस और किसी भी साइज़ टीम के हिसाब से स्केल किए जा सकते हैं. तेज़, इंक्रीमेंटल टेस्टिंग की मदद से, टीमें हर बदलाव की पुष्टि पहले ही कर लेती हैं प्रतिबद्ध है. यह तो रिपॉज़िटरी के बढ़ने पर भी सही बना रहता है, प्रोजेक्ट का दायरा कई डेटा संग्रह स्थान और कई भाषाओं में उपलब्ध हैं. इन्फ़्रास्ट्रक्चर लागू नहीं होता डेवलपर, ऐप्लिकेशन की स्पीड बढ़ाने के लिए टेस्ट कवरेज के कारोबार का इस्तेमाल कर सकें.
हमारा मानना है कि बैजेल के पास, इस विज़न को पूरा करने की क्षमता है.
बेज़ल को बिलकुल नए सिरे से बनाया गया है, ताकि फिर से बनाए जा सकने वाले बिल्ड चालू किए जा सकें (a इनपुट का दिया गया सेट हमेशा समान आउटपुट देगा और पोर्टेबल (एक बिल्ड) आउटपुट को प्रभावित किए बिना किसी भी मशीन पर चलाया जा सकता है).
ये विशेषताएं, सुरक्षित तरीके से बढ़ोतरी को बढ़ावा देती हैं (सिर्फ़ फिर से बनाने में बदलाव हुए हैं) इनपुट में, भ्रष्टाचार के जोखिम और वितरण (बिल्ड) के बारे में नहीं बताया गया है कार्रवाइयां अलग-अलग हैं और इन्हें ऑफ़लोड किया जा सकता है). काम को कम से कम करके एक सही बिल्ड और पैरलाइज़िंग जो कई कोर और रिमोट पर काम करता हो सिस्टम, बेज़ल किसी भी बिल्ड को तेज़ी से बना सकते हैं.
बेज़ल की ऐब्स्ट्रैक्ट लेयर — यह खास तौर पर भाषाओं, प्लैटफ़ॉर्म, और टूलचेन को आसान एक्सटेंशन की भाषा में लागू किया जाता है — इससे उन्हें किसी भी कॉन्टेक्स्ट में लागू किया जा सकता है.
बेज़ल कोर की क्षमता
- Baज़ल, कई भाषाओं, मल्टी-प्लैटफ़ॉर्म बिल्ड और टेस्ट के साथ काम करता है. आप अपना पूरा सोर्स ट्री बनाने और टेस्ट करने के लिए, एक ही कमांड चलाएं. इससे कोई फ़र्क़ नहीं पड़ता कि भाषाओं और प्लैटफ़ॉर्म का कौनसा कॉम्बिनेशन टारगेट किया जा रहा है.
- बेज़ल बिल्ड तेज़ और सही हैं. हर बिल्ड और टेस्ट रन बढ़ोतरी होती है, तो आपके डेवलपर की ओर से मशीन और CI.
- Basel का ऐप्लिकेशन, एक जैसी और एक्सटेंसिबल लैंग्वेज उपलब्ध कराता है, ताकि किसी भी भाषा या प्लैटफ़ॉर्म के बारे में बात करते हैं.
- Basel का इस्तेमाल करने पर कैश मेमोरी में सेव करने की सेवाएं.
- Basel सभी बड़े डेवलपमेंट प्लैटफ़ॉर्म (Linux, MacOS, और Windows).
- हम स्वीकार करते हैं कि बेज़ल को अपनाने में मेहनत लगती है, लेकिन इसे धीरे-धीरे अपनाया जा सकता है किया जा सकता है. बेज़ल इंटरफ़ेस, किसी प्रॉडक्ट के लिए डी-फ़ैक्टो स्टैंडर्ड टूल की मदद से इंटरफ़ेस करता है भाषा/प्लैटफ़ॉर्म.
सेवा देने वाली भाषा से जुड़े समुदाय
सॉफ़्टवेयर इंजीनियरिंग, भाषा समुदायों के संदर्भ में विकसित होती है — आम तौर पर, लोगों के ऐसे ग्रुप को खुद व्यवस्थित करना जो सामान्य टूल और तरीकों का इस्तेमाल करते हैं.
किसी भाषा समुदाय के सदस्यों को इस्तेमाल किए जाने के लिए, अच्छी क्वालिटी वाले बेज़ल नियमों का पालन करना ज़रूरी है हैं जो उस समुदाय के वर्कफ़्लो और तौर-तरीकों के मुताबिक हों.
Basel का विस्तार किए जाने लायक और खुला मॉडल है और यह उनके लिए अच्छे नियमों का समर्थन करने के लिए प्रतिबद्ध है किसी भी भाषा में.
एक अच्छे नियमसेट की आवश्यकताएं
- नियमों को प्रभावी बनाने और परीक्षण का समर्थन करना चाहिए भाषा, जिसमें कोड कवरेज शामिल है.
- ये नियम, इसी तरह के "पैकेज मैनेजर" के साथ इंटरफ़ेस होने चाहिए भाषा (जैसे कि Java के लिए Maven) और इंक्रीमेंटल माइग्रेशन पाथ के साथ काम करता है ज़्यादा इस्तेमाल होने वाले अन्य बिल्ड सिस्टम से.
- नियम एक्सटेंसिबल और इंटरऑपरेबल होने चाहिए, ताकि "बेज़ल सैंडविच" सिद्धांत.
- नियम दूर से एक्ज़िक्यूशन के लिए तैयार होने चाहिए. इसका मतलब है कि इसे टूलचेन तरीके का इस्तेमाल करके कॉन्फ़िगर किया जा सकता है.
- नियमों (और Baज़र) को बड़े पैमाने पर इस्तेमाल होने वाले IDE की मदद से इंटरफ़ेस करना होगा अगर कोई भाषा है, तो उस भाषा का इस्तेमाल करें.
- नियमों में इस्तेमाल किए जा सकने वाले दस्तावेज़ होने चाहिए. साथ ही, इनमें शुरुआती जानकारी शामिल होनी चाहिए नए उपयोगकर्ताओं के लिए सामग्री, विशेषज्ञ उपयोगकर्ताओं के लिए व्यापक दस्तावेज़.
इनमें से हर एक आइटम ज़रूरी है और सिर्फ़ साथ में डिलीवर करते हैं. किसी नेटवर्क की बेहतर तरीके से समझ पाने में मदद कर सकता है.
वे काफ़ी हद तक काफ़ी होते हैं - सभी काम पूरे होने के बाद, Basel पूरी तरह से उस भाषा समुदाय के सदस्यों तक अपनी बात पहुंचाता है.