paint-brush
द हैकरनून मोबाइल: द डेवलपर पर्सपेक्टिव और द वर्ल्ड वाइड राइटर रिलीज़ [संस्करण 1.9]द्वारा@fabian337
649 रीडिंग
649 रीडिंग

द हैकरनून मोबाइल: द डेवलपर पर्सपेक्टिव और द वर्ल्ड वाइड राइटर रिलीज़ [संस्करण 1.9]

द्वारा Marcos Fabian8m2024/02/15
Read on Terminal Reader
Read this story w/o Javascript

बहुत लंबा; पढ़ने के लिए

मोबाइल ऐप कैसे बनाया गया और प्रक्रिया के कुछ निर्णय लेने की व्याख्या।
featured image - द हैकरनून मोबाइल: द डेवलपर पर्सपेक्टिव और द वर्ल्ड वाइड राइटर रिलीज़ [संस्करण 1.9]
Marcos Fabian HackerNoon profile picture

हैकरनून मोबाइल ऐप ( Apple पर उपलब्ध है और अब बहुत लंबे समय से Google अनुमोदन की प्रतीक्षा कर रहा है) संपूर्ण HackerNoon लाइब्रेरी तक पहुंच बढ़ाने के उद्देश्य से 2023 Q4 में जारी किया गया। मोबाइल ऐप पाठकों की सुविधा प्रदान करता है क्योंकि यह ऐप के मुख्य उद्देश्यों में से एक था। वेब पर हम जो कुछ भी करते हैं, वह मोबाइल पर आसान है, क्योंकि यह एक वैयक्तिकृत अनुभव प्रदान करता है, और आप किसी भी समय कहीं से भी ऐप की मुख्य विशेषता का आनंद ले सकते हैं। रिलीज 1.9, आज लाइव, हमारा अब तक का सबसे बड़ा सुधार है, विशेष रूप से उपलब्ध 12 भाषाओं और हमारे इन-ऐप लेखन अनुभव के साथ। विश्वव्यापी लेखक को शुभकामनाएँ!


मुख्य विशेषताएं:

  1. पढ़ें - संपूर्ण 100k+ कहानी HackerNoon लाइब्रेरी उपलब्ध है।
  2. ऑडियो प्लेयर प्लेलिस्ट- लेख सुनें और अपनी पसंदीदा कहानियों के साथ प्लेलिस्ट बनाएं।
  3. लेखन (नया!) - मानव संपादकों को कहानियाँ लिखने और प्रस्तुत करने की क्षमता।
  4. मतदान और टिप्पणियाँ - नवीनतम प्रौद्योगिकी रुझानों पर वोट करें और चर्चा करें।


मोबाइल ऐप पर आप दिन की ट्रेंडिंग कहानियों के साथ टेकबीट पेज , आपके पसंदीदा विषयों के अनुसार क्यूरेट किए गए लेखों के साथ क्यूरेशन पेज, श्रेणी / टैग किए गए पेज जो विषय के आधार पर लेखों को क्यूरेट करते हैं, और भी बहुत कुछ देख सकते हैं। इस 1.9 रिलीज़ के साथ, हमने अब जल्द ही ऐप पर अनुवाद और लेखन जोड़ दिया है, इसलिए यह बेहतर होता जा रहा है।


डेवलपर के दृष्टिकोण से, मोबाइल ऐप की बहुत आवश्यकता थी। इसकी रिलीज़ से पहले लगभग हर HackerNoon उत्पाद मीटिंग में इसका उल्लेख किया गया था। किसी कारण से, कई वार्तालापों के परिणामस्वरूप:

यह अच्छा होगा यदि हमारे पास xy या z करने के लिए एक मोबाइल ऐप हो।

एक डेवलपर और चुनौतियों से प्यार करने वाले व्यक्ति के रूप में, मैं हमेशा खुद से पूछता था कि सिर्फ एक मोबाइल ऐप बनाना इतना कठिन क्यों है। तथ्य के बाद, उत्तर जितना मैंने सोचा था उससे कहीं अधिक सरल था।

ये कैसे हुआ?

पता चला कि कुछ साल पहले मेरी नज़र आयनिक फ्रेमवर्क पर पड़ी और मुझे लगा कि यह दिलचस्प है लेकिन वास्तव में इसका परीक्षण करने के लिए कभी कोई कोड नहीं लिखा। उस समय, फ्रेमवर्क केवल एंगुलर के साथ काम करता था, जिसने संभवतः इसे आज़माने के मेरे निर्णय पर प्रभाव डाला, यह ध्यान में रखते हुए कि मैं एक रिएक्ट डेवलपर के रूप में अधिक हूं। उस समय, आयोनिक उतना लोकप्रिय नहीं था, और हाइब्रिड एप्लिकेशन बनाने का विचार बहुत से लोगों के दिमाग में फिट नहीं बैठता था। किसी भी तरह, एक बार एक उत्पाद बैठक के दौरान, वे मोबाइल ऐप के बारे में बात कर रहे थे और मैंने आयनिक पर एक नज़र डालने और अनुमान लगाने का फैसला किया कि, उन्होंने अपने ढांचे को Vue और React तक विस्तारित किया है, जो या तो, मैं वास्तव में सहज हूं।


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

प्रक्रिया

मैंने सबसे पहले अपनी लिनक्स मशीन में आयोनिक इंस्टॉल करके शुरुआत की, एक बिल्कुल नया ऐप बनाया और उनके कुछ दस्तावेज़ों पर शोध किया। विकास शुरू करने के लिए इन जादुई आदेशों को चलाएं: npm install -g @ionic/cli ionic प्रारंभ // आयनिक सर्व बनाएं // स्थानीय रूप से चलाएं इसके साथ खेलने के बाद, मैंने HackerNoon वेब संस्करण से घटकों को इस नए प्रोजेक्ट में ले जाना शुरू कर दिया। कुछ ही घंटों में मैंने कुछ पन्ने बना लिये। HackerNoon डिज़ाइनरों ( @Devans & @Kien ) ने वास्तव में हर चीज़ से मेल खाते हुए और ऐप को एक अच्छा सार और लुक देते हुए बहुत अच्छा काम किया। इसका अधिकांश भाग उसी तरह विकसित किया गया था जैसे आप प्रतिक्रिया में विकसित करेंगे, सिवाय इसके कि आयनिक टाइपस्क्रिप्ट का उपयोग करता है, जो उनके लिए अच्छा है। मेरी लिनक्स मशीन एक अच्छा शुरुआती बिंदु थी जहां मैंने एंड्रॉइड पर आधारित लगभग 50% ऐप विकसित किया, लेकिन आईओएस संस्करण का परीक्षण करने में कठिनाई हो रही थी। लिनक्स के साथ एक काम था जिसमें मैक ओएस को वर्चुअल मशीन पर इंस्टॉल करना था, फिर एक्सकोड इंस्टॉल करना था, और फिर आईओएस पर ऐप का परीक्षण करना था, लेकिन तब मैं देरी और धीमेपन से निपट नहीं सका। एक बार जब मैं ऐप की प्रगति को लेकर आश्वस्त हो गया, तो मैंने iOS के लिए विकास शुरू करने के लिए अपने मैकबुक प्रो को अपग्रेड करने का निर्णय लिया। अब तक, यह एक अच्छा निर्णय था क्योंकि इसने मुझे कई स्तरों पर सभी प्लेटफार्मों के लिए विकास के महत्व को दिखाया, भले ही मुझे अभी भी लिनक्स पसंद है। इसलिए मेरे नए मैकबुक प्रो के साथ इस ऐप पर काम करना वास्तव में आंखें खोलने वाला था।

चुनौतियाँ

यह चुनौतियों से भरा एक सीखने का अनुभव था। यहां तक कि सबसे साधारण बग का पता लगाने में भी घंटों लग गए। खुशी की बात है कि मैं हर बार फंसने पर दस्तावेज़ीकरण कर रहा था, ताकि अगली बार ऐसा न हो। इस परियोजना के प्रमुख डेवलपर होने के नाते, मुझे ऐप के बुनियादी ढांचे के संदर्भ में कुछ कठिन विकल्प चुनने पड़े, संपूर्ण एपीआई का निर्माण करना पड़ा और साथ ही आयोनिक सीखना पड़ा और इसकी आदत डालनी पड़ी। यहाँ कुछ मुख्य चुनौतियाँ थीं:


  1. डिबगिंग/परीक्षण: सभी डेवलपर जानते हैं कि किसी भी स्तर का एप्लिकेशन विकसित करते समय परीक्षण कितना महत्वपूर्ण है। मोबाइल ऐप पर काम करते समय, मैंने सबसे पहले वेब पर विकास करना शुरू किया। मैंने वास्तव में सोचा था कि मोबाइल पर परीक्षण करने के लिए मुझे हर बार तैनाती करनी होगी। मैंने बहुत सारा समय सिर्फ इसलिए बर्बाद किया क्योंकि मुझे नहीं पता था कि आयनिक के पास मोबाइल पर परीक्षण करने का एक तरीका है, लेकिन स्थानीय स्तर पर। इसलिए अधिकांश समय, मेरा सीएसएस या कुछ ईवेंट हैंडलर टूट जाएंगे क्योंकि यह समान कार्यान्वयन नहीं है। स्थानीय स्तर पर मोबाइल पर परीक्षण के बाद, प्रक्रिया अधिक तरल है।
  2. सूचनाएं : जब मैंने पहली बार मोबाइल ऐप पर काम करना शुरू किया, तो मैंने दो दिलचस्प प्लगइन्स देखे जिनका उपयोग मैं सूचनाओं के लिए कर सकता था, जो स्थानीय सूचनाएं और पुश सूचनाएं थीं। स्थानीय सूचनाएं, बैकएंड सर्वर के साथ इंटरैक्ट किए बिना, ऐप पर स्थानीय रूप से प्रबंधित सूचनाएं हैं। मैंने स्वचालित रूप से सोचा कि स्थानीय सूचनाएं विकल्प को लागू करने के लिए सही और तेज़ थीं, इसलिए मैंने इसे बहुत आसानी से लागू किया। हालाँकि, यह वह नहीं था जिसकी हम तलाश कर रहे थे। पुश नोटिफिकेशन एक रास्ता था, लेकिन इसे लागू करना थोड़ा कठिन था और इसके लिए अतिरिक्त सेटअप और एक बैकएंड सर्वर की आवश्यकता थी। हम हर दिन दोपहर के समय केवल एक अधिसूचना भेजकर इसे सरल रखते हैं, हालाँकि हो सकता है कि हम कुछ और भी भेजना चाहें। यदि आपके पास मोबाइल ऐप और स्वीकृत सूचनाएं हैं, तो आपको दिन की हैकरनून शीर्ष कहानी के बारे में इस प्रकार की अधिसूचना मिलनी चाहिए।
  3. प्लेलिस्ट/प्लेयर : यह ऐप की मुख्य विशेषताओं में से एक है। इसे बनाना आनंददायक था लेकिन डिबग करना कष्टदायक था क्योंकि इसमें कई कार्यशीलताएं थीं। यह सुनिश्चित करना कि प्रत्येक बटन वही करता है जो उसे करना चाहिए, परीक्षण के समय इसमें काफी समय लगता था। स्टोरी ऑडियो प्लेयर बनाना अजीब था क्योंकि मैंने मोबाइल पर काम करने के लिए कई ऑडियो प्लगइन्स आज़माए। मेरे सामने मुख्य समस्या यह थी कि मैंने प्लेयर बनाया लेकिन ऑडियो नहीं चला या ऑडियो की गुणवत्ता वास्तव में खराब थी। कभी-कभी ऑडियो डेवलपमेंट मोड पर काम करेगा लेकिन प्रोडक्शन पर नहीं। वास्तव में जो काम किया वह देशी ऑडियो एपीआई था। उसके बाद यह सीधे आगे बढ़ गया, बस स्रोत यूआरएल पास करें और एक्शन बटन जोड़ें। प्लेलिस्ट किसी चुनौती से कम नहीं थी क्योंकि प्लेलिस्ट बनाने के लिए केवल डेटाबेस पर कहानियों को सहेजना होता है। प्लेलिस्ट को क्रम में रखना, आवाज़ें बदलना, पुनः क्रमित करना और अपनी प्लेलिस्ट में कहानियों के पूरे समूह को जोड़ने की क्षमता जैसी कार्यात्मकताओं को लागू करना वास्तव में अच्छा था। हो सकता है कि भविष्य में हमारे पास सार्वजनिक प्लेलिस्ट हों जहां आप देख सकें कि अन्य लोग क्या सुन रहे हैं, निश्चित रूप से उनकी चिंता के साथ। यहाँ मेरी प्लेलिस्ट अभी कैसी दिखती है:
  4. आयनिक अपडेट बनाम आईओएस अपडेट बनाम एक्सकोड अपडेट: मुझे लगता है कि यह सबसे निराशाजनक हिस्सा था, जब आपके पास वास्तव में अच्छा संस्करण 100% काम कर रहा हो और फिर बूम यह काम नहीं करता है, या यह लोड नहीं होता है, या यह लॉग नहीं करता है मुझे याद है कि इनपुट फॉर्म आयनिक पर काम कर रहे थे, लेकिन फिर अपग्रेड किए गए आयनिक संस्करण और इनपुट इवेंट काम नहीं कर रहे थे, इसलिए मुझे लगा कि त्रुटियाँ बैकएंड पर थीं। या ऐप का परीक्षण करने के बाद मुझे एहसास हुआ कि मैं अब सफारी पर लॉग नहीं देख सकता क्योंकि मैंने अपना फोन अपडेट कर दिया है और वह सुविधा अब ऐप्पल द्वारा समर्थित नहीं है। या ऐप का एक नया संस्करण बनाने का प्रयास कर रहा हूं लेकिन असफल रहा क्योंकि xcode अपडेट हो गया है और मेरे कोड में कुछ बदलने की आवश्यकता है। वे वास्तव में निराशाजनक क्षण और समय लेने वाले थे। कम से कम यह केवल विकास के दौरान ही हुआ 👍।
  5. एंड्रॉइड पर Google लॉगिन: यह ऐप के बग्स में से एक है, एंड्रॉइड उपयोगकर्ता सचमुच Google पद्धति का उपयोग करके लॉगिन नहीं कर सकते हैं। यह एक पागल बग था क्योंकि यह उत्पादन में हुआ था। हालाँकि यह वास्तव में सरल था, जब मोबाइल विकास की बात आती है तो यह सीखने की प्रक्रिया का भी हिस्सा था। पता चला कि Google लॉगिन के लिए दो प्रकार की कुंजियाँ आवश्यक हैं, एक विकास पर जिसे फ़ायरबेस पर स्थापित किया गया है, और दूसरी उत्पादन पर जिसे फ़ायरबेस में भी स्थापित करने की आवश्यकता है। यहां मुद्दा यह है कि Google Play Store वास्तव में एक उत्पादन कुंजी उत्पन्न करता है जिसे विकास कुंजी को बदलने की आवश्यकता होती है। मेरे पास यह जानने का कोई तरीका नहीं था और परिणामस्वरूप यह पता लगाने में घंटों लग गए कि समस्या क्या थी। एक बार जब मुझे पता चल गया कि चाबियाँ बदलने की जरूरत है तो इसे ठीक करने में 30 सेकंड से भी कम समय लगा।
  6. लिख रहा हूँ: ...यह वास्तव में एक रोलर कोस्टर था। मुख्य मुद्दा सिर्फ ऐसे संपादक को ढूंढना था जो मोबाइल और आयोनिक पर काम करेगा। मैंने लगभग 20 अलग-अलग संपादकों को आज़माया, और उनमें से अधिकांश वेब पर पूरी तरह से काम करते हुए मोबाइल पर विफल रहे। कुछ ने कीबोर्ड लोड नहीं किया, कुछ ने अलग-अलग अक्षर लिखे जिन्हें दबाया जा रहा था, और कुछ इंस्टॉल ही नहीं हो सके। जब आख़िरकार मुझे एक ऐसा मिला जो काम करता था, तो टाइप करते समय यह बहुत धीमा था इसलिए यह वास्तव में थकाऊ था। शुक्र है, मैंने इसे एक अन्य संपादक, क्विलजेएस (!) पर आज़माया, और यह अपेक्षा से बेहतर काम कर रहा है। वास्तव में वही संपादक है जिसका उपयोग मैं यह कहानी लिखने के लिए कर रहा हूँ। इस सुविधा ने मूल रूप से नए अपडेट जारी होने से रोक दिया क्योंकि हम वास्तव में उपयोगकर्ताओं को मोबाइल ऐप पर लिखने की अनुमति देना चाहते थे।

मुझे क्या पसंद आया?

पूरी विकास प्रक्रिया बहुत अच्छी थी और मैं निश्चित रूप से अन्य डेवलपर्स को भी इसे आज़माने की सलाह देता हूँ। जितना अधिक मैंने ऐप के साथ काम किया उतना अधिक मुझे इसकी आदत हो गई और विकास प्रक्रिया के साथ और अधिक सहज हो गया। मेरे फोन पर ऐप देखना और सभी पेजों पर नेविगेट करना वास्तव में संतोषजनक था। मेरे लिए सबसे प्रभावशाली विशेषता प्लेलिस्ट/प्लेयर थी क्योंकि यह HackerNoon द्वारा बनाई गई कुछ जैविक चीज़ थी और ऐप की मुख्य विशेषताओं में से एक थी। पुश नोटिफिकेशन वह सुविधा थी जिसे मैंने संभवतः सबसे अधिक सीखा क्योंकि यह बिल्कुल नया था और मुझे यह देखने को मिला कि मोबाइल नोटिफिकेशन कैसे काम करते हैं, और इस तरह के ज्ञान को निश्चित रूप से भविष्य में अन्य सुविधाओं पर लागू किया जा सकता है।


यदि आपके पास यह अभी तक नहीं है, तो कृपया ऐप डाउनलोड करें और टिप्पणियों में अपने विचार साझा करें ⬇️। ✌️

यहाँ Apple संस्करण है:


यहाँ Android संस्करण है: