
हैलो, मेरा नाम मिखाइल कपेल्को है। मैं 10 से अधिक वर्षों के लिए पेशेवर सॉफ्टवेयर विकास में लगा हुआ हूं, अपने खाली समय में मैं उनके निर्माण के लिए खेल और उपकरण विकसित करता हूं।
इस लेख में, मैं अपने पहले लंबे समय तक चलने वाले डेस्कटॉप एप्लिकेशन के बारे में बात करूंगा - PSKOV स्टेटिक साइट जनरेटर।
सहनशीलता
एक टिकाऊ आवेदन से मेरा मतलब है कि एक ऐसा अनुप्रयोग जो 2010-2030 के बीच जारी ऑपरेटिंग सिस्टम पर एक भी बदलाव के बिना काम करता है। दूसरे शब्दों में, एक लंबे समय तक चलने वाले एप्लिकेशन में 10 साल की पिछड़ी संगतता और 10 साल की स्थायित्व है। हालाँकि, PSKOV विंडोज 2000 पर भी काम करता है, इसलिए इसमें 19 साल की बैकवर्ड संगतता है।
तकनीकी रूप से, PSKOV एक एकल HTML फ़ाइल है जिसमें पैक्ड मार्कअप (HTML), शैलियाँ (CSS) और कोड (जावास्क्रिप्ट) हैं। PSKOV सर्वर के साथ बातचीत के बिना एक वेब ब्राउज़र में कड़ाई से निष्पादित किया जाता है।
ऐसा संगठन PSKOV को निम्नलिखित अवसर देता है:
- इसे प्रतिबंधों के बिना कॉपी किया जा सकता है
- इसे किसी भी होस्टिंग पर रखा जा सकता है
- इसे स्थानीय स्तर पर चलाया जा सकता है
- यह इंटरनेट के बिना काम कर सकता है
मैं 10-वर्ष के स्थायित्व की गारंटी नहीं दे सकता, क्योंकि मैं भविष्य का मालिक नहीं हूं। उसी समय, HTML, CSS और जावास्क्रिप्ट के इतिहास से पता चलता है कि ये प्रौद्योगिकियां उच्चतम संभव पिछड़े संगतता के साथ विकसित हो रही हैं। सबसे पहले, नई जावास्क्रिप्ट सुविधाएँ पुराने वाले को ओवरराइड नहीं करती हैं। दूसरे, वेब ब्राउज़र निर्माता अपने वेब ब्राउज़र को यथासंभव अधिक साइटों के साथ काम करने में रुचि रखते हैं। परिणामस्वरूप, उदाहरण के लिए, 2014 में अप्रचलित घोषित किया गया <केंद्र> टैग , 2019 में 5 साल बाद समस्याओं के बिना काम करता है।
उसी समय, वेब ब्राउज़र में किसी भी एप्लिकेशन में एक गंभीर सीमा होती है - एक सेल को भ्रामक रूप से सैंडबॉक्स के रूप में संदर्भित किया जाता है। यह सेल उपयोगकर्ता के स्थानीय फ़ाइल सिस्टम और इंटरनेट पर लगभग सभी संसाधनों तक पहुँच को अस्वीकार करता है, बिना संसाधन के मालिक (CORS) की अनुमति के। नतीजतन, एप्लिकेशन एक विशिष्ट सर्वर या डाउनलोड करने के लिए फ़ाइल के रूप में उपयोगकर्ता को कुछ दे सकता है। फ़ाइलों को एक बार में या एक संग्रह में डाउनलोड करना असुविधाजनक है, यही कारण है कि सर्वर दृष्टिकोण अब दुनिया में प्रबल है, जिन समस्याओं को मैं थोड़ा बाद में छूऊंगा।
PSKOVA को सेल से मुक्त करने के लिए, मुझे LFSD बनाना था, एक छोटा पायथन स्क्रिप्ट जो PSKOVA के काम करते समय मेरे हाथों से चलाने की आवश्यकता थी। LFSD PSKOV को उपयोगकर्ता की स्थानीय फ़ाइल प्रणाली के साथ काम करने में सक्षम बनाता है। पायथन को लिनक्स और मैकओएस पर डिफ़ॉल्ट उपस्थिति के साथ-साथ विंडोज (यहां तक कि विंडोज 2000) पर स्थापित करने की क्षमता के कारण चुना गया है।
ट्रैक रिकॉर्ड
PSKOV को निम्नलिखित छोटी साइटों को बनाने के लिए सफलतापूर्वक परीक्षण किया गया है:
अब वेब ब्राउजर के लिए टिकाऊ एप्लिकेशन के रूप में PSKOVA बनाने के कारणों के बारे में।
कारण संख्या 1: ज्ञान का संचय और संरक्षण एक सुलभ रूप में
यह पहला वर्ष नहीं है जब मैं सुविधाजनक गेम डेवलपमेंट टूल बनाने पर काम कर रहा हूं। हाल तक तक, संचित ज्ञान मूल डेस्कटॉप अनुप्रयोग थे , संबंधित प्रौद्योगिकियों या वीडियो परिणामों पर प्रशिक्षण लेख । संचित प्रकार के संचित ज्ञान इस तथ्य से प्रतिष्ठित हैं कि यह ज्ञान अनिवार्य रूप से मृत है:
- कुछ लोग एक अज्ञात एप्लिकेशन डाउनलोड करते हैं
- कुछ ही लोग लेख पढ़ेंगे
- लोगों की इकाइयाँ वीडियो का कम से कम हिस्सा देख सकेंगी
कई मायनों में, यह मृत्यु दुर्गमता के कारण है: आपको अज्ञात परिणाम प्राप्त करने के लिए अज्ञात मात्रा में प्रयास करने की आवश्यकता है। यह संभावना नहीं है कि आज किसी को भी लालच दिया जा सकता है। एक ब्राउज़र में एप्लिकेशन के साथ स्थिति पूरी तरह से अलग है जो संभावित रूप से हर जगह काम करती है: आपको एक अज्ञात प्रयास करने की आवश्यकता है - एक लिंक खोलें - एक अज्ञात परिणाम प्राप्त करने के लिए। ट्विटर क्रांति के इतिहास से पता चलता है कि लगभग हर कोई जानता है कि लिंक कैसे खोलें और "खूनी शासन" के परिवर्तन की तरह।
कारण संख्या 2: लोकतंत्र
आज, इंटरनेट पर किसी को भी छींकने वाली सेवाओं के माध्यम से किया जाता है जो लगभग हमेशा एक कंपनी के होते हैं: संदेश , नक्शे , खोज , संगीत , स्रोत कोड , आदि ... शक्ति के इस तरह के एक usurpation का परिणाम उन सेवाओं का बंद होना है जिन्हें नियंत्रित करना लाभहीन मानता है। इसके अलावा, उन उपयोगकर्ताओं के साथ किसी भी चर्चा के बिना, जिसके बिना यह सेवा कभी भी बंद नहीं होगी।
अन्य मामलों में, कंपनी केवल एक प्रतिस्पर्धी ब्राउज़र को अपनी सेवा का उपयोग करने से रोक सकती है, जैसा कि हाल ही में स्काइप के वेब संस्करण के साथ हुआ है । हालांकि, ऐसे लोग हैं जो इस तरह की नीति से असहमत हैं। उनके लिए धन्यवाद, ताले को निष्क्रिय करने के उपकरण दिखाई देते हैं।
मेरी राय में, यह राज्य की स्थिति अस्वीकार्य है। हालाँकि, दोष केवल भागे हुए व्यवसाय के साथ ही नहीं है, बल्कि साधारण उपयोगकर्ताओं के साथ भी है। आप तर्क दे सकते हैं कि उपयोगकर्ताओं के पास कोई विकल्प नहीं है, कि किसी और (शक्ति, सरीसृप, रेखांकित, आवश्यक) ने इस दुनिया को अनुचित बना दिया। कोई व्यक्ति सीधे तौर पर सत्ता / रेप्टिलॉइड को दोषी ठहरा सकता है और विश्वास कर सकता है कि उनके बिना हम जीवित रहेंगे। दुर्भाग्य से, मानव जाति का इतिहास इसके विपरीत कहता है : " राज्य किसी प्रकार का शत्रुतापूर्ण गिरोह नहीं है जो समाज पर कब्जा कर लेता है, लेकिन वह जो समाज से बाहर निकलता है और उसे दर्पण करता है ।"
लोगों का एक हिस्सा होने के नाते, मैंने खुद से शुरुआत की और अपनी शक्ति का उपयोग अच्छे के लिए करने का फैसला किया: मुझे उन अनुप्रयोगों को बनाने के लिए जिनकी मुझे आवश्यकता है ताकि वे हर जगह और हमेशा सभी के लिए काम करें। PSKOV पहला प्रयास है जो मेरी अपेक्षाओं से अधिक है। बेशक, PSKOVA की LFSD के रूप में अपनी सीमाएँ हैं और एन्क्रिप्शन के बिना HTTP पर काम करती हैं; PSKOV की उपलब्धता बढ़ाने के लिए बहुत कुछ किया जाना बाकी है, लेकिन अब मैं किसी से भी बहस करने के लिए तैयार हूं: PSKOV 10 वर्षों में एक भी बदलाव के बिना काम करेगा। जैसा कि कहा जाता है, इस ट्वीट को याद रखें।
यह मेरी पहली लंबी अवधि के डेस्कटॉप एप्लिकेशन की कहानी को समाप्त करता है - PSKOV स्टेटिक साइट जनरेटर।