2025 में Android ऐप बनाना
(dev.to)आज के मानकों के अनुसार Android ऐप डेवलपमेंट वातावरण का परिचय
- बिल्ड : gradle
- बिल्ड सेटिंग: convention plugin
- dependency मैनेजमेंट : version catalog
- build cache का परिचय
- बिल्ड परफ़ॉर्मेंस विश्लेषण : build-scan
- मॉड्यूल संरचना : feature के अनुसार विभाजन
- networking - retrofit
- json mapping - kotlinx serialization
- persistent data storage - jetpack datastore, room
- DI - koin
- image loader - coil
- UI - compose
- View और ViewModel के बीच communication - flow
- code quality management - ktlint , konsist
- unit test - junit 4
7 टिप्पणियां
अच्छे लेख के लिए धन्यवाद
अगर संयोग से Android app build engineer के तौर पर टिक गए किसी व्यक्ति की राय छोड़ूँ तो..
चाहे वह बहुत बड़ा हो या जटिल, gradle ही इस्तेमाल करना चाहिए... (दूर देखते हुए) बहुत बड़े या जटिल प्रोजेक्ट्स में gradle की build performance बेहतर करने के लिए नीचे दिए गए प्रोजेक्ट्स पर काम चल रहा है, इसलिए अगर आप बड़े प्रोजेक्ट में gradle इस्तेमाल कर रहे हैं, तो पहले से migration की तैयारी कर लेना अच्छा रहेगा.
मेरी निजी राय में architecture layer को बेवजह build system में उजागर करने की ज़रूरत नहीं है. मेरे द्वारा मैनेज किए जाने वाले app में feature-api / feature-impl मॉड्यूल को build system में उजागर करने की संरचना रखी गई है.
इस तरह संरचना करने पर feature-impl के code changes का feature-api को refer करने वाले दूसरे मॉड्यूल्स पर असर नहीं पड़ता (dependency isolation), इसलिए incremental build या build cache hit rate बढ़ाने में काफी मदद मिलती है.
लगता है इसमें Google के फैसले ने बड़ी भूमिका निभाई है.
लेकिन अगर नवीनतम तकनीक(?) अपनानी हो, तो कई बार JUnit4 अड़चन बन जाता है, इसलिए व्यक्तिगत रूप से मेरी एक छोटी-सी इच्छा है कि JUnit5 पर माइग्रेशन हो जाए।
https://docs.gradle.com/develocity/test-distribution/
junit-vintage-engineका इस्तेमाल करने पर बिना बड़े बदलाव के JUnit4 tests को JUnit5 में चलाया जा सकता है, लेकिन overhead काफ़ी ज़्यादा है। (लगभग 20% तक धीमा हो जाता है)वाह, हमारे परिवार के लिए गर्व की बात है।
मैं Wilson हूँ!
हम्म.. वैसे हाल के कुछ वर्षों में एक अजीब-सी प्रवृत्ति देखी जा रही है कि ज़्यादातर startup Flutter चुनते हैं, जबकि META, OpenAI जैसी बड़ी कंपनियाँ native की ओर जा रही हैं..
संयोग से मैं भी इस साल एक Android ऐप बनाने की सोच रहा हूँ, इसलिए यह एक उपयोगी गाइड साबित हुई। हाहा