मोबाइल टर्मिनल: फ़ोन के अंदर क्या है?
मोबाइल टर्मिनल हाथ में रखा जाने वाला कंप्यूटिंग उपकरण है: स्मार्टफ़ोन, टैबलेट या स्मार्टवॉच। मुख्य भाग:
- प्रोसेसर और मेमोरी (दिमाग़ और उसकी अल्पकालिक याददाश्त)
- इनपुट-आउटपुट के लिए टच स्क्रीन
- सेंसर: एक्सेलेरोमीटर, जायरोस्कोप, कंपास, GPS, रोशनी, कैमरा, माइक्रोफ़ोन, फ़िंगरप्रिंट
- ऐप और फ़ाइलों के लिए स्टोरेज
- रेडियो: मोबाइल नेटवर्क (4G/5G), वाई-फ़ाई, ब्लूटूथ, NFC
- बैटरी, जो तय करती है कि ऐप कितना काम करे
आम सिस्टम एंड्रॉइड और iOS हैं। ऐप नेटिव (एक सिस्टम के लिए), वेब ऐप (ब्राउज़र में) या क्रॉस-प्लैटफ़ॉर्म (एक कोड दोनों के लिए) हो सकती हैं।
ऐप की संरचना: UI, तर्क और डेटा परतें
ऐप को परतों में बाँटने से वह साफ़-सुथरी रहती है और बदलना आसान होता है।
- UI परत: स्क्रीन, बटन, सूचियाँ। वह जानकारी दिखाती है और टैप लेती है।
- तर्क परत: नियम और गणना, जैसे 'बैटरी कम हो तो चेतावनी दिखाओ'।
- डेटा परत: फ़ोन या सर्वर पर डेटा पढ़ती और लिखती है।
टैप परतों में नीचे जाता है और जवाब ऊपर आता है। हर परत का अपना काम है, इसलिए नियम बिगाड़े बिना रूप बदल सकते हैं। फ़ोन के अच्छे UI के लिए: बड़े छूने वाले बटन (कम से कम 44 px), सरल स्क्रीन, हर स्क्रीन पर एक मुख्य काम और एक सेकंड के भीतर जवाब।
ऐप का एक जीवन-चक्र होता है: वह शुरू होती है, उपयोगकर्ता दूसरी ऐप पर जाए तो पृष्ठभूमि में चली जाती है, और सिस्टम उसे बंद भी कर सकता है। पृष्ठभूमि में जाते समय उपयोगकर्ता का काम सहेजो।
ऐप में सेंसर
सेंसर असली दुनिया को संख्याओं में बदलते हैं।
- एक्सेलेरोमीटर: x, y, z दिशा में त्वरण m/s² में नापता है। स्थिर होने पर वह गुरुत्व दिखाता है, लगभग 9.8 m/s² नीचे की ओर। स्क्रीन घुमाने, क़दम गिनने और झुकाव वाले खेलों में।
- जायरोस्कोप: फ़ोन कितनी तेज़ी से घूम रहा है।
- GPS: उपग्रहों से जगह पता करता है। बैटरी बहुत खाता है।
- कैमरा और माइक्रोफ़ोन: तस्वीर, कोड स्कैन, आवाज़।
- रोशनी सेंसर: स्क्रीन की चमक ठीक करता है।
सेंसर के पाठ्यांक में शोर होता है, इसलिए ऐप उन्हें चिकना करती है (कुछ पाठ्यांकों का औसत) और बैटरी बचाने के लिए तभी पढ़ती है जब ज़रूरत हो।
स्टोरेज और नेटवर्क
स्थानीय स्टोरेज डेटा फ़ोन पर रखता है: छोटी सेटिंग (कुंजी और मान), फ़ाइलें (फ़ोटो) और सूचियों के लिए छोटा डेटाबेस (जैसे SQLite)। यह तेज़ है और ऑफ़लाइन चलता है, पर फ़ोन खो जाए तो चला जाता है और दूसरे उपकरण इसे नहीं देख सकते।
नेटवर्क स्टोरेज (क्लाउड) डेटा सर्वर पर रखता है। कई उपकरण इसे साझा कर सकते हैं, पर इंटरनेट चाहिए।
ऐप सर्वर से कैसे बात करती है: ऐप HTTP या HTTPS से किसी API पते पर अनुरोध (जैसे 'बसों की सूची दो') भेजती है और सर्वर उत्तर लौटाता है, अक्सर JSON पाठ में।
ऑफ़लाइन-पहले डिज़ाइन: पहले फ़ोन में सहेजो, फिर इंटरनेट आने पर सर्वर से सिंक करो। मोबाइल डेटा के ख़र्च का भी ध्यान रखो: छोटा डेटा भेजो और जो बदलता नहीं उसे कैश करो।
मोबाइल ऐप की सुरक्षा
फ़ोन में निजी चीज़ें होती हैं: फ़ोटो, संदेश, जगह और पैसों की ऐप। ऐप को इन्हें बचाना चाहिए।
- अनुमति: कैमरा, जगह या संपर्क इस्तेमाल करने से पहले ऐप उपयोगकर्ता से पूछती है। सिर्फ़ उतना माँगो जितना सच में चाहिए, और कारण बताओ।
- एन्क्रिप्शन: गुप्त कुंजी से डेटा को अपठनीय कोड बना देता है। सहेजे निजी डेटा और रास्ते में जा रहे डेटा (HTTPS) दोनों के लिए इस्तेमाल करो।
- प्रमाणीकरण: पासवर्ड, PIN, फ़िंगरप्रिंट या एक-बार-कोड (OTP) से पहचानो कि उपयोगकर्ता कौन है।
- सुरक्षित कोडिंग: गुप्त कुंजी ऐप के अंदर न रखो, सारा इनपुट जाँचो और ऐप अपडेट रखो।
- निजता: कम डेटा लो, बताओ कि क्या रखते हो और उपयोगकर्ता को मिटाने दो।
उपयोगकर्ता ऐप सिर्फ़ भरोसेमंद स्टोर से लें और पढ़ें कि ऐप क्या माँग रही है।
खुद आज़माओ: काग़ज़ पर छोटी ऐप डिज़ाइन करो
क़दम-गिनने वाली ऐप की योजना बनाओ। एक स्क्रीन बनाओ। लिखो कि UI, तर्क और डेटा परतें क्या करेंगी। कौन-सा सेंसर चाहिए? क़दम कहाँ सहेजोगे और कौन-सी अनुमति चाहिए?
3D में आख़िरी चरण पर जाओ। इंटरनेट बंद करो और फिर चालू करो: डेटा के रास्ते का क्या होता है? अनुमति दो और फ़ोन झुकाओ: सेंसर का पाठ्यांक कब दिखता है?
मुख्य सूत्र और परिभाषाएँ
- स्थिर एक्सेलेरोमीटर ≈ 9.8 m/s² (गुरुत्व)
- डाउनलोड समय (से.) = फ़ाइल का आकार (बिट) ÷ गति (बिट प्रति सेकंड)
- 1 बाइट = 8 बिट; 1 MB ≈ 8 मेगाबिट
- मुख्य शब्द: UI, तर्क, डेटा, सेंसर, API, अनुरोध, उत्तर, सिंक, अनुमति, एन्क्रिप्शन
हल किए गए उदाहरण
1. फ़ोन मेज़ पर सीधा पड़ा है। एक्सेलेरोमीटर का z पाठ्यांक लगभग क्या होगा?
लगभग 9.8 m/s² (गुरुत्व), और x व y लगभग 0।
2. एक ऐप को 2 Mbps कनेक्शन पर 6 MB फ़ाइल डाउनलोड करनी है। कितना समय लगेगा?
6 MB = 6 × 8 = 48 मेगाबिट। समय = 48 ÷ 2 = 24 सेकंड।
3. 'तापमान > 40 हो तो लाल चेतावनी दिखाओ' नियम किस परत में होना चाहिए? UI, तर्क या डेटा?
यह नियम तर्क परत में होगा। UI सिर्फ़ लाल चेतावनी दिखाती है।
4. टॉर्च ऐप को संपर्कों की अनुमति क्यों नहीं माँगनी चाहिए?
उसे संपर्क चाहिए ही नहीं। ज़रूरत से ज़्यादा माँगना निजता का ख़तरा है और उपयोगकर्ता भरोसा नहीं करेंगे।
5. एक टू-डू ऐप कार्य पहले फ़ोन में सहेजती है और वाई-फ़ाई चालू होने पर अपलोड करती है। इस डिज़ाइन का नाम और एक लाभ बताओ।
ऑफ़लाइन-पहले और सिंक। लाभ: ऐप बिना इंटरनेट चलती है और कुछ खोता नहीं।
आम गलतियाँ
- नियम स्क्रीन के कोड में रख देना, जिससे ऐप बदलना कठिन हो जाता है।
- GPS हर समय पढ़कर बैटरी ख़त्म करना।
- ऐप को जिन अनुमतियों की ज़रूरत नहीं उन्हें भी माँगना।
- निजी डेटा HTTPS की जगह साधारण HTTP से भेजना, या गुप्त कुंजी ऐप के अंदर रखना।