KamoCRM

स्टोर में एक मोबाइल अनुप्रयोगName

नेटिव मॉड्यूल के साथ रिऐक्ट नेटिव जहाँ JavaScript नहीं करेगा

प्लेटफार्म के लिए एक क्रॉस-प्लेटफॉर्म मोबाइल क्लाइंट, React Native में लिखा गया है, जिसमें मूल Android मॉड्यूल हैं जहां JavaScript परत पहुंच नहीं सकती है - पृष्ठभूमि संदेश वितरण, तैरती ओवरले विंडोज़, उपकरण रजिस्ट्रेशन और सुरक्षित प्रमाणपत्र भंडारण।

प्रत्येक संख्या यहाँ नाम है कि यह कहाँ से आया था और जब मापा गया था।
मापमूल्यस्रोतमापा
React मूल कोडबेस के साथ मूल Android मॉड्यूलKotlin modules for overlays, background delivery and enrolmentandroid source tree in the mobile client repository
मोबाइल क्लाएंट में कोटलिन स्रोत24 filesfind . -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

क्या यह हमारे लिए योग्य है

Mobile applicationsCross-platform where it makes sense, native where it does notReal-time systemsLive data, messaging, presence and media — the unforgiving end of the webCustom web applicationsThe system your business actually runs on, built properly

हमें बताएं कि आप क्या करने की कोशिश कर रहे हैं

एक छोटी बातचीत आमतौर पर यह बताने के लिए पर्याप्त है कि क्या हम सही लोग हैं. यदि हम नहीं हैं, तो हम ऐसा कहेंगे और आपको कहीं बेहतर जगह दिखाएंगे.

बातचीत प्रारंभ करेंमैं पहले से प्रयोग कर रहा हूँ KamoCRMहम कैसे उद्धृत करते हैं