हमने औरोरा ओएस (सेलफिश मोबाइल ओएस आरयूएस) पर एक मोबाइल एप्लिकेशन कैसे विकसित किया

हमारी टीम ने एक बड़े ग्राहक के लिए भुगतान प्रणाली के ढांचे के भीतर भुगतान प्राप्त करने के लिए एक कॉर्पोरेट मोबाइल एप्लिकेशन विकसित और समर्थन किया है। अब यह सैंतालीस रूसी क्षेत्रों में ऑरोरा ऑपरेटिंग सिस्टम (पूर्व में सेलफिश मोबाइल ओएस आरयूएस) चलाने वाले उपकरणों पर ग्राहक कर्मचारियों द्वारा उपयोग किया जाता है। इस पोस्ट में मैं संक्षेप में इस परियोजना के बारे में और ओएस के बारे में अधिक विस्तार से बात करूंगा।


प्रागितिहास


हमारी कंपनी NORBIT ने एक बड़े ग्राहक के लिए एक भुगतान प्रणाली विकसित की है। सिस्टम में सर्वर भाग और कई क्लाइंट शामिल हैं: डेस्कटॉप, वेब और मोबाइल ऑपरेटिंग सिस्टम एंड्रॉइड पर। प्रारंभ में, सिस्टम रूसी संघ के कई क्षेत्रों में लागू किया गया था। 2016 में, ग्राहक ने क्षेत्रीय उपस्थिति का विस्तार करने का फैसला किया, और फिलहाल यह प्रणाली लागू की गई है और 37 क्षेत्रों में सफलतापूर्वक चल रही है।

2017 में, ग्राहक ने घरेलू सॉफ्टवेयर पर उपकरणों का उपयोग करने का फैसला किया और अरोरा ओएस (सेलफिश मोबाइल ओएस आरयूएस) के साथ कई हजार इनो आर 7 डिवाइस खरीदे। हमारी टीम को एक अन्य मोबाइल भुगतान प्रणाली ग्राहक बनाने का काम सौंपा गया था।

इसे विकसित करने में केवल कुछ महीने लगे। यह एक दिलचस्प चुनौती थी, क्योंकि सभी कार्यों को खरोंच से व्यवस्थित किया जाना था। हमें एक टीम को इकट्ठा करने, विकास की एक प्रक्रिया बनाने, परीक्षण करने और नए संस्करणों को नियमित रूप से जारी करने की आवश्यकता थी। मैं इन चरणों के बारे में संक्षेप में बात करूंगा।


कैसा था प्रोजेक्ट


शुरू करने के लिए, यह समझना आवश्यक था कि यह सब लागू करने के लिए कौन सी ताकतें हैं। मुझे एक टीम की आवश्यकता थी, लेकिन अरोरा ओएस बाजार में बस तैयार विशेषज्ञ नहीं थे।

यहां हमें मंच से ही श्रद्धांजलि देनी चाहिए। अरोड़ा ओएस के तहत विकास क्यूटी ढांचे का उपयोग करके किया जाता है। और सरल अनुप्रयोगों को लिखने के लिए, आप घोषणात्मक भाषा QML का उपयोग कर सकते हैं, जो ज्यादातर मामलों में आपको C ++ में निम्न-स्तरीय प्रोग्रामिंग का सहारा नहीं लेने की अनुमति देता है। नतीजतन, कार्य क्यूटी के लिए समझदार डेवलपर्स की तलाश में उबला हुआ है, जो पूरे पर, पर्याप्त हैं।

ठीक है, टीम का गठन किया गया है, हमें कार्यक्षमता के मामले में बाकी ग्राहकों को पकड़ने की जरूरत है। समय सीमा कम थी - हमारे पास मौजूदा कार्यक्षमता को अपडेट करने और नई सुविधाओं को लागू करने के लिए केवल कुछ महीने थे। व्यापार तर्क के साथ लड़ाई के अलावा, सब कुछ के शीर्ष पर, मंच के साथ एक लड़ाई ही हमें इंतजार कर रही थी। कई सवालों को हल करना आवश्यक था, लेकिन हमारे पास उनके लिए तैयार उत्तर नहीं थे। स्टैकओवरफ़्लो के साथ, आपने समाधान को जल्दी से कॉपी नहीं किया, क्योंकि दिशा नई है और हम पहले में से एक थे। यहाँ उनमें से कुछ हैं।

केकेएम के साथ ब्लूटूथ कनेक्टिविटी


परियोजना को एटोल और श्रितिख से नकदी रजिस्टर (केकेएम) के समर्थन की आवश्यकता थी। दोनों केकेएम निर्माता ब्लूटूथ के माध्यम से जुड़ने की क्षमता वाले उत्पादों का उत्पादन करते हैं। ब्लूटूथ के साथ काम करने के उदाहरण Qt वेबसाइट पर देखे जा सकते हैं।

"बारकोड" स्रोत कोड के रूप में केकेएम के साथ काम करने के लिए ड्राइवर की आपूर्ति करता है, जिसे लिंक से डाउनलोड किया जा सकता है। ड्राइवर का उपयोग करने का एक परियोजना उदाहरण भी है।

ATOL के ड्राइवर को खोज के लिए साइट से डाउनलोड किया जा सकता है "वाणिज्यिक उपकरणों के ड्राइवर"। हमारे प्रोजेक्ट में, हमने ड्राइवर के आठवें संस्करण का उपयोग किया।

परियोजना की शुरुआत में 54-54 के समर्थन के साथ केकेएम थे, और बिना। इसलिए, चार प्रकार के कैश रजिस्टर (54--/ बिना 54-54 के साथ ATOL / बारकोड) के लिए समर्थन की आवश्यकता थी।

बड़े डेटाबेस अपडेट के साथ काम करें


हर सुबह, ग्राहक के कर्मचारी अपने फोन पर अपने समकक्षों के संदर्भ जानकारी अपडेट करते हैं। चूंकि बहुत सारे ठेकेदार हैं (क्षेत्र के आधार पर कई हजार), निर्देशिकाओं को अपडेट करने में 1 मिनट तक का समय लगता है। प्रारंभ में, प्रत्येक प्रतिपक्ष को सम्मिलित करने के बाद कमिट किए गए थे। जब उन्होंने सभी सहायता जानकारी डालने के बाद एक कमिट करना शुरू किया, तो निर्देशिकाओं को अपडेट करने का समय आधा कर दिया गया (एक बड़ी प्रतिबद्धता)।

अनुप्रयोग निर्माण अनुकूलन


शुरुआत में, प्रोजेक्ट पर "बच्चों की गलतियाँ" - हेडर फ़ाइलों में हेडर फ़ाइलों सहित। आगे की घोषणा के लिए संक्रमण परियोजना के निर्माण समय को काफी कम करने की अनुमति देता है। इसके अलावा, आरपीएम पैकेज बनाने के लिए प्रोजेक्ट को बनाने और स्थापित करने में बहुत समय लगता है। यदि आप स्थापना प्रकार "बाइनरी फ़ाइलों की प्रतिलिपि बनाएँ" का चयन करते हैं, तो डीबगिंग में प्रोजेक्ट को फिर से स्थापित करना, स्थापित करना और शुरू करना सेकंड के एक मामले में होगा। इसके अलावा, एमुलेटर पर तेजी से विधानसभा के लिए, आप बारकोड और कैश रजिस्टर के साथ काम करने के लिए कक्षाओं की विधानसभा को अक्षम कर सकते हैं। गैर-आरपीएम इंस्टॉलेशन विकल्प संभावित रूप से खतरनाक है क्योंकि निर्भरता ऊपर नहीं खींचेगी।

स्वचालित बिल्ड अनुप्रयोग


आप विकास के माहौल को शुरू किए बिना एप्लिकेशन असेंबली को व्यवस्थित कर सकते हैं। यदि आप विकास के माहौल से निर्माण करते हैं, तो विधानसभा कंसोल में आप रनिंग कमांड देख सकते हैं। उसी कमांड को बैश या बैच के जरिए चलाया जा सकता है।

लेकिन सभी कठिनाइयों के बावजूद, हमने ग्राहक द्वारा निर्धारित कार्यों को पूरा किया है। 31 दिसंबर, 2017 को आवेदन सफलतापूर्वक लॉन्च किया गया था, और इस पर पहले भुगतान स्वीकार किए गए थे। फिलहाल, आवेदन कई हजार मोबाइल उपकरणों पर चलता है जो अरोरा ओएस चला रहा है।

ओएस अरोरा


अब चलो ऑपरेटिंग सिस्टम और इसकी विशेषताओं के बारे में बात करते हैं।


ऑरोरा ओएस (पूर्व में सेलफिश मोबाइल ओएस आरयूएस ) मोबाइल उपकरणों (स्मार्टफोन और टैबलेट) के लिए एक विश्वसनीय ऑपरेटिंग सिस्टम है। इसे ओपन मोबाइल प्लेटफॉर्म कंपनी द्वारा विकसित किया जा रहा है। प्रणाली सेलफ़िश ओएस प्लेटफ़ॉर्म पर आधारित है और कॉर्पोरेट उपयोगकर्ताओं और सरकारी निगमों के लिए डिज़ाइन की गई है।

2018 में, रोस्टेलकॉम ने ओपन मोबाइल प्लेटफ़ॉर्म कंपनी का 75% और फिनिश प्रोजेक्ट में एक नियंत्रित हिस्सेदारी का अधिग्रहण किया। उसी समय, ऑरोरा ऑपरेटिंग सिस्टम के साथ सेलफिश मोबाइल ओएस रस नाम को बदलने का फैसला किया गया था। यह घरेलू बाजार के लिए बेहतर है और, लेखकों द्वारा कल्पना के रूप में, उत्पाद के लक्ष्यों से मेल खाता है, और रूस और विदेशों में भी सकारात्मक संघों का कारण बनता है।

"विश्वसनीय" शब्द का अर्थ है कि ऑरोरा ओएस पर अपने कर्मचारियों को उपकरणों के साथ प्रदान करने वाले संगठन का स्वयं के उपकरणों और उपयोग करने वाले डेटा दोनों पर पूर्ण नियंत्रण है। डेटा स्टोरेज और ट्रांसमिशन की सुरक्षा को GOST के अनुसार एन्क्रिप्शन एल्गोरिदम द्वारा सुनिश्चित किया जाता है और एफएसबी और एफएसटीईसी के प्रमाणपत्रों द्वारा इसकी पुष्टि की जाती है।

मोबाइल उपकरणों का प्रबंधन करने के लिए, ओपन मोबाइल प्लेटफॉर्म द्वारा एसएफ क्लाउड उत्पाद भी विकसित किया जा रहा है। यह एक सर्वर समाधान है जिसे ग्राहक संगठन के उपकरणों पर तैनात किया जा सकता है और आपको किसी भी समय कर्मचारी के मोबाइल उपकरणों की स्थिति की निगरानी करने, उपकरणों पर एप्लिकेशन इंस्टॉल करने, अपडेट करने और हटाने, ओएस अपडेट प्रबंधित करने, डिवाइस तक पहुंच ब्लॉक करने और डेटा को सुरक्षित रूप से हटाने के लिए अनुमति देता है (मिटा दें) )।


अरोरा ओएस का एक पूर्ण विकास चक्र रूस में होता है। इसने उसे रूसी कंप्यूटर प्रोग्राम और डेटाबेस के एकीकृत रजिस्टर में प्रवेश करने की अनुमति दी। फिलहाल, इस स्थिति के साथ यह एकमात्र मोबाइल ओएस है, इसलिए इसके साथ संगतता रजिस्ट्री से मोबाइल अनुप्रयोगों के लिए एक शर्त है

हुड के तहत, ऑरोरा ओएस में एक POSIX- संगत वातावरण है। यही है, यह मोबाइल उपकरणों के लिए पूर्ण लिनक्स है। उदाहरण के लिए, एंड्रॉइड के विपरीत, बॉक्स के बाहर एक पीसी पर "बड़े" वितरणों से परिचित सिस्टमड, डी-बस, एसएचएस और अन्य सेवाएं और उपयोगिताओं हैं। इसी समय, इस प्रणाली में लिबायब्रिस घटक शामिल है, जिसे POSIX- संगत प्रणालियों पर बायोनिक वातावरण से ड्राइवरों का उपयोग करने के लिए डिज़ाइन किया गया है। यह आपको एंड्रॉइड के लिए मूल रूप से डिज़ाइन किए गए उपकरणों पर ऑरोरा ओएस चलाने की अनुमति देता है। सहित सोनी एक्सपीरिया एक्स और सोनी एक्सपीरिया एक्सए 2 के लिए आधिकारिक समर्थन है

लगभग सभी आवश्यक एपीआई क्यूटी ढांचे और इसके आधार पर अतिरिक्त पुस्तकालयों का उपयोग करके प्रदान किए जाते हैं, जिनका उपयोग सिस्टम एप्लिकेशन और सेवाओं को लागू करने के लिए भी किया जाता है। क्यूटी लाइसेंस आपको खुले अनुप्रयोगों और स्वामित्व दोनों को लिखने की अनुमति देता है। दूसरे मामले में, एलजीपीएल नियमों का अनुपालन एक आवश्यक आवश्यकता है, लेकिन व्यावसायिक आधार पर क्यूटी पुस्तकालयों का उपयोग करते समय, यह आवश्यकता वैकल्पिक हो जाती है।

सेलफ़िश एसडीके सार्वजनिक रूप से उपलब्ध है और क्यूटी उन्मुख भी है। इसमें निम्नलिखित घटक शामिल हैं।

क्यूटी निर्माता क्यूटी परियोजना द्वारा विकसित एक आईडीई है और क्यूटी पुस्तकालयों के साथ सुविधाजनक काम के लिए गहन एकीकरण और उपकरण प्रदान करता है। सेलफ़िश मोबाइल ओएस आरयूएस समर्थन एक प्लगइन के माध्यम से प्राप्त किया जाता है जो एआरएम और x86 आर्किटेक्चर के लिए उपयुक्त बिल्ड किट को कॉन्फ़िगर करता है और निर्माण और अनुकरण नियंत्रण करता है।


बिल्ड वातावरण एक Linux वातावरण है जिसमें टूल और गोलों का एक सेट होता है, जिसे VirtualBox के लिए वर्चुअल मशीन में पैक किया जाता है। इस प्रारूप में वितरण आपको डेवलपर के ऑपरेटिंग सिस्टम की परवाह किए बिना एक ही बिल्ड टूल का उपयोग करने की अनुमति देता है - लिनक्स, विंडोज और मैकओएस समर्थित हैं, लेकिन यह कई सीमाएं भी लगाता है। उदाहरण के लिए, ऑरोरा ओएस के लिए परियोजनाओं को कुछ विशेष निर्देशिकाओं में रखा जाना चाहिए जो वर्चुअल मशीन को दिखाई देते हैं: उपयोगकर्ता के घर की निर्देशिका या एसडीके की स्थापना के दौरान निर्दिष्ट वैकल्पिक निर्देशिका।

एमुलेटर वर्चुअलबॉक्स के लिए एक वर्चुअल मशीन है जिसमें x86 के लिए संकलित ओएस छवि शामिल है। वास्तव में, यह ऑपरेटिंग सिस्टम की एक पूरी असेंबली है, जो आपको एप्लिकेशन के कई पहलुओं की जांच करने की अनुमति देता है। लेकिन एक ही समय में, सत्यापित करने के लिए भौतिक उपकरणों का उपयोग करना सुविधाजनक है, उदाहरण के लिए, सेंसर का उपयोग।

Qt QML Live एक ऐसा टूल है जो आपको इंस्टालेशन पैकेज के पुनर्निर्माण के बिना प्रोजेक्ट की QML फ़ाइलों में परिवर्तन करते समय मक्खी पर एप्लिकेशन के GUI को बदलने की अनुमति देता है। यह दृष्टिकोण उपयोगकर्ता इंटरफ़ेस के विकास में काफी तेजी ला सकता है।

दस्तावेज़ीकरण संदर्भ लेखों का एक समूह है जो Qt द्वारा प्रदान किए गए एपीआई और अरोरा ओएस के लिए विशिष्ट घटकों के विवरण दोनों को कवर करता है: उदाहरण के लिए, सेलफ़िश सिलिका प्रलेखन। दस्तावेज़ अलग-अलग पढ़ने के लिए और स्रोत कोड संपादक में चयनित तत्व के लिए बुलाए गए संदर्भ सहायता प्रारूप में उपलब्ध है।

अरोड़ा ओएस के लिए एप्लिकेशन विकसित करना शुरू करने के लिए, आप न केवल प्रलेखन का अध्ययन कर सकते हैं, बल्कि प्रशिक्षण पाठ्यक्रम भी ले सकते हैं। स्टेपिक मंच पर एक सार्वजनिक परिचयात्मक पाठ्यक्रम है जो पहले चरणों और विकास के मुख्य पहलुओं का वर्णन करता है। इसके अलावा, ओपन मोबाइल प्लेटफ़ॉर्म कंपनी के भागीदारों के कर्मचारी edu@omprussia.ru पर अनुरोध कर सकते हैं, सेंसर, नेविगेशन, मल्टीमीडिया आदि के उपयोग सहित पाठ सहित अधिक व्यापक प्रशिक्षण पाठ्यक्रम तक पहुँच प्राप्त कर सकते हैं।

अनुप्रयोग विकास का परिणाम आरपीएम इंस्टॉलेशन पैकेज है। इससे पहले कि वह ग्राहक कंपनी के डिवाइस कर्मचारियों पर चढ़े, उसे निम्न चरणों से गुजरना होगा।

1. एक वैध डेवलपर प्रमाण पत्र के साथ हस्ताक्षरित। वास्तव में, यह चरण इंस्टॉलेशन पैकेज असेंबली का एक अभिन्न हिस्सा है, क्योंकि न केवल आरपीएम फ़ाइल पर हस्ताक्षर किए गए हैं, बल्कि इसकी संरचना में शामिल फाइलें भी हैं। उपलब्धता आपको स्थापना पैकेज की उत्पत्ति, साथ ही इसकी संरचना की अखंडता की जांच करने की अनुमति देती है। हस्ताक्षर करने के लिए, आपको प्रमुख पीढ़ी के उपकरण और एक डेवलपर प्रमाणपत्र प्राप्त करने की आवश्यकता है, इसके लिए ओपन मोबाइल प्लेटफ़ॉर्म कंपनी के भागीदार dev-support@omprussia.ru पर उपयुक्त अनुरोध भेज सकते हैं

2. एसएफ क्लाउड व्यवस्थापक को इंस्टॉलेशन पैकेज को स्थानांतरित करें। वर्कफ़्लो के संगठन के आधार पर, इस चरण को विभिन्न तरीकों से लागू किया जा सकता है। यह महत्वपूर्ण है कि परिणामस्वरूप, पैकेज को एसएफ क्लाउड रिपॉजिटरी में डाउनलोड किया जाना चाहिए और नियंत्रण कक्ष के माध्यम से उपकरणों के वितरण के लिए उपलब्ध होना चाहिए। उसी समय, जब रिपॉजिटरी में डाउनलोड किया जाता है, तो न केवल पैकेज हस्ताक्षर का सत्यापन होता है, बल्कि आरपीएम फ़ाइल की संरचना की शुद्धता भी होती है, जो कई आवश्यकताओं (एप्लिकेशन घटकों और सुरक्षा आवश्यकताओं के स्थान के मानकीकरण दोनों के कारण) के अधीन है। उदाहरण के लिए:

  • पैकेज बनाने के लिए उपयोग की जाने वाली विशेष फ़ाइल में अनुभाग प्री,% पोस्ट,% प्रून,% पोस्टुन,% वेरिफ़िसस्क्रिप्ट का उपयोग नहीं करना चाहिए;
  • एप्लिकेशन पैकेज की विशेष फ़ाइल की स्क्रिप्ट्स को मौजूदा फ़ाइलों को संशोधित या हटाना नहीं चाहिए;
  • एप्लिकेशन निष्पादन योग्य फ़ाइल का नाम और एप्लिकेशन पैकेज नाम की शुरुआत समान है और इसमें केवल लोअरकेस अक्षर, संख्याएं और डैश शामिल हैं;
  • निष्पादन योग्य फ़ाइल पथ / usr / bin / {प्रोजेक्ट नाम} पर स्थित है;
  • डेस्कटॉप फ़ाइल पथ /usr/share/applications/ellingproject_name►.desktop पर स्थित है;
  • आइकन पथों / usr / share / icons / hicolor / {resolution} / apps / {project name} .png में स्थित हैं
  • एप्लिकेशन द्वारा उपयोग की जाने वाली अतिरिक्त फाइलें / usr / शेयर / {प्रोजेक्ट नाम} निर्देशिका में स्थित हैं।


ऐसी आवश्यकताओं के सत्यापन को स्वचालित करने के लिए, आरपीएम-सत्यापनकर्ता स्क्रिप्ट का उपयोग करें। एक समान चेक एसडीके में उपलब्ध है और इसे आईडीई से बिल्ड इंजन कंट्रोल सेंटर में बुलाया जा सकता है। यह स्पष्ट करना महत्वपूर्ण है कि आरपीएम सत्यापनकर्ता स्क्रिप्ट सेटिंग्स लक्ष्य प्लेटफ़ॉर्म और ग्राहक आवश्यकताओं द्वारा निर्धारित की जा सकती हैं। आप प्रमाणित- अरोड़ा ओएस के लिए rpm-validator प्राप्त कर सकते हैं "ओपन मोबाइल प्लेटफॉर्म" में dev-support@omprussia.ru पर अनुरोध करता है

3. प्रशासन पैनल एसएफ क्लाउड के माध्यम से कर्मचारियों के उपकरणों का वितरण। यह चरण, एक नियम के रूप में, उपकरणों के एक छोटे समूह पर तकनीकी और कार्यात्मक परीक्षण शामिल है। ऑरोरा ओएस के प्रमाणित निर्माण वाले उपकरणों पर एक आरपीएम फ़ाइल स्थापित करते समय, हस्ताक्षर और संरचना की भी जांच की जाती है। डेवलपर्स सभी कर्मचारियों को उपकरणों को डाउनलोड करने से पहले होने वाली त्रुटियों को ठीक करने में शामिल हो सकते हैं।

ऑरोरा ओएस एकमात्र मोबाइल ऑपरेटिंग सिस्टम है जो एफएसबी और एफएसटीईसी की आवश्यकताओं को पूरा करता है।

हम अरोड़ा ओएस पर मोबाइल अनुप्रयोगों के विकास की सुविधाओं पर चर्चा करने के लिए टिप्पणियों में तैयार हैं।

यह लेख ओपन मोबाइल प्लेटफ़ॉर्म कंपनी के समर्थन से तैयार किया गया था

Source: https://habr.com/ru/post/hi475652/


All Articles