प्लेटफार्म के लिए एक क्रॉस-प्लेटफॉर्म मोबाइल क्लाइंट, React Native में लिखा गया है, जिसमें मूल Android मॉड्यूल हैं जहां JavaScript परत पहुंच नहीं सकती है - पृष्ठभूमि संदेश वितरण, तैरती ओवरले विंडोज़, उपकरण रजिस्ट्रेशन और सुरक्षित प्रमाणपत्र भंडारण।
| माप | मूल्य | स्रोत | मापा |
|---|---|---|---|
| React मूल कोडबेस के साथ मूल Android मॉड्यूल | Kotlin modules for overlays, background delivery and enrolment | android source tree in the mobile client repository | |
| मोबाइल क्लाएंट में कोटलिन स्रोत | 24 files | find . -name '*.kt' across project repositories | |
| वितरण चैनल संचालित | 2 (store release and over-the-air update) | mobile release process |
क्या इमारत यह हमें सिखाया
क्रॉस-प्लेटफॉर्म फ्रेमवर्क्स को इस वादा पर बेचा जाता है कि आप एक बार लिखेंगे. आप करते हैं, शायद एक अनुप्रयोग के अस्सी प्रतिशत के लिए. शेष पांचवां वहां है जहां काम है, और यह हमेशा वह हिस्सा है जो अनुप्रयोग को रैप करने की बजाय मूल महसूस करता है: अधिसूचनाएं जो आती हैं जब अनुप्रयोग बंद हो जाता है, ओवरले जो अनुप्रयोग को ध्यान खोने से बचाते हैं, रजिस्ट्रेशन प्रवाह जो सुरक्षित तत्व को छूते हैं।
हमारा ओवरले कार्य बग के एक सूक्ष्म वर्ग का अच्छा उदाहरण है. स्क्रीन पर एक के अलावा किसी संवाद से आने वाले किसी भी संदेश के लिए एक फ्लोटिंग हेड उठाया जाता है - पर्याप्त सरल, जब तक कि आप ध्यान नहीं देते कि अपढ़ बैज दो बार खींचा जाता है, एक बार JavaScript में और एक बार नेटिव कोड में, और कि हेड दो अलग-अलग भंडारों में रहते हैं इसलिए एक को साफ करने से दूसरे को भरा रहता है. एक दृश्य तत्व के लिए सत्य के दो स्रोत मोबाइल अनुप्रयोगों में सबसे आम संरचनात्मक त्रुटि है और यह लगभग कभी भी दिखाई नहीं देता जब तक कि एक उपयोक्ता कुछ असंभव रिपोर्ट नहीं करता है.
रजिस्ट्रेशन ने हमें अनुक्रमण के बारे में सिखाया. एक एक बार रजिस्ट्रेशन टोकन को उपकरण रजिस्ट्रेशन पूरा होने से पहले खपत किया गया था, इसलिए प्रवाह में किसी भी बाद की विफलता को उपयोक्ता को 'इस कोड का पहले से ही उपयोग किया गया है' के रूप में प्रस्तुत किया गया था - एक संदेश जो उन्हें फिर से कोशिश करने के बजाय समर्थन के लिए भेजता है, और जो कारण के बजाय एक लक्षण का वर्णन करता है. एक बहु-चरण प्रवाह को अनुक्रमित करना ताकि इसके विफलता संदेश सच्चे रहें, केवल इंजीनियरिंग नहीं, बल्कि डिजाइन कार्य है.
रिलीज़ प्रक्रिया जानबूझकर उबाऊ है: एक मशीन पर बिल्ड होते हैं जिसमें टूलचेन होता है, ओवर-द-एयर अद्यतनों को स्टोर रिलीज़ से अलग-अलग संभाला जाता है, और दिन के अंत में लैपटॉप से कोई भी नहीं किया जाता है।
के साथ बनाया गया
- React Native
- TypeScript
- Kotlin
- Android SDK
- push notifications
- WebSocket
हमें बताएं कि आप क्या करने की कोशिश कर रहे हैं
एक छोटी बातचीत आमतौर पर यह बताने के लिए पर्याप्त है कि क्या हम सही लोग हैं. यदि हम नहीं हैं, तो हम ऐसा कहेंगे और आपको कहीं बेहतर जगह दिखाएंगे.
